react-native-firework-sdk 2.15.2 → 2.16.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/fireworksdk/bridge/components/videofeed/FWVideoFeed.kt +1 -2
- package/android/src/main/java/com/fireworksdk/bridge/models/FWShoppingCustomCta.kt +7 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModel.kt +1 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModelDeserializer.kt +3 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModelSerializer.kt +2 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModel.kt +1 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt +5 -1
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt +2 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWEventName.kt +1 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FWVideoShoppingModule.kt +10 -2
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/utils/FWEventUtils.kt +20 -1
- package/android/src/main/java/com/fireworksdk/bridge/utils/FWConfigUtil.kt +7 -0
- package/android/src/main/java/com/fireworksdk/bridge/utils/FWModelUtils.kt +18 -1
- package/ios/Components/StoryBlock.swift +1 -1
- package/ios/Components/VideoFeed.swift +1 -1
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +1 -0
- package/ios/Modules/Shopping/ShoppingModule.swift +12 -0
- package/lib/commonjs/FireworkSDK.js +16 -14
- package/lib/commonjs/FireworkSDK.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/MarkInitCalledOptions.js +2 -0
- package/lib/commonjs/models/MarkInitCalledOptions.js.map +1 -0
- package/lib/module/FireworkSDK.js +17 -14
- package/lib/module/FireworkSDK.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/MarkInitCalledOptions.js +2 -0
- package/lib/module/models/MarkInitCalledOptions.js.map +1 -0
- package/lib/typescript/FireworkSDK.d.ts +4 -8
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/models/FWEvents.d.ts +18 -0
- package/lib/typescript/models/MarkInitCalledOptions.d.ts +6 -0
- package/lib/typescript/models/VideoPlayerConfiguration.d.ts +0 -1
- package/package.json +1 -1
- package/react-native-firework-sdk.podspec +2 -2
- package/src/FireworkSDK.ts +20 -14
- package/src/index.ts +2 -0
- package/src/models/FWEvents.ts +22 -0
- package/src/models/MarkInitCalledOptions.ts +6 -0
- package/src/models/VideoPlayerConfiguration.ts +0 -1
|
@@ -2,7 +2,6 @@ package com.fireworksdk.bridge.components.videofeed
|
|
|
2
2
|
|
|
3
3
|
import android.content.Context
|
|
4
4
|
import android.util.AttributeSet
|
|
5
|
-
import android.view.ViewGroup
|
|
6
5
|
import android.widget.FrameLayout
|
|
7
6
|
import com.firework.error.FwErrorListener
|
|
8
7
|
import com.firework.videofeed.FeedViewStateListener
|
|
@@ -29,7 +28,7 @@ class FWVideoFeed(
|
|
|
29
28
|
init {
|
|
30
29
|
FWLanguageUtil.getInstance(context).updateBaseContextLocale(context)
|
|
31
30
|
videoFeedView.layoutDirection = LAYOUT_DIRECTION_LOCALE
|
|
32
|
-
addView(videoFeedView, LayoutParams(
|
|
31
|
+
addView(videoFeedView, LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT))
|
|
33
32
|
}
|
|
34
33
|
|
|
35
34
|
fun setVideoFeedLayoutParams(l: LayoutParams?) {
|
package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModelDeserializer.kt
CHANGED
|
@@ -7,6 +7,7 @@ object FWVideoFeedConfigModelDeserializer {
|
|
|
7
7
|
|
|
8
8
|
private const val BACKGROUND_COLOR_KEY = "backgroundColor"
|
|
9
9
|
private const val CORNER_RADIUS_KEY = "cornerRadius"
|
|
10
|
+
private const val ASPECT_RATIO_KEY = "aspectRatio"
|
|
10
11
|
private const val TITLE_KEY = "title"
|
|
11
12
|
private const val TITLE_POSITION_KEY = "titlePosition"
|
|
12
13
|
private const val PLAY_ICON_KEY = "playIcon"
|
|
@@ -29,6 +30,7 @@ object FWVideoFeedConfigModelDeserializer {
|
|
|
29
30
|
|
|
30
31
|
val backgroundColor = if (responseJson.has(BACKGROUND_COLOR_KEY)) responseJson.optString(BACKGROUND_COLOR_KEY) else null
|
|
31
32
|
val cornerRadius = if (!responseJson.isNull(CORNER_RADIUS_KEY)) responseJson.optInt(CORNER_RADIUS_KEY) else null
|
|
33
|
+
val aspectRatio = if (!responseJson.isNull(ASPECT_RATIO_KEY)) responseJson.optDouble(ASPECT_RATIO_KEY) else null
|
|
32
34
|
val title = if (responseJson.has(TITLE_KEY)) deserializeTitle(responseJson.optJSONObject(TITLE_KEY)) else null
|
|
33
35
|
val titlePosition = if (responseJson.has(TITLE_POSITION_KEY)) responseJson.optString(TITLE_POSITION_KEY) else null
|
|
34
36
|
val playIcon = if (responseJson.has(PLAY_ICON_KEY)) deserializePlayIcon(responseJson.optJSONObject(PLAY_ICON_KEY)) else null
|
|
@@ -47,6 +49,7 @@ object FWVideoFeedConfigModelDeserializer {
|
|
|
47
49
|
enableAutoplay = enableAutoplay,
|
|
48
50
|
gridColumns = gridColumns,
|
|
49
51
|
itemSpacing = itemSpacing,
|
|
52
|
+
aspectRatio = aspectRatio,
|
|
50
53
|
)
|
|
51
54
|
}
|
|
52
55
|
|
package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModelSerializer.kt
CHANGED
|
@@ -7,6 +7,7 @@ object FWVideoFeedConfigModelSerializer {
|
|
|
7
7
|
|
|
8
8
|
private const val BACKGROUND_COLOR_KEY = "backgroundColor"
|
|
9
9
|
private const val CORNER_RADIUS_KEY = "cornerRadius"
|
|
10
|
+
private const val ASPECT_RATIO_KEY = "aspectRatio"
|
|
10
11
|
private const val TITLE_KEY = "title"
|
|
11
12
|
private const val TITLE_POSITION_KEY = "titlePosition"
|
|
12
13
|
private const val PLAY_ICON_KEY = "playIcon"
|
|
@@ -29,6 +30,7 @@ object FWVideoFeedConfigModelSerializer {
|
|
|
29
30
|
val jsonObject = JSONObject()
|
|
30
31
|
jsonObject.put(BACKGROUND_COLOR_KEY, model.backgroundColor)
|
|
31
32
|
jsonObject.put(CORNER_RADIUS_KEY, model.cornerRadius)
|
|
33
|
+
jsonObject.put(ASPECT_RATIO_KEY, model.aspectRatio)
|
|
32
34
|
jsonObject.put(TITLE_KEY, serializeTitle(model.title))
|
|
33
35
|
jsonObject.put(TITLE_POSITION_KEY, FWVideoFeedTitlePosition.serialize(model.titlePosition))
|
|
34
36
|
jsonObject.put(PLAY_ICON_KEY, serializePlayIcon(model.playIcon))
|
package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt
CHANGED
|
@@ -38,6 +38,7 @@ object FWVideoPlayerConfigModelDeserializer {
|
|
|
38
38
|
private const val SHOW_FULL_SCREEN_ICON = "enableFullScreen"
|
|
39
39
|
private const val ENABLE_AUTOPLAY = "enableAutoplay"
|
|
40
40
|
private const val ENABLE_AUTOPAUSE = "enableAutopause"
|
|
41
|
+
private const val ENABLE_SMALL_SIZE_IN_COMPACT = "enableSmallSizeInCompact"
|
|
41
42
|
|
|
42
43
|
fun deserialize(responseJson: JSONObject?): FWVideoPlayerConfigModel? {
|
|
43
44
|
responseJson ?: return null
|
|
@@ -66,6 +67,8 @@ object FWVideoPlayerConfigModelDeserializer {
|
|
|
66
67
|
if (responseJson.has(ENABLE_AUTOPLAY)) responseJson.optBoolean(ENABLE_AUTOPLAY) else null
|
|
67
68
|
val enableAutoPause =
|
|
68
69
|
if (responseJson.has(ENABLE_AUTOPAUSE)) responseJson.optBoolean(ENABLE_AUTOPAUSE) else null
|
|
70
|
+
val enableSmallSizeInCompact =
|
|
71
|
+
if (responseJson.has(ENABLE_SMALL_SIZE_IN_COMPACT)) responseJson.optBoolean(ENABLE_SMALL_SIZE_IN_COMPACT) else null
|
|
69
72
|
|
|
70
73
|
return FWVideoPlayerConfigModel(
|
|
71
74
|
playerStyle = if (!playerStyle.isNullOrBlank()) FWPlayerStyle.deserialize(playerStyle) else null,
|
|
@@ -88,7 +91,8 @@ object FWVideoPlayerConfigModelDeserializer {
|
|
|
88
91
|
cancelButtonStyle = FWActionButtonDeserializer.deserialize(cancelButtonStyleJsonObject),
|
|
89
92
|
showFullScreenIcon = showFullScreenIcon,
|
|
90
93
|
enableAutoPlay = enableAutoPlay,
|
|
91
|
-
enableAutoPause = enableAutoPause
|
|
94
|
+
enableAutoPause = enableAutoPause,
|
|
95
|
+
enableSmallSizeInCompact = enableSmallSizeInCompact
|
|
92
96
|
)
|
|
93
97
|
}
|
|
94
98
|
|
package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt
CHANGED
|
@@ -38,6 +38,7 @@ object FWVideoPlayerConfigModelSerializer {
|
|
|
38
38
|
private const val SHOW_FULL_SCREEN_ICON = "enableFullScreen"
|
|
39
39
|
private const val ENABLE_AUTOPLAY = "enableAutoplay"
|
|
40
40
|
private const val ENABLE_AUTOPAUSE = "enableAutopause"
|
|
41
|
+
private const val ENABLE_SMALL_SIZE_IN_COMPACT = "enableSmallSizeInCompact"
|
|
41
42
|
|
|
42
43
|
|
|
43
44
|
fun serialize(model: FWVideoPlayerConfigModel?): JSONObject? {
|
|
@@ -64,6 +65,7 @@ object FWVideoPlayerConfigModelSerializer {
|
|
|
64
65
|
jsonObject.put(SHOW_FULL_SCREEN_ICON, model.showFullScreenIcon)
|
|
65
66
|
jsonObject.put(ENABLE_AUTOPLAY, model.enableAutoPlay)
|
|
66
67
|
jsonObject.put(ENABLE_AUTOPAUSE, model.enableAutoPause)
|
|
68
|
+
jsonObject.put(ENABLE_SMALL_SIZE_IN_COMPACT, model.enableSmallSizeInCompact)
|
|
67
69
|
return jsonObject
|
|
68
70
|
}
|
|
69
71
|
|
|
@@ -7,6 +7,7 @@ enum class FWEventName(val rawValue: String) {
|
|
|
7
7
|
VideoFeedClick("fw:video-feed-click"),
|
|
8
8
|
LiveStream("fw:livestream"),
|
|
9
9
|
LiveStreamChat("fw:livestream-chat"),
|
|
10
|
+
LiveStreamLinkInteractionClick("fw:livestream:custom-link-interaction-click"),
|
|
10
11
|
LogMessage("fw:log-message"),
|
|
11
12
|
CustomShareURL("fw:custom-share-url")
|
|
12
13
|
}
|
package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FWVideoShoppingModule.kt
CHANGED
|
@@ -289,8 +289,16 @@ class FWVideoShoppingModule(
|
|
|
289
289
|
ctaHandler = Triple(callbackId, productId, unitId)
|
|
290
290
|
|
|
291
291
|
val videoPlaybackDetails = FWModelUtils.convertVideoInfo2PlaybackDetails(videoInfo)
|
|
292
|
-
|
|
293
|
-
|
|
292
|
+
val customCtaDetails = FWModelUtils.convertVideoInfo2CustomCta(product)
|
|
293
|
+
|
|
294
|
+
FWEventUtils.sendShoppingCtaButtonClickEvent(
|
|
295
|
+
reactContext = reactApplicationContext,
|
|
296
|
+
productId = productId,
|
|
297
|
+
unitId = unitId,
|
|
298
|
+
url = productWebUrl,
|
|
299
|
+
info = videoPlaybackDetails,
|
|
300
|
+
customCta = customCtaDetails,
|
|
301
|
+
callbackId = callbackId)
|
|
294
302
|
}
|
|
295
303
|
|
|
296
304
|
FireworkSdk.shopping.setOnShoppingErrorListener(
|
|
@@ -90,6 +90,14 @@ object FWEventUtils {
|
|
|
90
90
|
return contentMap
|
|
91
91
|
}
|
|
92
92
|
|
|
93
|
+
private fun convertCustomCta2Map(info: FWShoppingCustomCta): WritableMap {
|
|
94
|
+
val contentMap = Arguments.createMap()
|
|
95
|
+
contentMap.putString("url", info.url)
|
|
96
|
+
contentMap.putString("titleKey", info.titleKey)
|
|
97
|
+
contentMap.putString("title", info.title)
|
|
98
|
+
return contentMap
|
|
99
|
+
}
|
|
100
|
+
|
|
93
101
|
private fun convertVideoPlaybackDetails2Map(info: FWVideoPlaybackDetails?): WritableMap {
|
|
94
102
|
val contentMap = Arguments.createMap()
|
|
95
103
|
if (!info?.id.isNullOrBlank()) {
|
|
@@ -129,13 +137,24 @@ object FWEventUtils {
|
|
|
129
137
|
return contentMap;
|
|
130
138
|
}
|
|
131
139
|
|
|
132
|
-
fun sendShoppingCtaButtonClickEvent(
|
|
140
|
+
fun sendShoppingCtaButtonClickEvent(
|
|
141
|
+
reactContext: ReactContext,
|
|
142
|
+
productId: String?,
|
|
143
|
+
unitId: String?,
|
|
144
|
+
url: String?,
|
|
145
|
+
info: FWVideoPlaybackDetails?,
|
|
146
|
+
customCta: FWShoppingCustomCta?,
|
|
147
|
+
callbackId: Int?
|
|
148
|
+
) {
|
|
133
149
|
val eventMap = Arguments.createMap()
|
|
134
150
|
eventMap.putString("productId", productId)
|
|
135
151
|
eventMap.putString("unitId", unitId)
|
|
136
152
|
eventMap.putString("url", url)
|
|
137
153
|
eventMap.putInt("callbackId", callbackId?:0)
|
|
138
154
|
eventMap.putMap("video", convertVideoPlaybackDetails2Map(info))
|
|
155
|
+
customCta?.let {
|
|
156
|
+
eventMap.putMap("customCTA", convertCustomCta2Map(it))
|
|
157
|
+
}
|
|
139
158
|
sendEvent(reactContext, FWVideoShoppingEventName.CtaButtonClick.rawValue, eventMap)
|
|
140
159
|
}
|
|
141
160
|
|
|
@@ -151,6 +151,11 @@ object FWConfigUtil {
|
|
|
151
151
|
.roundedCornerRadius(FWCommonUtil.dpToPx(cornerRadius.toFloat(), context))
|
|
152
152
|
}
|
|
153
153
|
|
|
154
|
+
val aspectRatio = videoFeedPropsModel.videoFeedConfiguration?.aspectRatio
|
|
155
|
+
if (aspectRatio != null && aspectRatio > 0) {
|
|
156
|
+
layoutOptionBuilder.aspectRatio(aspectRatio)
|
|
157
|
+
}
|
|
158
|
+
|
|
154
159
|
val title = videoFeedPropsModel.videoFeedConfiguration?.title
|
|
155
160
|
if (title != null) {
|
|
156
161
|
val titleHidden = title.hidden
|
|
@@ -563,6 +568,8 @@ object FWConfigUtil {
|
|
|
563
568
|
storyblockOptionBuilder.showFullScreenIcon(showFullScreenIcon)}
|
|
564
569
|
videoFeedPropsModel.videoPlayerConfiguration?.enableAutoPause?.let { enableAutoPause ->
|
|
565
570
|
storyblockOptionBuilder.enableAutoPause(enableAutoPause)}
|
|
571
|
+
videoFeedPropsModel.videoPlayerConfiguration?.enableSmallSizeInCompact?.let { enableSmallSizeInCompact ->
|
|
572
|
+
storyblockOptionBuilder.enableSmallSizeInCompact(enableSmallSizeInCompact)}
|
|
566
573
|
|
|
567
574
|
playerOptionBuilder.shareUrlCustomCallBack(FWGlobalDataUtil.customShareUrlCallback)
|
|
568
575
|
|
|
@@ -5,7 +5,9 @@ import com.firework.analyticsevents.VideoType
|
|
|
5
5
|
import com.firework.analyticsevents.cta.CtaButtonClickAnalyticsEvent
|
|
6
6
|
import com.firework.analyticsevents.player.PlayerLifecycleAnalyticsEvent
|
|
7
7
|
import com.firework.analyticsevents.share.ShareButtonAnalyticsEvent
|
|
8
|
+
import com.firework.common.product.Product
|
|
8
9
|
import com.fireworksdk.bridge.models.FWLiveStreamEventDetailsModel
|
|
10
|
+
import com.fireworksdk.bridge.models.FWShoppingCustomCta
|
|
9
11
|
import com.fireworksdk.bridge.models.FWVideoPlaybackDetails
|
|
10
12
|
|
|
11
13
|
object FWModelUtils {
|
|
@@ -45,6 +47,21 @@ object FWModelUtils {
|
|
|
45
47
|
)
|
|
46
48
|
}
|
|
47
49
|
|
|
50
|
+
fun convertVideoInfo2CustomCta(product: Product?): FWShoppingCustomCta? {
|
|
51
|
+
val url = product?.customCTAUrl
|
|
52
|
+
val title = product?.customCTATitleTranslation
|
|
53
|
+
val titleKey = product?.customCTATitle
|
|
54
|
+
return if (!url.isNullOrBlank() && !titleKey.isNullOrBlank() && !title.isNullOrBlank() && product.isCustomCtaPrimary) {
|
|
55
|
+
FWShoppingCustomCta(
|
|
56
|
+
url = url,
|
|
57
|
+
titleKey = titleKey,
|
|
58
|
+
title = title,
|
|
59
|
+
)
|
|
60
|
+
} else {
|
|
61
|
+
null
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
|
|
48
65
|
fun convertVideoInfo2LivestreamDetails(videoInfo: VideoInfo): FWLiveStreamEventDetailsModel {
|
|
49
66
|
return FWLiveStreamEventDetailsModel(
|
|
50
67
|
id = videoInfo.id,
|
|
@@ -101,4 +118,4 @@ object FWModelUtils {
|
|
|
101
118
|
)
|
|
102
119
|
}
|
|
103
120
|
|
|
104
|
-
}
|
|
121
|
+
}
|
|
@@ -79,7 +79,7 @@ public class StoryBlock: UIView, StoryBlockViewControllerDelegate, PictureInPict
|
|
|
79
79
|
case .sku:
|
|
80
80
|
return .skuPlaylist(channelID: channel, productIDs: (productIds as? [String]) ?? [])
|
|
81
81
|
case .singleContent:
|
|
82
|
-
return .singleContent(
|
|
82
|
+
return .singleContent(contentID: contentId)
|
|
83
83
|
}
|
|
84
84
|
}
|
|
85
85
|
private var isInPip: Bool = false
|
|
@@ -105,7 +105,7 @@ public class VideoFeed: UIView, VideoFeedViewControllerDelegate, PictureInPictur
|
|
|
105
105
|
case .sku:
|
|
106
106
|
return .skuPlaylist(channelID: channel, productIDs: (productIds as? [String]) ?? [])
|
|
107
107
|
case .singleContent:
|
|
108
|
-
return .singleContent(
|
|
108
|
+
return .singleContent(contentID: contentId)
|
|
109
109
|
}
|
|
110
110
|
}
|
|
111
111
|
|
|
@@ -230,6 +230,18 @@ class ShoppingModule: RCTEventEmitter, FireworkVideoShoppingDelegate {
|
|
|
230
230
|
var body = item.jsObject
|
|
231
231
|
body["callbackId"] = callbackId
|
|
232
232
|
body["video"] = video.jsObject
|
|
233
|
+
if let product = item.product,
|
|
234
|
+
product.hasCustomPrimaryCTA,
|
|
235
|
+
let customCTA = product.customCTA,
|
|
236
|
+
let url = customCTA.url,
|
|
237
|
+
let title = customCTA.title,
|
|
238
|
+
let titleTranslation = customCTA.titleTranslation {
|
|
239
|
+
body["customCTA"] = [
|
|
240
|
+
"url": url,
|
|
241
|
+
"titleKey": title,
|
|
242
|
+
"title": titleTranslation
|
|
243
|
+
]
|
|
244
|
+
}
|
|
233
245
|
sendEvent(
|
|
234
246
|
withName: ShoppingEventName.ctaButtonClick.rawValue,
|
|
235
247
|
body: body)
|
|
@@ -330,30 +330,26 @@ class FireworkSDK {
|
|
|
330
330
|
await this.completeRemainingInitialization();
|
|
331
331
|
}
|
|
332
332
|
/**
|
|
333
|
-
*
|
|
334
|
-
|
|
335
|
-
|
|
336
|
-
/**
|
|
337
|
-
* You need to call this method when you call init method in native side.
|
|
338
|
-
* @param nativeLazyInit
|
|
339
|
-
* Genenally, you should call naitve init in application(:, didFinishLaunchingWithOptions:) -> Bool on iOS
|
|
340
|
-
* and MainApplication.onCreate on Android. If not, you should pass nativeLazyInit as true.
|
|
333
|
+
* Mark the initialization method as being called on the JS side.
|
|
334
|
+
* @param {MarkInitCalledOptions} options
|
|
341
335
|
*/
|
|
342
336
|
|
|
343
337
|
|
|
344
338
|
async markInitCalled() {
|
|
345
|
-
let
|
|
339
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
340
|
+
directlyCallNativeInit: false
|
|
341
|
+
};
|
|
346
342
|
|
|
347
343
|
_FWLoggerUtil.default.log('Call FireworkSDK markInitCalled method');
|
|
348
344
|
|
|
349
|
-
if (
|
|
350
|
-
await this.completeRemainingInitialization();
|
|
345
|
+
if (options.directlyCallNativeInit) {
|
|
346
|
+
await this.completeRemainingInitialization(options);
|
|
351
347
|
await _FireworkSDKModule.default.markInitCalled();
|
|
352
348
|
} else {
|
|
353
349
|
const hasCalledSDKInit = await _FireworkSDKModule.default.markInitCalled();
|
|
354
350
|
|
|
355
351
|
if (hasCalledSDKInit) {
|
|
356
|
-
await this.completeRemainingInitialization();
|
|
352
|
+
await this.completeRemainingInitialization(options);
|
|
357
353
|
}
|
|
358
354
|
}
|
|
359
355
|
}
|
|
@@ -442,14 +438,20 @@ class FireworkSDK {
|
|
|
442
438
|
}
|
|
443
439
|
|
|
444
440
|
async completeRemainingInitialization() {
|
|
441
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
442
|
+
directlyCallNativeInit: false
|
|
443
|
+
};
|
|
444
|
+
|
|
445
445
|
if (_FWGlobalState.default.getInstance().sdkInitCalled) {
|
|
446
446
|
return;
|
|
447
447
|
}
|
|
448
448
|
|
|
449
449
|
_FWGlobalState.default.getInstance().resolveSdkInitCalled();
|
|
450
450
|
|
|
451
|
-
|
|
452
|
-
|
|
451
|
+
if (!options.directlyCallNativeInit) {
|
|
452
|
+
await _ShoppingModule.default.init();
|
|
453
|
+
await _LiveStreamModule.default.init();
|
|
454
|
+
}
|
|
453
455
|
}
|
|
454
456
|
|
|
455
457
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FireworkSDK.ts"],"names":["FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","Platform","OS","FireworkSDKModule","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","FWLoggerUtil","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","setAdBadgeConfiguration","then","eventEmitter","emit","FWEventName","AdBadgeConfigurationUpdated","appLanguage","_appLanguage","dataTrackingLevel","_dataTrackingLevel","setDataTrackingLevel","DataTrackingLevelUpdated","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","livestreamPlayerDesignVersion","_livestreamPlayerDesignVersion","setLivestreamPlayerDesignVersion","LivestreamPlayerDesignVersionUpdated","FireworkSDKModuleEventEmitter","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","LivestreamPlayerDesignVersion","v1","VideoShopping","LiveStream","FWNavigator","addListener","SDKInit","event","error","completeRemainingInitialization","hasCalledSDKInitCallback","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","callbackId","playerHandler","pause","pausePlayer","resume","resumePlayer","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","markInitCalled","nativeLazyInit","hasCalledSDKInit","openVideoPlayer","config","FWGlobalState","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","getComponentType","feedId","componentTypeByFeedIdMap","get","AppLanguageUpdated","shareBaseURLChanged","setShareBaseURL","ShareBaseURLUpdated","resolveSdkInitCalled","ShoppingModule","LiveStreamModule"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, Platform } from 'react-native';\n\nimport FWNavigator from './FWNavigator';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport FireworkSDKModule, {\n FireworkSDKModuleEventEmitter,\n} from './modules/FireworkSDKModule';\nimport LiveStreamModule from './modules/LiveStreamModule';\nimport ShoppingModule from './modules/ShoppingModule';\nimport FWGlobalState from './utils/FWGlobalState';\nimport FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\n\nexport type SDKInitCallback = (event: SDKInitEvent) => Promise<void> | void;\nexport type CustomCTAClickCallback = (\n event: CustomCTAClickEvent\n) => Promise<void> | void;\nexport type VideoPlaybackCallback = (\n event: VideoPlaybackEvent\n) => Promise<void> | void;\nexport type VideoFeedClickCallback = (\n event: VideoFeedClickEvent\n) => Promise<void> | void;\n\n/**\n * Firework SDK.\n */\nclass FireworkSDK {\n private static _instance?: FireworkSDK;\n\n /**\n * The callback of SDK initialization.\n */\n public onSDKInit?: SDKInitCallback;\n\n /**\n * the callback of clicking Video Feed.\n */\n public get onVideoFeedClick(): VideoFeedClickCallback | undefined {\n return this._onVideoFeedClick;\n }\n public set onVideoFeedClick(value: VideoFeedClickCallback | undefined) {\n this._onVideoFeedClick = value;\n if (Platform.OS === 'ios') {\n FireworkSDKModule.setVideoFeedClickCallbackEnabled(!!value);\n }\n }\n private _onVideoFeedClick?: VideoFeedClickCallback | undefined;\n\n /**\n * The callback of clicking custom CTA.\n */\n public get onCustomCTAClick(): CustomCTAClickCallback | undefined {\n return this._onCustomCTAClick;\n }\n public set onCustomCTAClick(value: CustomCTAClickCallback | undefined) {\n FWLoggerUtil.log(`Set onCustomCTAClick callback ${!!value}`);\n this._onCustomCTAClick = value;\n FireworkSDKModule.setCustomCTAClickEnabled(value ? true : false);\n }\n private _onCustomCTAClick: CustomCTAClickCallback | undefined;\n\n /**\n * The callback of video playback.\n */\n public get onVideoPlayback(): VideoPlaybackCallback | undefined {\n return this._onVideoPlayback;\n }\n public set onVideoPlayback(value: VideoPlaybackCallback | undefined) {\n this._onVideoPlayback = value;\n FireworkSDKModule.setVideoPlaybackEventEnabled(value ? true : false);\n }\n private _onVideoPlayback?: VideoPlaybackCallback | undefined;\n\n /**\n * The global share base URL of the video.\n * The {@link VideoPlayerConfiguration.shareBaseURL} in {@link VideoPlayerConfiguration} will override this.\n */\n public get shareBaseURL(): string | undefined {\n return this._shareBaseURL;\n }\n public set shareBaseURL(value: string | undefined) {\n this.updateInternalShareBaseURL(value);\n }\n private _shareBaseURL: string | undefined;\n\n /**\n * The configuration for ad badges.\n */\n public get adBadgeConfiguration(): AdBadgeConfiguration | undefined {\n return this._adBadgeConfiguration;\n }\n public set adBadgeConfiguration(value: AdBadgeConfiguration | undefined) {\n const valueHasChanged =\n this._adBadgeConfiguration?.badgeTextType !== value?.badgeTextType ||\n this._adBadgeConfiguration?.backgroundColor !== value?.backgroundColor ||\n this._adBadgeConfiguration?.textColor !== value?.textColor ||\n this._adBadgeConfiguration?.androidFontInfo?.isCustom !==\n value?.androidFontInfo?.isCustom ||\n this._adBadgeConfiguration?.androidFontInfo?.typefaceName !==\n value?.androidFontInfo?.typefaceName;\n this._adBadgeConfiguration = value;\n\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {}).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n });\n }\n private _adBadgeConfiguration: AdBadgeConfiguration | undefined;\n\n public get appLanguage(): string | undefined | null {\n return this._appLanguage;\n }\n private _appLanguage: string | undefined | null;\n\n /**\n * The configuration for data tracking level.\n */\n public get dataTrackingLevel(): DataTrackingLevel {\n return this._dataTrackingLevel;\n }\n public set dataTrackingLevel(value: DataTrackingLevel) {\n const valueHasChanged = this._dataTrackingLevel !== value;\n this._dataTrackingLevel = value;\n FireworkSDKModule.setDataTrackingLevel(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.DataTrackingLevelUpdated);\n }\n });\n }\n private _dataTrackingLevel: DataTrackingLevel = 'all';\n\n /**\n * Defaults to false.\n * You can enable debug logs by setting this property to true.\n */\n public get debugLogsEnabled(): boolean {\n return FWLoggerUtil.enabled;\n }\n public set debugLogsEnabled(value: boolean) {\n FWLoggerUtil.enabled = value;\n }\n\n /**\n * Get video launch behavior.\n */\n public get videoLaunchBehavior(): VideoLaunchBehavior | undefined {\n return this._videoLaunchBehavior;\n }\n private _videoLaunchBehavior: VideoLaunchBehavior | undefined;\n\n /**\n * The version of the livestream player design.\n */\n public get livestreamPlayerDesignVersion(): LivestreamPlayerDesignVersion {\n return this._livestreamPlayerDesignVersion;\n }\n public set livestreamPlayerDesignVersion(\n value: LivestreamPlayerDesignVersion\n ) {\n const valueHasChanged = this._livestreamPlayerDesignVersion !== value;\n this._livestreamPlayerDesignVersion = value;\n FireworkSDKModule.setLivestreamPlayerDesignVersion(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(\n FWEventName.LivestreamPlayerDesignVersionUpdated\n );\n }\n });\n }\n private _livestreamPlayerDesignVersion: LivestreamPlayerDesignVersion =\n LivestreamPlayerDesignVersion.v1;\n\n private get eventEmitter(): NativeEventEmitter {\n return FireworkSDKModuleEventEmitter;\n }\n\n /**\n * Get VideoShopping object.\n */\n public get shopping(): VideoShopping {\n return this._shopping;\n }\n private _shopping: VideoShopping = VideoShopping.getInstance();\n\n /**\n * Get LiveStream object.\n */\n public get liveStream(): LiveStream {\n return this._liveStream;\n }\n private _liveStream: LiveStream = LiveStream.getInstance();\n\n /**\n * Get FWNavigator object.\n */\n public get navigator(): FWNavigator {\n return this._navigator;\n }\n private _navigator: FWNavigator = FWNavigator.getInstance();\n\n private hasCalledSDKInitCallback: boolean = false;\n\n /**\n * Get global single instance of FireworkSDK class.\n * @returns FireworkSDK\n */\n public static getInstance() {\n if (!FireworkSDK._instance) {\n FireworkSDK._instance = new FireworkSDK();\n }\n\n return FireworkSDK._instance!;\n }\n\n private constructor() {\n FWLoggerUtil.log('FireworkSDK constructor');\n\n this.eventEmitter.addListener(FWEventName.SDKInit, (event) => {\n FWLoggerUtil.log(`Receive SDKInit event ${event?.error}`);\n\n if (event && !event.error) {\n this.completeRemainingInitialization();\n }\n\n if (!this.hasCalledSDKInitCallback) {\n this.hasCalledSDKInitCallback = true;\n if (this.onSDKInit && event) {\n this.onSDKInit(event);\n }\n }\n });\n\n this.eventEmitter.addListener(FWEventName.LogMessage, (event) => {\n FWLoggerUtil.logNativeMessage(event.message);\n });\n\n this.eventEmitter.addListener(FWEventName.CustomCTAClick, (event) => {\n FWLoggerUtil.log(`Receive CustomCTAClick url: ${event?.url}`);\n FWLoggerUtil.log(\n `Receive CustomCTAClick callbackId: ${event?.callbackId}`\n );\n\n if (this.onCustomCTAClick && event) {\n if (event.callbackId) {\n const callbackId = event.callbackId;\n delete event.callbackId;\n if (Platform.OS === 'ios') {\n event.playerHandler = {\n pause: () => FireworkSDKModule.pausePlayer(callbackId),\n resume: () => FireworkSDKModule.resumePlayer(callbackId),\n };\n }\n }\n this.onCustomCTAClick(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoPlayback, (event) => {\n FWLoggerUtil.log(\n `Receive VideoPlayback event eventName: ${event?.eventName}`\n );\n\n if (this.onVideoPlayback && event) {\n this.onVideoPlayback(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoFeedClick, (event) => {\n FWLoggerUtil.log(`Receive VideoFeedClick event id: ${event?.info.id}`);\n\n if (this.onVideoFeedClick && event) {\n this.onVideoFeedClick(event);\n }\n });\n\n if (Platform.OS === 'ios') {\n this.eventEmitter.addListener(\n FWEventName.NativeAppLanguageUpdated,\n (event) => {\n FWLoggerUtil.log(\n `Receive NativeAppLanguageUpdated event appLanguage: ${event.appLanguage}`\n );\n const language = event.appLanguage;\n this.updateInternalAppLanguage(language);\n }\n );\n }\n }\n\n /**\n * Initializes Firework SDK.\n * @param {SDKInitOptions?} options\n */\n public async init(options?: SDKInitOptions): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK init method');\n const videoLaunchBehaviorUpdated =\n this._videoLaunchBehavior !== options?.videoLaunchBehavior;\n this._videoLaunchBehavior = options?.videoLaunchBehavior;\n await FireworkSDKModule.init(options);\n if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await this.completeRemainingInitialization();\n }\n\n /**\n * You only need to call this method when you call init method in native side instead of JS side.\n */\n /**\n * You need to call this method when you call init method in native side.\n * @param nativeLazyInit\n * Genenally, you should call naitve init in application(:, didFinishLaunchingWithOptions:) -> Bool on iOS\n * and MainApplication.onCreate on Android. If not, you should pass nativeLazyInit as true.\n */\n public async markInitCalled(nativeLazyInit: boolean = false): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK markInitCalled method');\n if (!nativeLazyInit) {\n await this.completeRemainingInitialization();\n await FireworkSDKModule.markInitCalled();\n } else {\n const hasCalledSDKInit = await FireworkSDKModule.markInitCalled();\n if (hasCalledSDKInit) {\n await this.completeRemainingInitialization();\n }\n }\n }\n\n /**\n * Open Video URL.\n * @param {string} url\n * @param {VideoPlayerConfiguration} config\n */\n public async openVideoPlayer(\n url: string,\n config?: OpenVideoPlayerConfiguration\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.openVideoPlayer(url, config ?? {});\n }\n\n /**\n * Records the user purchase. Only supported on iOS.\n * @param {TrackPurchaseParameters} parameters\n */\n public async trackPurchase(\n parameters: TrackPurchaseParameters\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\n\n /**\n * Change App level language.\n * @param {string | undefined | null} language Such as en, ar and en-US. If language is undefined or null or empty string, SDK will use system language.\n * @returns {Promise<boolean>} The result of changing app language.\n */\n public async changeAppLanguage(language?: string | null): Promise<boolean> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n\n const result = await FireworkSDKModule.changeAppLanguage(language);\n\n if (result) {\n const languageChanged = this._appLanguage !== language;\n if (Platform.OS === 'ios' && languageChanged) {\n await this.navigator.stopFloatingPlayer();\n }\n this.updateInternalAppLanguage(language);\n }\n return result;\n }\n\n /**\n * Get the component type based on feedId.\n * @param {string} feedId\n * @returns {string | undefined} The component type based on feedId.\n */\n public getComponentType(feedId: string) {\n return FWGlobalState.getInstance().componentTypeByFeedIdMap.get(feedId);\n }\n\n private updateInternalAppLanguage(language?: string | null) {\n const valueHasChanged = this._appLanguage !== language;\n this._appLanguage = language;\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AppLanguageUpdated);\n }\n }\n\n private updateInternalShareBaseURL(shareBaseURL?: string) {\n const shareBaseURLChanged = this._shareBaseURL !== shareBaseURL;\n this._shareBaseURL = shareBaseURL;\n FireworkSDKModule.setShareBaseURL(shareBaseURL ?? '').then(() => {\n if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n });\n }\n\n private async completeRemainingInitialization(): Promise<void> {\n if (FWGlobalState.getInstance().sdkInitCalled) {\n return;\n }\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\n await ShoppingModule.init();\n await LiveStreamModule.init();\n }\n}\n\nexport default FireworkSDK;\n"]}
|
|
1
|
+
{"version":3,"sources":["FireworkSDK.ts"],"names":["FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","Platform","OS","FireworkSDKModule","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","FWLoggerUtil","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","setAdBadgeConfiguration","then","eventEmitter","emit","FWEventName","AdBadgeConfigurationUpdated","appLanguage","_appLanguage","dataTrackingLevel","_dataTrackingLevel","setDataTrackingLevel","DataTrackingLevelUpdated","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","livestreamPlayerDesignVersion","_livestreamPlayerDesignVersion","setLivestreamPlayerDesignVersion","LivestreamPlayerDesignVersionUpdated","FireworkSDKModuleEventEmitter","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","LivestreamPlayerDesignVersion","v1","VideoShopping","LiveStream","FWNavigator","addListener","SDKInit","event","error","completeRemainingInitialization","hasCalledSDKInitCallback","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","callbackId","playerHandler","pause","pausePlayer","resume","resumePlayer","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","markInitCalled","directlyCallNativeInit","hasCalledSDKInit","openVideoPlayer","config","FWGlobalState","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","getComponentType","feedId","componentTypeByFeedIdMap","get","AppLanguageUpdated","shareBaseURLChanged","setShareBaseURL","ShareBaseURLUpdated","resolveSdkInitCalled","ShoppingModule","LiveStreamModule"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, Platform } from 'react-native';\n\nimport FWNavigator from './FWNavigator';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';\nimport type MarkInitCalledOptions from './models/MarkInitCalledOptions';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport FireworkSDKModule, {\n FireworkSDKModuleEventEmitter,\n} from './modules/FireworkSDKModule';\nimport LiveStreamModule from './modules/LiveStreamModule';\nimport ShoppingModule from './modules/ShoppingModule';\nimport FWGlobalState from './utils/FWGlobalState';\nimport FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\n\nexport type SDKInitCallback = (event: SDKInitEvent) => Promise<void> | void;\nexport type CustomCTAClickCallback = (\n event: CustomCTAClickEvent\n) => Promise<void> | void;\nexport type VideoPlaybackCallback = (\n event: VideoPlaybackEvent\n) => Promise<void> | void;\nexport type VideoFeedClickCallback = (\n event: VideoFeedClickEvent\n) => Promise<void> | void;\n\n/**\n * Firework SDK.\n */\nclass FireworkSDK {\n private static _instance?: FireworkSDK;\n\n /**\n * The callback of SDK initialization.\n */\n public onSDKInit?: SDKInitCallback;\n\n /**\n * the callback of clicking Video Feed.\n */\n public get onVideoFeedClick(): VideoFeedClickCallback | undefined {\n return this._onVideoFeedClick;\n }\n public set onVideoFeedClick(value: VideoFeedClickCallback | undefined) {\n this._onVideoFeedClick = value;\n if (Platform.OS === 'ios') {\n FireworkSDKModule.setVideoFeedClickCallbackEnabled(!!value);\n }\n }\n private _onVideoFeedClick?: VideoFeedClickCallback | undefined;\n\n /**\n * The callback of clicking custom CTA.\n */\n public get onCustomCTAClick(): CustomCTAClickCallback | undefined {\n return this._onCustomCTAClick;\n }\n public set onCustomCTAClick(value: CustomCTAClickCallback | undefined) {\n FWLoggerUtil.log(`Set onCustomCTAClick callback ${!!value}`);\n this._onCustomCTAClick = value;\n FireworkSDKModule.setCustomCTAClickEnabled(value ? true : false);\n }\n private _onCustomCTAClick: CustomCTAClickCallback | undefined;\n\n /**\n * The callback of video playback.\n */\n public get onVideoPlayback(): VideoPlaybackCallback | undefined {\n return this._onVideoPlayback;\n }\n public set onVideoPlayback(value: VideoPlaybackCallback | undefined) {\n this._onVideoPlayback = value;\n FireworkSDKModule.setVideoPlaybackEventEnabled(value ? true : false);\n }\n private _onVideoPlayback?: VideoPlaybackCallback | undefined;\n\n /**\n * The global share base URL of the video.\n * The {@link VideoPlayerConfiguration.shareBaseURL} in {@link VideoPlayerConfiguration} will override this.\n */\n public get shareBaseURL(): string | undefined {\n return this._shareBaseURL;\n }\n public set shareBaseURL(value: string | undefined) {\n this.updateInternalShareBaseURL(value);\n }\n private _shareBaseURL: string | undefined;\n\n /**\n * The configuration for ad badges.\n */\n public get adBadgeConfiguration(): AdBadgeConfiguration | undefined {\n return this._adBadgeConfiguration;\n }\n public set adBadgeConfiguration(value: AdBadgeConfiguration | undefined) {\n const valueHasChanged =\n this._adBadgeConfiguration?.badgeTextType !== value?.badgeTextType ||\n this._adBadgeConfiguration?.backgroundColor !== value?.backgroundColor ||\n this._adBadgeConfiguration?.textColor !== value?.textColor ||\n this._adBadgeConfiguration?.androidFontInfo?.isCustom !==\n value?.androidFontInfo?.isCustom ||\n this._adBadgeConfiguration?.androidFontInfo?.typefaceName !==\n value?.androidFontInfo?.typefaceName;\n this._adBadgeConfiguration = value;\n\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {}).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n });\n }\n private _adBadgeConfiguration: AdBadgeConfiguration | undefined;\n\n public get appLanguage(): string | undefined | null {\n return this._appLanguage;\n }\n private _appLanguage: string | undefined | null;\n\n /**\n * The configuration for data tracking level.\n */\n public get dataTrackingLevel(): DataTrackingLevel {\n return this._dataTrackingLevel;\n }\n public set dataTrackingLevel(value: DataTrackingLevel) {\n const valueHasChanged = this._dataTrackingLevel !== value;\n this._dataTrackingLevel = value;\n FireworkSDKModule.setDataTrackingLevel(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.DataTrackingLevelUpdated);\n }\n });\n }\n private _dataTrackingLevel: DataTrackingLevel = 'all';\n\n /**\n * Defaults to false.\n * You can enable debug logs by setting this property to true.\n */\n public get debugLogsEnabled(): boolean {\n return FWLoggerUtil.enabled;\n }\n public set debugLogsEnabled(value: boolean) {\n FWLoggerUtil.enabled = value;\n }\n\n /**\n * Get video launch behavior.\n */\n public get videoLaunchBehavior(): VideoLaunchBehavior | undefined {\n return this._videoLaunchBehavior;\n }\n private _videoLaunchBehavior: VideoLaunchBehavior | undefined;\n\n /**\n * The version of the livestream player design.\n */\n public get livestreamPlayerDesignVersion(): LivestreamPlayerDesignVersion {\n return this._livestreamPlayerDesignVersion;\n }\n public set livestreamPlayerDesignVersion(\n value: LivestreamPlayerDesignVersion\n ) {\n const valueHasChanged = this._livestreamPlayerDesignVersion !== value;\n this._livestreamPlayerDesignVersion = value;\n FireworkSDKModule.setLivestreamPlayerDesignVersion(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(\n FWEventName.LivestreamPlayerDesignVersionUpdated\n );\n }\n });\n }\n private _livestreamPlayerDesignVersion: LivestreamPlayerDesignVersion =\n LivestreamPlayerDesignVersion.v1;\n\n private get eventEmitter(): NativeEventEmitter {\n return FireworkSDKModuleEventEmitter;\n }\n\n /**\n * Get VideoShopping object.\n */\n public get shopping(): VideoShopping {\n return this._shopping;\n }\n private _shopping: VideoShopping = VideoShopping.getInstance();\n\n /**\n * Get LiveStream object.\n */\n public get liveStream(): LiveStream {\n return this._liveStream;\n }\n private _liveStream: LiveStream = LiveStream.getInstance();\n\n /**\n * Get FWNavigator object.\n */\n public get navigator(): FWNavigator {\n return this._navigator;\n }\n private _navigator: FWNavigator = FWNavigator.getInstance();\n\n private hasCalledSDKInitCallback: boolean = false;\n\n /**\n * Get global single instance of FireworkSDK class.\n * @returns FireworkSDK\n */\n public static getInstance() {\n if (!FireworkSDK._instance) {\n FireworkSDK._instance = new FireworkSDK();\n }\n\n return FireworkSDK._instance!;\n }\n\n private constructor() {\n FWLoggerUtil.log('FireworkSDK constructor');\n\n this.eventEmitter.addListener(FWEventName.SDKInit, (event) => {\n FWLoggerUtil.log(`Receive SDKInit event ${event?.error}`);\n\n if (event && !event.error) {\n this.completeRemainingInitialization();\n }\n\n if (!this.hasCalledSDKInitCallback) {\n this.hasCalledSDKInitCallback = true;\n if (this.onSDKInit && event) {\n this.onSDKInit(event);\n }\n }\n });\n\n this.eventEmitter.addListener(FWEventName.LogMessage, (event) => {\n FWLoggerUtil.logNativeMessage(event.message);\n });\n\n this.eventEmitter.addListener(FWEventName.CustomCTAClick, (event) => {\n FWLoggerUtil.log(`Receive CustomCTAClick url: ${event?.url}`);\n FWLoggerUtil.log(\n `Receive CustomCTAClick callbackId: ${event?.callbackId}`\n );\n\n if (this.onCustomCTAClick && event) {\n if (event.callbackId) {\n const callbackId = event.callbackId;\n delete event.callbackId;\n if (Platform.OS === 'ios') {\n event.playerHandler = {\n pause: () => FireworkSDKModule.pausePlayer(callbackId),\n resume: () => FireworkSDKModule.resumePlayer(callbackId),\n };\n }\n }\n this.onCustomCTAClick(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoPlayback, (event) => {\n FWLoggerUtil.log(\n `Receive VideoPlayback event eventName: ${event?.eventName}`\n );\n\n if (this.onVideoPlayback && event) {\n this.onVideoPlayback(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoFeedClick, (event) => {\n FWLoggerUtil.log(`Receive VideoFeedClick event id: ${event?.info.id}`);\n\n if (this.onVideoFeedClick && event) {\n this.onVideoFeedClick(event);\n }\n });\n\n if (Platform.OS === 'ios') {\n this.eventEmitter.addListener(\n FWEventName.NativeAppLanguageUpdated,\n (event) => {\n FWLoggerUtil.log(\n `Receive NativeAppLanguageUpdated event appLanguage: ${event.appLanguage}`\n );\n const language = event.appLanguage;\n this.updateInternalAppLanguage(language);\n }\n );\n }\n }\n\n /**\n * Initializes Firework SDK.\n * @param {SDKInitOptions?} options\n */\n public async init(options?: SDKInitOptions): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK init method');\n const videoLaunchBehaviorUpdated =\n this._videoLaunchBehavior !== options?.videoLaunchBehavior;\n this._videoLaunchBehavior = options?.videoLaunchBehavior;\n await FireworkSDKModule.init(options);\n if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await this.completeRemainingInitialization();\n }\n\n /**\n * Mark the initialization method as being called on the JS side.\n * @param {MarkInitCalledOptions} options\n */\n public async markInitCalled(\n options: MarkInitCalledOptions = {\n directlyCallNativeInit: false,\n }\n ): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK markInitCalled method');\n if (options.directlyCallNativeInit) {\n await this.completeRemainingInitialization(options);\n await FireworkSDKModule.markInitCalled();\n } else {\n const hasCalledSDKInit = await FireworkSDKModule.markInitCalled();\n if (hasCalledSDKInit) {\n await this.completeRemainingInitialization(options);\n }\n }\n }\n\n /**\n * Open Video URL.\n * @param {string} url\n * @param {VideoPlayerConfiguration} config\n */\n public async openVideoPlayer(\n url: string,\n config?: OpenVideoPlayerConfiguration\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.openVideoPlayer(url, config ?? {});\n }\n\n /**\n * Records the user purchase. Only supported on iOS.\n * @param {TrackPurchaseParameters} parameters\n */\n public async trackPurchase(\n parameters: TrackPurchaseParameters\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\n\n /**\n * Change App level language.\n * @param {string | undefined | null} language Such as en, ar and en-US. If language is undefined or null or empty string, SDK will use system language.\n * @returns {Promise<boolean>} The result of changing app language.\n */\n public async changeAppLanguage(language?: string | null): Promise<boolean> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n\n const result = await FireworkSDKModule.changeAppLanguage(language);\n\n if (result) {\n const languageChanged = this._appLanguage !== language;\n if (Platform.OS === 'ios' && languageChanged) {\n await this.navigator.stopFloatingPlayer();\n }\n this.updateInternalAppLanguage(language);\n }\n return result;\n }\n\n /**\n * Get the component type based on feedId.\n * @param {string} feedId\n * @returns {string | undefined} The component type based on feedId.\n */\n public getComponentType(feedId: string) {\n return FWGlobalState.getInstance().componentTypeByFeedIdMap.get(feedId);\n }\n\n private updateInternalAppLanguage(language?: string | null) {\n const valueHasChanged = this._appLanguage !== language;\n this._appLanguage = language;\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AppLanguageUpdated);\n }\n }\n\n private updateInternalShareBaseURL(shareBaseURL?: string) {\n const shareBaseURLChanged = this._shareBaseURL !== shareBaseURL;\n this._shareBaseURL = shareBaseURL;\n FireworkSDKModule.setShareBaseURL(shareBaseURL ?? '').then(() => {\n if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n });\n }\n\n private async completeRemainingInitialization(\n options: MarkInitCalledOptions = {\n directlyCallNativeInit: false,\n }\n ): Promise<void> {\n if (FWGlobalState.getInstance().sdkInitCalled) {\n return;\n }\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\n if (!options.directlyCallNativeInit) {\n await ShoppingModule.init();\n await LiveStreamModule.init();\n }\n }\n}\n\nexport default FireworkSDK;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["FireworkSDK"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;AAOA;;AACA;;AAKA;;AAWA;;AAwBA;;AAEA;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["FireworkSDK"],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAIA;;AAEA;;AAOA;;AACA;;AAKA;;AAWA;;AAwBA;;AAEA;;AAEA;;AAsCA;;AAgBA;;AASA;;;;eAEeA,oB","sourcesContent":["import type {\n IStoryBlockMethods,\n IStoryBlockProps,\n} from './components/StoryBlock';\nimport StoryBlock from './components/StoryBlock';\nimport type { IVideoFeedProps, VideoFeedMode } from './components/VideoFeed';\nimport VideoFeed from './components/VideoFeed';\nimport type {\n CustomCTAClickCallback,\n SDKInitCallback,\n VideoFeedClickCallback,\n VideoPlaybackCallback,\n} from './FireworkSDK';\nimport FireworkSDK from './FireworkSDK';\nimport FWNavigator from './FWNavigator';\nimport type {\n onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n} from './LiveStream';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport type { AdBadgeTextType } from './models/AdBadgeConfiguration';\nimport type AdConfiguration from './models/AdConfiguration';\nimport type { VastAttribute } from './models/AdConfiguration';\nimport type AndroidFontInfo from './models/AndroidFontInfo';\nimport type ButtonInfo from './models/ButtonInfo';\nimport type CountdownTimerConfiguration from './models/CountdownTimerConfiguration';\nimport type { CountdownTimerAppearanceMode } from './models/CountdownTimerConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport type FeedItemDetails from './models/FeedItemDetails';\nimport { FWComponentType } from './models/FWComponentType';\nimport type FWError from './models/FWError';\nimport type {\n ClickProductEvent,\n CustomClickCartIconEvent,\n CustomClickLinkButtonEvent,\n CustomCTAClickEvent,\n CustomTapProductCardEvent,\n LiveStreamChatEvent,\n LiveStreamEvent,\n PlayerHandler,\n SDKInitEvent,\n ShoppingCTAEvent,\n UpdateProductDetailsEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport type GradientDrawable from './models/GradientDrawable';\nimport type { GradientDrawableOrientation } from './models/GradientDrawable';\nimport type IOSFontInfo from './models/IOSFontInfo';\nimport type {\n IOSSystemFontStyle,\n IOSSystemFontWeight,\n} from './models/IOSFontInfo';\nimport LiveStreamChatEventName from './models/LiveStreamChatEventName';\nimport type LiveStreamEventDetails from './models/LiveStreamEventDetails';\nimport LiveStreamEventName from './models/LiveStreamEventName';\nimport type LiveStreamMessageDetails from './models/LiveStreamMessageDetails';\nimport LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';\nimport type MarkInitCalledOptions from './models/MarkInitCalledOptions';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type Product from './models/Product';\nimport type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';\nimport type {\n LinkButtonConfiguration,\n ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n} from './models/ProductInfoViewConfiguration';\nimport type ProductUnit from './models/ProductUnit';\nimport type { ProductPrice, ProductUnitOption } from './models/ProductUnit';\nimport type PushRNContainerParams from './models/PushRNContainerParams';\nimport type { RNAppProps } from './models/PushRNContainerParams';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type ShoppingCTAResult from './models/ShoppingCTAResult';\nimport type { StoryBlockConfiguration } from './models/StoryBlockConfiguration';\nimport type { StoryBlockSource } from './models/StoryBlockSource';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport type VideoFeedConfiguration from './models/VideoFeedConfiguration';\nimport type {\n VideoFeedPadding,\n VideoFeedPlayIconConfiguration,\n VideoFeedTitleConfiguration,\n VideoFeedTitlePosition,\n} from './models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from './models/VideoFeedSource';\nimport type VideoPlaybackDetails from './models/VideoPlaybackDetails';\nimport type { VideoPlayerSize } from './models/VideoPlaybackDetails';\nimport VideoPlaybackEventName from './models/VideoPlaybackEventName';\nimport type VideoPlayerButtonConfiguration from './models/VideoPlayerButtonConfiguration';\nimport type { VideoPlayerCompleteAction } from './models/VideoPlayerCompleteAction';\nimport type VideoPlayerConfiguration from './models/VideoPlayerConfiguration';\nimport type {\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n} from './models/VideoPlayerCTADelay';\nimport type { VideoPlayerCTAStyle } from './models/VideoPlayerCTAStyle';\nimport type { VideoPlayerCTAWidth } from './models/VideoPlayerCTAWidth';\nimport type { VideoPlayerLivestreamCountdownTimerTheme } from './models/VideoPlayerLivestreamCountdownTimerTheme';\nimport type {\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n} from './models/VideoPlayerLogoConfiguration';\nimport type { VideoPlayerStyle } from './models/VideoPlayerStyle';\nimport VideoFeedUtil from './utils/VideoFeedUtil';\nimport type {\n ClickProductCallback,\n CustomClickCartIconCallback,\n CustomClickLinkButtonCallback,\n CustomTapProductCardCallback,\n ShoppingCTACallback,\n UpdateProductDetailsCallback,\n} from './VideoShopping';\nimport VideoShopping from './VideoShopping';\n\nexport default FireworkSDK;\n\nexport {\n AdBadgeConfiguration,\n AdBadgeTextType,\n AdConfiguration,\n AndroidFontInfo,\n ButtonInfo,\n ClickProductCallback,\n ClickProductEvent,\n CountdownTimerAppearanceMode,\n CountdownTimerConfiguration,\n CustomClickCartIconCallback,\n CustomClickCartIconEvent,\n CustomClickLinkButtonCallback,\n CustomClickLinkButtonEvent,\n CustomCTAClickCallback,\n CustomCTAClickEvent,\n CustomTapProductCardCallback,\n CustomTapProductCardEvent,\n DataTrackingLevel,\n FeedItemDetails,\n FireworkSDK,\n FWComponentType,\n FWError,\n FWNavigator,\n GradientDrawable,\n GradientDrawableOrientation,\n IOSFontInfo,\n IOSSystemFontStyle,\n IOSSystemFontWeight,\n IStoryBlockMethods,\n IStoryBlockProps,\n IVideoFeedProps,\n LinkButtonConfiguration,\n LiveStream,\n LiveStreamChatEvent,\n LiveStreamChatEventName,\n LiveStreamEvent,\n LiveStreamEventDetails,\n LiveStreamEventName,\n LiveStreamMessageDetails,\n LivestreamPlayerDesignVersion,\n MarkInitCalledOptions,\n onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n OpenVideoPlayerConfiguration,\n PlayerHandler,\n Product,\n ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ProductInfoViewConfiguration,\n ProductPrice,\n ProductUnit,\n ProductUnitOption,\n PushRNContainerParams,\n RNAppProps,\n SDKInitCallback,\n SDKInitEvent,\n SDKInitOptions,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n ShoppingCTACallback,\n ShoppingCTAEvent,\n ShoppingCTAResult,\n StoryBlock,\n StoryBlockConfiguration,\n StoryBlockSource,\n TrackPurchaseParameters,\n UpdateProductDetailsCallback,\n UpdateProductDetailsEvent,\n VastAttribute,\n VideoFeed,\n VideoFeedClickCallback,\n VideoFeedClickEvent,\n VideoFeedConfiguration,\n VideoFeedMode,\n VideoFeedPadding,\n VideoFeedPlayIconConfiguration,\n VideoFeedSource,\n VideoFeedTitleConfiguration,\n VideoFeedTitlePosition,\n VideoFeedUtil,\n VideoLaunchBehavior,\n VideoPlaybackCallback,\n VideoPlaybackDetails,\n VideoPlaybackEvent,\n VideoPlaybackEventName,\n VideoPlayerButtonConfiguration,\n VideoPlayerCompleteAction,\n VideoPlayerConfiguration,\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n VideoPlayerCTAStyle,\n VideoPlayerCTAWidth,\n VideoPlayerLivestreamCountdownTimerTheme,\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n VideoPlayerSize,\n VideoPlayerStyle,\n VideoShopping,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -297,29 +297,25 @@ class FireworkSDK {
|
|
|
297
297
|
await this.completeRemainingInitialization();
|
|
298
298
|
}
|
|
299
299
|
/**
|
|
300
|
-
*
|
|
301
|
-
|
|
302
|
-
|
|
303
|
-
/**
|
|
304
|
-
* You need to call this method when you call init method in native side.
|
|
305
|
-
* @param nativeLazyInit
|
|
306
|
-
* Genenally, you should call naitve init in application(:, didFinishLaunchingWithOptions:) -> Bool on iOS
|
|
307
|
-
* and MainApplication.onCreate on Android. If not, you should pass nativeLazyInit as true.
|
|
300
|
+
* Mark the initialization method as being called on the JS side.
|
|
301
|
+
* @param {MarkInitCalledOptions} options
|
|
308
302
|
*/
|
|
309
303
|
|
|
310
304
|
|
|
311
305
|
async markInitCalled() {
|
|
312
|
-
let
|
|
306
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
307
|
+
directlyCallNativeInit: false
|
|
308
|
+
};
|
|
313
309
|
FWLoggerUtil.log('Call FireworkSDK markInitCalled method');
|
|
314
310
|
|
|
315
|
-
if (
|
|
316
|
-
await this.completeRemainingInitialization();
|
|
311
|
+
if (options.directlyCallNativeInit) {
|
|
312
|
+
await this.completeRemainingInitialization(options);
|
|
317
313
|
await FireworkSDKModule.markInitCalled();
|
|
318
314
|
} else {
|
|
319
315
|
const hasCalledSDKInit = await FireworkSDKModule.markInitCalled();
|
|
320
316
|
|
|
321
317
|
if (hasCalledSDKInit) {
|
|
322
|
-
await this.completeRemainingInitialization();
|
|
318
|
+
await this.completeRemainingInitialization(options);
|
|
323
319
|
}
|
|
324
320
|
}
|
|
325
321
|
}
|
|
@@ -407,13 +403,20 @@ class FireworkSDK {
|
|
|
407
403
|
}
|
|
408
404
|
|
|
409
405
|
async completeRemainingInitialization() {
|
|
406
|
+
let options = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : {
|
|
407
|
+
directlyCallNativeInit: false
|
|
408
|
+
};
|
|
409
|
+
|
|
410
410
|
if (FWGlobalState.getInstance().sdkInitCalled) {
|
|
411
411
|
return;
|
|
412
412
|
}
|
|
413
413
|
|
|
414
414
|
FWGlobalState.getInstance().resolveSdkInitCalled();
|
|
415
|
-
|
|
416
|
-
|
|
415
|
+
|
|
416
|
+
if (!options.directlyCallNativeInit) {
|
|
417
|
+
await ShoppingModule.init();
|
|
418
|
+
await LiveStreamModule.init();
|
|
419
|
+
}
|
|
417
420
|
}
|
|
418
421
|
|
|
419
422
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FireworkSDK.ts"],"names":["Platform","FWNavigator","LiveStream","FWEventName","LivestreamPlayerDesignVersion","FireworkSDKModule","FireworkSDKModuleEventEmitter","LiveStreamModule","ShoppingModule","FWGlobalState","FWLoggerUtil","VideoShopping","FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","OS","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","setAdBadgeConfiguration","then","eventEmitter","emit","AdBadgeConfigurationUpdated","appLanguage","_appLanguage","dataTrackingLevel","_dataTrackingLevel","setDataTrackingLevel","DataTrackingLevelUpdated","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","livestreamPlayerDesignVersion","_livestreamPlayerDesignVersion","setLivestreamPlayerDesignVersion","LivestreamPlayerDesignVersionUpdated","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","v1","addListener","SDKInit","event","error","completeRemainingInitialization","hasCalledSDKInitCallback","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","callbackId","playerHandler","pause","pausePlayer","resume","resumePlayer","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","markInitCalled","nativeLazyInit","hasCalledSDKInit","openVideoPlayer","config","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","getComponentType","feedId","componentTypeByFeedIdMap","get","AppLanguageUpdated","shareBaseURLChanged","setShareBaseURL","ShareBaseURLUpdated","resolveSdkInitCalled"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, Platform } from 'react-native';\n\nimport FWNavigator from './FWNavigator';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport FireworkSDKModule, {\n FireworkSDKModuleEventEmitter,\n} from './modules/FireworkSDKModule';\nimport LiveStreamModule from './modules/LiveStreamModule';\nimport ShoppingModule from './modules/ShoppingModule';\nimport FWGlobalState from './utils/FWGlobalState';\nimport FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\n\nexport type SDKInitCallback = (event: SDKInitEvent) => Promise<void> | void;\nexport type CustomCTAClickCallback = (\n event: CustomCTAClickEvent\n) => Promise<void> | void;\nexport type VideoPlaybackCallback = (\n event: VideoPlaybackEvent\n) => Promise<void> | void;\nexport type VideoFeedClickCallback = (\n event: VideoFeedClickEvent\n) => Promise<void> | void;\n\n/**\n * Firework SDK.\n */\nclass FireworkSDK {\n private static _instance?: FireworkSDK;\n\n /**\n * The callback of SDK initialization.\n */\n public onSDKInit?: SDKInitCallback;\n\n /**\n * the callback of clicking Video Feed.\n */\n public get onVideoFeedClick(): VideoFeedClickCallback | undefined {\n return this._onVideoFeedClick;\n }\n public set onVideoFeedClick(value: VideoFeedClickCallback | undefined) {\n this._onVideoFeedClick = value;\n if (Platform.OS === 'ios') {\n FireworkSDKModule.setVideoFeedClickCallbackEnabled(!!value);\n }\n }\n private _onVideoFeedClick?: VideoFeedClickCallback | undefined;\n\n /**\n * The callback of clicking custom CTA.\n */\n public get onCustomCTAClick(): CustomCTAClickCallback | undefined {\n return this._onCustomCTAClick;\n }\n public set onCustomCTAClick(value: CustomCTAClickCallback | undefined) {\n FWLoggerUtil.log(`Set onCustomCTAClick callback ${!!value}`);\n this._onCustomCTAClick = value;\n FireworkSDKModule.setCustomCTAClickEnabled(value ? true : false);\n }\n private _onCustomCTAClick: CustomCTAClickCallback | undefined;\n\n /**\n * The callback of video playback.\n */\n public get onVideoPlayback(): VideoPlaybackCallback | undefined {\n return this._onVideoPlayback;\n }\n public set onVideoPlayback(value: VideoPlaybackCallback | undefined) {\n this._onVideoPlayback = value;\n FireworkSDKModule.setVideoPlaybackEventEnabled(value ? true : false);\n }\n private _onVideoPlayback?: VideoPlaybackCallback | undefined;\n\n /**\n * The global share base URL of the video.\n * The {@link VideoPlayerConfiguration.shareBaseURL} in {@link VideoPlayerConfiguration} will override this.\n */\n public get shareBaseURL(): string | undefined {\n return this._shareBaseURL;\n }\n public set shareBaseURL(value: string | undefined) {\n this.updateInternalShareBaseURL(value);\n }\n private _shareBaseURL: string | undefined;\n\n /**\n * The configuration for ad badges.\n */\n public get adBadgeConfiguration(): AdBadgeConfiguration | undefined {\n return this._adBadgeConfiguration;\n }\n public set adBadgeConfiguration(value: AdBadgeConfiguration | undefined) {\n const valueHasChanged =\n this._adBadgeConfiguration?.badgeTextType !== value?.badgeTextType ||\n this._adBadgeConfiguration?.backgroundColor !== value?.backgroundColor ||\n this._adBadgeConfiguration?.textColor !== value?.textColor ||\n this._adBadgeConfiguration?.androidFontInfo?.isCustom !==\n value?.androidFontInfo?.isCustom ||\n this._adBadgeConfiguration?.androidFontInfo?.typefaceName !==\n value?.androidFontInfo?.typefaceName;\n this._adBadgeConfiguration = value;\n\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {}).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n });\n }\n private _adBadgeConfiguration: AdBadgeConfiguration | undefined;\n\n public get appLanguage(): string | undefined | null {\n return this._appLanguage;\n }\n private _appLanguage: string | undefined | null;\n\n /**\n * The configuration for data tracking level.\n */\n public get dataTrackingLevel(): DataTrackingLevel {\n return this._dataTrackingLevel;\n }\n public set dataTrackingLevel(value: DataTrackingLevel) {\n const valueHasChanged = this._dataTrackingLevel !== value;\n this._dataTrackingLevel = value;\n FireworkSDKModule.setDataTrackingLevel(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.DataTrackingLevelUpdated);\n }\n });\n }\n private _dataTrackingLevel: DataTrackingLevel = 'all';\n\n /**\n * Defaults to false.\n * You can enable debug logs by setting this property to true.\n */\n public get debugLogsEnabled(): boolean {\n return FWLoggerUtil.enabled;\n }\n public set debugLogsEnabled(value: boolean) {\n FWLoggerUtil.enabled = value;\n }\n\n /**\n * Get video launch behavior.\n */\n public get videoLaunchBehavior(): VideoLaunchBehavior | undefined {\n return this._videoLaunchBehavior;\n }\n private _videoLaunchBehavior: VideoLaunchBehavior | undefined;\n\n /**\n * The version of the livestream player design.\n */\n public get livestreamPlayerDesignVersion(): LivestreamPlayerDesignVersion {\n return this._livestreamPlayerDesignVersion;\n }\n public set livestreamPlayerDesignVersion(\n value: LivestreamPlayerDesignVersion\n ) {\n const valueHasChanged = this._livestreamPlayerDesignVersion !== value;\n this._livestreamPlayerDesignVersion = value;\n FireworkSDKModule.setLivestreamPlayerDesignVersion(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(\n FWEventName.LivestreamPlayerDesignVersionUpdated\n );\n }\n });\n }\n private _livestreamPlayerDesignVersion: LivestreamPlayerDesignVersion =\n LivestreamPlayerDesignVersion.v1;\n\n private get eventEmitter(): NativeEventEmitter {\n return FireworkSDKModuleEventEmitter;\n }\n\n /**\n * Get VideoShopping object.\n */\n public get shopping(): VideoShopping {\n return this._shopping;\n }\n private _shopping: VideoShopping = VideoShopping.getInstance();\n\n /**\n * Get LiveStream object.\n */\n public get liveStream(): LiveStream {\n return this._liveStream;\n }\n private _liveStream: LiveStream = LiveStream.getInstance();\n\n /**\n * Get FWNavigator object.\n */\n public get navigator(): FWNavigator {\n return this._navigator;\n }\n private _navigator: FWNavigator = FWNavigator.getInstance();\n\n private hasCalledSDKInitCallback: boolean = false;\n\n /**\n * Get global single instance of FireworkSDK class.\n * @returns FireworkSDK\n */\n public static getInstance() {\n if (!FireworkSDK._instance) {\n FireworkSDK._instance = new FireworkSDK();\n }\n\n return FireworkSDK._instance!;\n }\n\n private constructor() {\n FWLoggerUtil.log('FireworkSDK constructor');\n\n this.eventEmitter.addListener(FWEventName.SDKInit, (event) => {\n FWLoggerUtil.log(`Receive SDKInit event ${event?.error}`);\n\n if (event && !event.error) {\n this.completeRemainingInitialization();\n }\n\n if (!this.hasCalledSDKInitCallback) {\n this.hasCalledSDKInitCallback = true;\n if (this.onSDKInit && event) {\n this.onSDKInit(event);\n }\n }\n });\n\n this.eventEmitter.addListener(FWEventName.LogMessage, (event) => {\n FWLoggerUtil.logNativeMessage(event.message);\n });\n\n this.eventEmitter.addListener(FWEventName.CustomCTAClick, (event) => {\n FWLoggerUtil.log(`Receive CustomCTAClick url: ${event?.url}`);\n FWLoggerUtil.log(\n `Receive CustomCTAClick callbackId: ${event?.callbackId}`\n );\n\n if (this.onCustomCTAClick && event) {\n if (event.callbackId) {\n const callbackId = event.callbackId;\n delete event.callbackId;\n if (Platform.OS === 'ios') {\n event.playerHandler = {\n pause: () => FireworkSDKModule.pausePlayer(callbackId),\n resume: () => FireworkSDKModule.resumePlayer(callbackId),\n };\n }\n }\n this.onCustomCTAClick(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoPlayback, (event) => {\n FWLoggerUtil.log(\n `Receive VideoPlayback event eventName: ${event?.eventName}`\n );\n\n if (this.onVideoPlayback && event) {\n this.onVideoPlayback(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoFeedClick, (event) => {\n FWLoggerUtil.log(`Receive VideoFeedClick event id: ${event?.info.id}`);\n\n if (this.onVideoFeedClick && event) {\n this.onVideoFeedClick(event);\n }\n });\n\n if (Platform.OS === 'ios') {\n this.eventEmitter.addListener(\n FWEventName.NativeAppLanguageUpdated,\n (event) => {\n FWLoggerUtil.log(\n `Receive NativeAppLanguageUpdated event appLanguage: ${event.appLanguage}`\n );\n const language = event.appLanguage;\n this.updateInternalAppLanguage(language);\n }\n );\n }\n }\n\n /**\n * Initializes Firework SDK.\n * @param {SDKInitOptions?} options\n */\n public async init(options?: SDKInitOptions): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK init method');\n const videoLaunchBehaviorUpdated =\n this._videoLaunchBehavior !== options?.videoLaunchBehavior;\n this._videoLaunchBehavior = options?.videoLaunchBehavior;\n await FireworkSDKModule.init(options);\n if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await this.completeRemainingInitialization();\n }\n\n /**\n * You only need to call this method when you call init method in native side instead of JS side.\n */\n /**\n * You need to call this method when you call init method in native side.\n * @param nativeLazyInit\n * Genenally, you should call naitve init in application(:, didFinishLaunchingWithOptions:) -> Bool on iOS\n * and MainApplication.onCreate on Android. If not, you should pass nativeLazyInit as true.\n */\n public async markInitCalled(nativeLazyInit: boolean = false): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK markInitCalled method');\n if (!nativeLazyInit) {\n await this.completeRemainingInitialization();\n await FireworkSDKModule.markInitCalled();\n } else {\n const hasCalledSDKInit = await FireworkSDKModule.markInitCalled();\n if (hasCalledSDKInit) {\n await this.completeRemainingInitialization();\n }\n }\n }\n\n /**\n * Open Video URL.\n * @param {string} url\n * @param {VideoPlayerConfiguration} config\n */\n public async openVideoPlayer(\n url: string,\n config?: OpenVideoPlayerConfiguration\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.openVideoPlayer(url, config ?? {});\n }\n\n /**\n * Records the user purchase. Only supported on iOS.\n * @param {TrackPurchaseParameters} parameters\n */\n public async trackPurchase(\n parameters: TrackPurchaseParameters\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\n\n /**\n * Change App level language.\n * @param {string | undefined | null} language Such as en, ar and en-US. If language is undefined or null or empty string, SDK will use system language.\n * @returns {Promise<boolean>} The result of changing app language.\n */\n public async changeAppLanguage(language?: string | null): Promise<boolean> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n\n const result = await FireworkSDKModule.changeAppLanguage(language);\n\n if (result) {\n const languageChanged = this._appLanguage !== language;\n if (Platform.OS === 'ios' && languageChanged) {\n await this.navigator.stopFloatingPlayer();\n }\n this.updateInternalAppLanguage(language);\n }\n return result;\n }\n\n /**\n * Get the component type based on feedId.\n * @param {string} feedId\n * @returns {string | undefined} The component type based on feedId.\n */\n public getComponentType(feedId: string) {\n return FWGlobalState.getInstance().componentTypeByFeedIdMap.get(feedId);\n }\n\n private updateInternalAppLanguage(language?: string | null) {\n const valueHasChanged = this._appLanguage !== language;\n this._appLanguage = language;\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AppLanguageUpdated);\n }\n }\n\n private updateInternalShareBaseURL(shareBaseURL?: string) {\n const shareBaseURLChanged = this._shareBaseURL !== shareBaseURL;\n this._shareBaseURL = shareBaseURL;\n FireworkSDKModule.setShareBaseURL(shareBaseURL ?? '').then(() => {\n if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n });\n }\n\n private async completeRemainingInitialization(): Promise<void> {\n if (FWGlobalState.getInstance().sdkInitCalled) {\n return;\n }\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\n await ShoppingModule.init();\n await LiveStreamModule.init();\n }\n}\n\nexport default FireworkSDK;\n"]}
|
|
1
|
+
{"version":3,"sources":["FireworkSDK.ts"],"names":["Platform","FWNavigator","LiveStream","FWEventName","LivestreamPlayerDesignVersion","FireworkSDKModule","FireworkSDKModuleEventEmitter","LiveStreamModule","ShoppingModule","FWGlobalState","FWLoggerUtil","VideoShopping","FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","OS","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","setAdBadgeConfiguration","then","eventEmitter","emit","AdBadgeConfigurationUpdated","appLanguage","_appLanguage","dataTrackingLevel","_dataTrackingLevel","setDataTrackingLevel","DataTrackingLevelUpdated","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","livestreamPlayerDesignVersion","_livestreamPlayerDesignVersion","setLivestreamPlayerDesignVersion","LivestreamPlayerDesignVersionUpdated","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","v1","addListener","SDKInit","event","error","completeRemainingInitialization","hasCalledSDKInitCallback","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","callbackId","playerHandler","pause","pausePlayer","resume","resumePlayer","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","markInitCalled","directlyCallNativeInit","hasCalledSDKInit","openVideoPlayer","config","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","getComponentType","feedId","componentTypeByFeedIdMap","get","AppLanguageUpdated","shareBaseURLChanged","setShareBaseURL","ShareBaseURLUpdated","resolveSdkInitCalled"],"mappings":"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","sourcesContent":["import { NativeEventEmitter, Platform } from 'react-native';\n\nimport FWNavigator from './FWNavigator';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';\nimport type MarkInitCalledOptions from './models/MarkInitCalledOptions';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport FireworkSDKModule, {\n FireworkSDKModuleEventEmitter,\n} from './modules/FireworkSDKModule';\nimport LiveStreamModule from './modules/LiveStreamModule';\nimport ShoppingModule from './modules/ShoppingModule';\nimport FWGlobalState from './utils/FWGlobalState';\nimport FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\n\nexport type SDKInitCallback = (event: SDKInitEvent) => Promise<void> | void;\nexport type CustomCTAClickCallback = (\n event: CustomCTAClickEvent\n) => Promise<void> | void;\nexport type VideoPlaybackCallback = (\n event: VideoPlaybackEvent\n) => Promise<void> | void;\nexport type VideoFeedClickCallback = (\n event: VideoFeedClickEvent\n) => Promise<void> | void;\n\n/**\n * Firework SDK.\n */\nclass FireworkSDK {\n private static _instance?: FireworkSDK;\n\n /**\n * The callback of SDK initialization.\n */\n public onSDKInit?: SDKInitCallback;\n\n /**\n * the callback of clicking Video Feed.\n */\n public get onVideoFeedClick(): VideoFeedClickCallback | undefined {\n return this._onVideoFeedClick;\n }\n public set onVideoFeedClick(value: VideoFeedClickCallback | undefined) {\n this._onVideoFeedClick = value;\n if (Platform.OS === 'ios') {\n FireworkSDKModule.setVideoFeedClickCallbackEnabled(!!value);\n }\n }\n private _onVideoFeedClick?: VideoFeedClickCallback | undefined;\n\n /**\n * The callback of clicking custom CTA.\n */\n public get onCustomCTAClick(): CustomCTAClickCallback | undefined {\n return this._onCustomCTAClick;\n }\n public set onCustomCTAClick(value: CustomCTAClickCallback | undefined) {\n FWLoggerUtil.log(`Set onCustomCTAClick callback ${!!value}`);\n this._onCustomCTAClick = value;\n FireworkSDKModule.setCustomCTAClickEnabled(value ? true : false);\n }\n private _onCustomCTAClick: CustomCTAClickCallback | undefined;\n\n /**\n * The callback of video playback.\n */\n public get onVideoPlayback(): VideoPlaybackCallback | undefined {\n return this._onVideoPlayback;\n }\n public set onVideoPlayback(value: VideoPlaybackCallback | undefined) {\n this._onVideoPlayback = value;\n FireworkSDKModule.setVideoPlaybackEventEnabled(value ? true : false);\n }\n private _onVideoPlayback?: VideoPlaybackCallback | undefined;\n\n /**\n * The global share base URL of the video.\n * The {@link VideoPlayerConfiguration.shareBaseURL} in {@link VideoPlayerConfiguration} will override this.\n */\n public get shareBaseURL(): string | undefined {\n return this._shareBaseURL;\n }\n public set shareBaseURL(value: string | undefined) {\n this.updateInternalShareBaseURL(value);\n }\n private _shareBaseURL: string | undefined;\n\n /**\n * The configuration for ad badges.\n */\n public get adBadgeConfiguration(): AdBadgeConfiguration | undefined {\n return this._adBadgeConfiguration;\n }\n public set adBadgeConfiguration(value: AdBadgeConfiguration | undefined) {\n const valueHasChanged =\n this._adBadgeConfiguration?.badgeTextType !== value?.badgeTextType ||\n this._adBadgeConfiguration?.backgroundColor !== value?.backgroundColor ||\n this._adBadgeConfiguration?.textColor !== value?.textColor ||\n this._adBadgeConfiguration?.androidFontInfo?.isCustom !==\n value?.androidFontInfo?.isCustom ||\n this._adBadgeConfiguration?.androidFontInfo?.typefaceName !==\n value?.androidFontInfo?.typefaceName;\n this._adBadgeConfiguration = value;\n\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {}).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n });\n }\n private _adBadgeConfiguration: AdBadgeConfiguration | undefined;\n\n public get appLanguage(): string | undefined | null {\n return this._appLanguage;\n }\n private _appLanguage: string | undefined | null;\n\n /**\n * The configuration for data tracking level.\n */\n public get dataTrackingLevel(): DataTrackingLevel {\n return this._dataTrackingLevel;\n }\n public set dataTrackingLevel(value: DataTrackingLevel) {\n const valueHasChanged = this._dataTrackingLevel !== value;\n this._dataTrackingLevel = value;\n FireworkSDKModule.setDataTrackingLevel(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.DataTrackingLevelUpdated);\n }\n });\n }\n private _dataTrackingLevel: DataTrackingLevel = 'all';\n\n /**\n * Defaults to false.\n * You can enable debug logs by setting this property to true.\n */\n public get debugLogsEnabled(): boolean {\n return FWLoggerUtil.enabled;\n }\n public set debugLogsEnabled(value: boolean) {\n FWLoggerUtil.enabled = value;\n }\n\n /**\n * Get video launch behavior.\n */\n public get videoLaunchBehavior(): VideoLaunchBehavior | undefined {\n return this._videoLaunchBehavior;\n }\n private _videoLaunchBehavior: VideoLaunchBehavior | undefined;\n\n /**\n * The version of the livestream player design.\n */\n public get livestreamPlayerDesignVersion(): LivestreamPlayerDesignVersion {\n return this._livestreamPlayerDesignVersion;\n }\n public set livestreamPlayerDesignVersion(\n value: LivestreamPlayerDesignVersion\n ) {\n const valueHasChanged = this._livestreamPlayerDesignVersion !== value;\n this._livestreamPlayerDesignVersion = value;\n FireworkSDKModule.setLivestreamPlayerDesignVersion(value).then(() => {\n if (valueHasChanged) {\n this.eventEmitter.emit(\n FWEventName.LivestreamPlayerDesignVersionUpdated\n );\n }\n });\n }\n private _livestreamPlayerDesignVersion: LivestreamPlayerDesignVersion =\n LivestreamPlayerDesignVersion.v1;\n\n private get eventEmitter(): NativeEventEmitter {\n return FireworkSDKModuleEventEmitter;\n }\n\n /**\n * Get VideoShopping object.\n */\n public get shopping(): VideoShopping {\n return this._shopping;\n }\n private _shopping: VideoShopping = VideoShopping.getInstance();\n\n /**\n * Get LiveStream object.\n */\n public get liveStream(): LiveStream {\n return this._liveStream;\n }\n private _liveStream: LiveStream = LiveStream.getInstance();\n\n /**\n * Get FWNavigator object.\n */\n public get navigator(): FWNavigator {\n return this._navigator;\n }\n private _navigator: FWNavigator = FWNavigator.getInstance();\n\n private hasCalledSDKInitCallback: boolean = false;\n\n /**\n * Get global single instance of FireworkSDK class.\n * @returns FireworkSDK\n */\n public static getInstance() {\n if (!FireworkSDK._instance) {\n FireworkSDK._instance = new FireworkSDK();\n }\n\n return FireworkSDK._instance!;\n }\n\n private constructor() {\n FWLoggerUtil.log('FireworkSDK constructor');\n\n this.eventEmitter.addListener(FWEventName.SDKInit, (event) => {\n FWLoggerUtil.log(`Receive SDKInit event ${event?.error}`);\n\n if (event && !event.error) {\n this.completeRemainingInitialization();\n }\n\n if (!this.hasCalledSDKInitCallback) {\n this.hasCalledSDKInitCallback = true;\n if (this.onSDKInit && event) {\n this.onSDKInit(event);\n }\n }\n });\n\n this.eventEmitter.addListener(FWEventName.LogMessage, (event) => {\n FWLoggerUtil.logNativeMessage(event.message);\n });\n\n this.eventEmitter.addListener(FWEventName.CustomCTAClick, (event) => {\n FWLoggerUtil.log(`Receive CustomCTAClick url: ${event?.url}`);\n FWLoggerUtil.log(\n `Receive CustomCTAClick callbackId: ${event?.callbackId}`\n );\n\n if (this.onCustomCTAClick && event) {\n if (event.callbackId) {\n const callbackId = event.callbackId;\n delete event.callbackId;\n if (Platform.OS === 'ios') {\n event.playerHandler = {\n pause: () => FireworkSDKModule.pausePlayer(callbackId),\n resume: () => FireworkSDKModule.resumePlayer(callbackId),\n };\n }\n }\n this.onCustomCTAClick(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoPlayback, (event) => {\n FWLoggerUtil.log(\n `Receive VideoPlayback event eventName: ${event?.eventName}`\n );\n\n if (this.onVideoPlayback && event) {\n this.onVideoPlayback(event);\n }\n });\n\n this.eventEmitter.addListener(FWEventName.VideoFeedClick, (event) => {\n FWLoggerUtil.log(`Receive VideoFeedClick event id: ${event?.info.id}`);\n\n if (this.onVideoFeedClick && event) {\n this.onVideoFeedClick(event);\n }\n });\n\n if (Platform.OS === 'ios') {\n this.eventEmitter.addListener(\n FWEventName.NativeAppLanguageUpdated,\n (event) => {\n FWLoggerUtil.log(\n `Receive NativeAppLanguageUpdated event appLanguage: ${event.appLanguage}`\n );\n const language = event.appLanguage;\n this.updateInternalAppLanguage(language);\n }\n );\n }\n }\n\n /**\n * Initializes Firework SDK.\n * @param {SDKInitOptions?} options\n */\n public async init(options?: SDKInitOptions): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK init method');\n const videoLaunchBehaviorUpdated =\n this._videoLaunchBehavior !== options?.videoLaunchBehavior;\n this._videoLaunchBehavior = options?.videoLaunchBehavior;\n await FireworkSDKModule.init(options);\n if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await this.completeRemainingInitialization();\n }\n\n /**\n * Mark the initialization method as being called on the JS side.\n * @param {MarkInitCalledOptions} options\n */\n public async markInitCalled(\n options: MarkInitCalledOptions = {\n directlyCallNativeInit: false,\n }\n ): Promise<void> {\n FWLoggerUtil.log('Call FireworkSDK markInitCalled method');\n if (options.directlyCallNativeInit) {\n await this.completeRemainingInitialization(options);\n await FireworkSDKModule.markInitCalled();\n } else {\n const hasCalledSDKInit = await FireworkSDKModule.markInitCalled();\n if (hasCalledSDKInit) {\n await this.completeRemainingInitialization(options);\n }\n }\n }\n\n /**\n * Open Video URL.\n * @param {string} url\n * @param {VideoPlayerConfiguration} config\n */\n public async openVideoPlayer(\n url: string,\n config?: OpenVideoPlayerConfiguration\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.openVideoPlayer(url, config ?? {});\n }\n\n /**\n * Records the user purchase. Only supported on iOS.\n * @param {TrackPurchaseParameters} parameters\n */\n public async trackPurchase(\n parameters: TrackPurchaseParameters\n ): Promise<void> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\n\n /**\n * Change App level language.\n * @param {string | undefined | null} language Such as en, ar and en-US. If language is undefined or null or empty string, SDK will use system language.\n * @returns {Promise<boolean>} The result of changing app language.\n */\n public async changeAppLanguage(language?: string | null): Promise<boolean> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n\n const result = await FireworkSDKModule.changeAppLanguage(language);\n\n if (result) {\n const languageChanged = this._appLanguage !== language;\n if (Platform.OS === 'ios' && languageChanged) {\n await this.navigator.stopFloatingPlayer();\n }\n this.updateInternalAppLanguage(language);\n }\n return result;\n }\n\n /**\n * Get the component type based on feedId.\n * @param {string} feedId\n * @returns {string | undefined} The component type based on feedId.\n */\n public getComponentType(feedId: string) {\n return FWGlobalState.getInstance().componentTypeByFeedIdMap.get(feedId);\n }\n\n private updateInternalAppLanguage(language?: string | null) {\n const valueHasChanged = this._appLanguage !== language;\n this._appLanguage = language;\n if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AppLanguageUpdated);\n }\n }\n\n private updateInternalShareBaseURL(shareBaseURL?: string) {\n const shareBaseURLChanged = this._shareBaseURL !== shareBaseURL;\n this._shareBaseURL = shareBaseURL;\n FireworkSDKModule.setShareBaseURL(shareBaseURL ?? '').then(() => {\n if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n });\n }\n\n private async completeRemainingInitialization(\n options: MarkInitCalledOptions = {\n directlyCallNativeInit: false,\n }\n ): Promise<void> {\n if (FWGlobalState.getInstance().sdkInitCalled) {\n return;\n }\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\n if (!options.directlyCallNativeInit) {\n await ShoppingModule.init();\n await LiveStreamModule.init();\n }\n }\n}\n\nexport default FireworkSDK;\n"]}
|
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","FWComponentType","LiveStreamChatEventName","LiveStreamEventName","LivestreamPlayerDesignVersion","VideoPlaybackEventName","VideoFeedUtil","VideoShopping"],"mappings":"AAIA,OAAOA,UAAP,MAAuB,yBAAvB;AAEA,OAAOC,SAAP,MAAsB,wBAAtB;AAOA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAKA,OAAOC,UAAP,MAAuB,cAAvB;AAWA,SAASC,eAAT,QAAgC,0BAAhC;AAwBA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;AAEA,OAAOC,6BAAP,MAA0C,wCAA1C;
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","FWComponentType","LiveStreamChatEventName","LiveStreamEventName","LivestreamPlayerDesignVersion","VideoPlaybackEventName","VideoFeedUtil","VideoShopping"],"mappings":"AAIA,OAAOA,UAAP,MAAuB,yBAAvB;AAEA,OAAOC,SAAP,MAAsB,wBAAtB;AAOA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAKA,OAAOC,UAAP,MAAuB,cAAvB;AAWA,SAASC,eAAT,QAAgC,0BAAhC;AAwBA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;AAEA,OAAOC,6BAAP,MAA0C,wCAA1C;AAsCA,OAAOC,sBAAP,MAAmC,iCAAnC;AAgBA,OAAOC,aAAP,MAA0B,uBAA1B;AASA,OAAOC,aAAP,MAA0B,iBAA1B;AAEA,eAAeT,WAAf;AAEA,SAoBEA,WApBF,EAqBEG,eArBF,EAuBEF,WAvBF,EAiCEC,UAjCF,EAmCEE,uBAnCF,EAsCEC,mBAtCF,EAwCEC,6BAxCF,EAqEER,UArEF,EA4EEC,SA5EF,EAsFES,aAtFF,EA2FED,sBA3FF,EAwGEE,aAxGF","sourcesContent":["import type {\n IStoryBlockMethods,\n IStoryBlockProps,\n} from './components/StoryBlock';\nimport StoryBlock from './components/StoryBlock';\nimport type { IVideoFeedProps, VideoFeedMode } from './components/VideoFeed';\nimport VideoFeed from './components/VideoFeed';\nimport type {\n CustomCTAClickCallback,\n SDKInitCallback,\n VideoFeedClickCallback,\n VideoPlaybackCallback,\n} from './FireworkSDK';\nimport FireworkSDK from './FireworkSDK';\nimport FWNavigator from './FWNavigator';\nimport type {\n onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n} from './LiveStream';\nimport LiveStream from './LiveStream';\nimport type AdBadgeConfiguration from './models/AdBadgeConfiguration';\nimport type { AdBadgeTextType } from './models/AdBadgeConfiguration';\nimport type AdConfiguration from './models/AdConfiguration';\nimport type { VastAttribute } from './models/AdConfiguration';\nimport type AndroidFontInfo from './models/AndroidFontInfo';\nimport type ButtonInfo from './models/ButtonInfo';\nimport type CountdownTimerConfiguration from './models/CountdownTimerConfiguration';\nimport type { CountdownTimerAppearanceMode } from './models/CountdownTimerConfiguration';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\nimport type FeedItemDetails from './models/FeedItemDetails';\nimport { FWComponentType } from './models/FWComponentType';\nimport type FWError from './models/FWError';\nimport type {\n ClickProductEvent,\n CustomClickCartIconEvent,\n CustomClickLinkButtonEvent,\n CustomCTAClickEvent,\n CustomTapProductCardEvent,\n LiveStreamChatEvent,\n LiveStreamEvent,\n PlayerHandler,\n SDKInitEvent,\n ShoppingCTAEvent,\n UpdateProductDetailsEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\nimport type GradientDrawable from './models/GradientDrawable';\nimport type { GradientDrawableOrientation } from './models/GradientDrawable';\nimport type IOSFontInfo from './models/IOSFontInfo';\nimport type {\n IOSSystemFontStyle,\n IOSSystemFontWeight,\n} from './models/IOSFontInfo';\nimport LiveStreamChatEventName from './models/LiveStreamChatEventName';\nimport type LiveStreamEventDetails from './models/LiveStreamEventDetails';\nimport LiveStreamEventName from './models/LiveStreamEventName';\nimport type LiveStreamMessageDetails from './models/LiveStreamMessageDetails';\nimport LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';\nimport type MarkInitCalledOptions from './models/MarkInitCalledOptions';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type Product from './models/Product';\nimport type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';\nimport type {\n LinkButtonConfiguration,\n ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n} from './models/ProductInfoViewConfiguration';\nimport type ProductUnit from './models/ProductUnit';\nimport type { ProductPrice, ProductUnitOption } from './models/ProductUnit';\nimport type PushRNContainerParams from './models/PushRNContainerParams';\nimport type { RNAppProps } from './models/PushRNContainerParams';\nimport type SDKInitOptions from './models/SDKInitOptions';\nimport type { VideoLaunchBehavior } from './models/SDKInitOptions';\nimport type ShoppingCTAResult from './models/ShoppingCTAResult';\nimport type { StoryBlockConfiguration } from './models/StoryBlockConfiguration';\nimport type { StoryBlockSource } from './models/StoryBlockSource';\nimport type TrackPurchaseParameters from './models/TrackPurchaseParameters';\nimport type VideoFeedConfiguration from './models/VideoFeedConfiguration';\nimport type {\n VideoFeedPadding,\n VideoFeedPlayIconConfiguration,\n VideoFeedTitleConfiguration,\n VideoFeedTitlePosition,\n} from './models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from './models/VideoFeedSource';\nimport type VideoPlaybackDetails from './models/VideoPlaybackDetails';\nimport type { VideoPlayerSize } from './models/VideoPlaybackDetails';\nimport VideoPlaybackEventName from './models/VideoPlaybackEventName';\nimport type VideoPlayerButtonConfiguration from './models/VideoPlayerButtonConfiguration';\nimport type { VideoPlayerCompleteAction } from './models/VideoPlayerCompleteAction';\nimport type VideoPlayerConfiguration from './models/VideoPlayerConfiguration';\nimport type {\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n} from './models/VideoPlayerCTADelay';\nimport type { VideoPlayerCTAStyle } from './models/VideoPlayerCTAStyle';\nimport type { VideoPlayerCTAWidth } from './models/VideoPlayerCTAWidth';\nimport type { VideoPlayerLivestreamCountdownTimerTheme } from './models/VideoPlayerLivestreamCountdownTimerTheme';\nimport type {\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n} from './models/VideoPlayerLogoConfiguration';\nimport type { VideoPlayerStyle } from './models/VideoPlayerStyle';\nimport VideoFeedUtil from './utils/VideoFeedUtil';\nimport type {\n ClickProductCallback,\n CustomClickCartIconCallback,\n CustomClickLinkButtonCallback,\n CustomTapProductCardCallback,\n ShoppingCTACallback,\n UpdateProductDetailsCallback,\n} from './VideoShopping';\nimport VideoShopping from './VideoShopping';\n\nexport default FireworkSDK;\n\nexport {\n AdBadgeConfiguration,\n AdBadgeTextType,\n AdConfiguration,\n AndroidFontInfo,\n ButtonInfo,\n ClickProductCallback,\n ClickProductEvent,\n CountdownTimerAppearanceMode,\n CountdownTimerConfiguration,\n CustomClickCartIconCallback,\n CustomClickCartIconEvent,\n CustomClickLinkButtonCallback,\n CustomClickLinkButtonEvent,\n CustomCTAClickCallback,\n CustomCTAClickEvent,\n CustomTapProductCardCallback,\n CustomTapProductCardEvent,\n DataTrackingLevel,\n FeedItemDetails,\n FireworkSDK,\n FWComponentType,\n FWError,\n FWNavigator,\n GradientDrawable,\n GradientDrawableOrientation,\n IOSFontInfo,\n IOSSystemFontStyle,\n IOSSystemFontWeight,\n IStoryBlockMethods,\n IStoryBlockProps,\n IVideoFeedProps,\n LinkButtonConfiguration,\n LiveStream,\n LiveStreamChatEvent,\n LiveStreamChatEventName,\n LiveStreamEvent,\n LiveStreamEventDetails,\n LiveStreamEventName,\n LiveStreamMessageDetails,\n LivestreamPlayerDesignVersion,\n MarkInitCalledOptions,\n onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n OpenVideoPlayerConfiguration,\n PlayerHandler,\n Product,\n ProductCardConfiguration,\n ProductCardCTAButtonStyle,\n ProductCardCTAButtonText,\n ProductCardIconConfiguration,\n ProductCardLabelConfiguration,\n ProductCardPriceConfiguration,\n ProductCardPriceLabelAxis,\n ProductCardTheme,\n ProductInfoViewConfiguration,\n ProductPrice,\n ProductUnit,\n ProductUnitOption,\n PushRNContainerParams,\n RNAppProps,\n SDKInitCallback,\n SDKInitEvent,\n SDKInitOptions,\n ShoppingCTAButtonConfiguration,\n ShoppingCTAButtonText,\n ShoppingCTACallback,\n ShoppingCTAEvent,\n ShoppingCTAResult,\n StoryBlock,\n StoryBlockConfiguration,\n StoryBlockSource,\n TrackPurchaseParameters,\n UpdateProductDetailsCallback,\n UpdateProductDetailsEvent,\n VastAttribute,\n VideoFeed,\n VideoFeedClickCallback,\n VideoFeedClickEvent,\n VideoFeedConfiguration,\n VideoFeedMode,\n VideoFeedPadding,\n VideoFeedPlayIconConfiguration,\n VideoFeedSource,\n VideoFeedTitleConfiguration,\n VideoFeedTitlePosition,\n VideoFeedUtil,\n VideoLaunchBehavior,\n VideoPlaybackCallback,\n VideoPlaybackDetails,\n VideoPlaybackEvent,\n VideoPlaybackEventName,\n VideoPlayerButtonConfiguration,\n VideoPlayerCompleteAction,\n VideoPlayerConfiguration,\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n VideoPlayerCTAStyle,\n VideoPlayerCTAWidth,\n VideoPlayerLivestreamCountdownTimerTheme,\n VideoPlayerLogoConfiguration,\n VideoPlayerLogoOption,\n VideoPlayerSize,\n VideoPlayerStyle,\n VideoShopping,\n};\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":[],"names":[],"mappings":"","sourcesContent":[]}
|
|
@@ -4,6 +4,7 @@ import type AdBadgeConfiguration from './models/AdBadgeConfiguration';
|
|
|
4
4
|
import type { DataTrackingLevel } from './models/DataTrackingLevel';
|
|
5
5
|
import type { CustomCTAClickEvent, SDKInitEvent, VideoFeedClickEvent, VideoPlaybackEvent } from './models/FWEvents';
|
|
6
6
|
import LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';
|
|
7
|
+
import type MarkInitCalledOptions from './models/MarkInitCalledOptions';
|
|
7
8
|
import type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';
|
|
8
9
|
import type SDKInitOptions from './models/SDKInitOptions';
|
|
9
10
|
import type { VideoLaunchBehavior } from './models/SDKInitOptions';
|
|
@@ -107,15 +108,10 @@ declare class FireworkSDK {
|
|
|
107
108
|
*/
|
|
108
109
|
init(options?: SDKInitOptions): Promise<void>;
|
|
109
110
|
/**
|
|
110
|
-
*
|
|
111
|
+
* Mark the initialization method as being called on the JS side.
|
|
112
|
+
* @param {MarkInitCalledOptions} options
|
|
111
113
|
*/
|
|
112
|
-
|
|
113
|
-
* You need to call this method when you call init method in native side.
|
|
114
|
-
* @param nativeLazyInit
|
|
115
|
-
* Genenally, you should call naitve init in application(:, didFinishLaunchingWithOptions:) -> Bool on iOS
|
|
116
|
-
* and MainApplication.onCreate on Android. If not, you should pass nativeLazyInit as true.
|
|
117
|
-
*/
|
|
118
|
-
markInitCalled(nativeLazyInit?: boolean): Promise<void>;
|
|
114
|
+
markInitCalled(options?: MarkInitCalledOptions): Promise<void>;
|
|
119
115
|
/**
|
|
120
116
|
* Open Video URL.
|
|
121
117
|
* @param {string} url
|
|
@@ -29,6 +29,7 @@ import type LiveStreamEventDetails from './models/LiveStreamEventDetails';
|
|
|
29
29
|
import LiveStreamEventName from './models/LiveStreamEventName';
|
|
30
30
|
import type LiveStreamMessageDetails from './models/LiveStreamMessageDetails';
|
|
31
31
|
import LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';
|
|
32
|
+
import type MarkInitCalledOptions from './models/MarkInitCalledOptions';
|
|
32
33
|
import type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';
|
|
33
34
|
import type Product from './models/Product';
|
|
34
35
|
import type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';
|
|
@@ -62,4 +63,4 @@ import VideoFeedUtil from './utils/VideoFeedUtil';
|
|
|
62
63
|
import type { ClickProductCallback, CustomClickCartIconCallback, CustomClickLinkButtonCallback, CustomTapProductCardCallback, ShoppingCTACallback, UpdateProductDetailsCallback } from './VideoShopping';
|
|
63
64
|
import VideoShopping from './VideoShopping';
|
|
64
65
|
export default FireworkSDK;
|
|
65
|
-
export { AdBadgeConfiguration, AdBadgeTextType, AdConfiguration, AndroidFontInfo, ButtonInfo, ClickProductCallback, ClickProductEvent, CountdownTimerAppearanceMode, CountdownTimerConfiguration, CustomClickCartIconCallback, CustomClickCartIconEvent, CustomClickLinkButtonCallback, CustomClickLinkButtonEvent, CustomCTAClickCallback, CustomCTAClickEvent, CustomTapProductCardCallback, CustomTapProductCardEvent, DataTrackingLevel, FeedItemDetails, FireworkSDK, FWComponentType, FWError, FWNavigator, GradientDrawable, GradientDrawableOrientation, IOSFontInfo, IOSSystemFontStyle, IOSSystemFontWeight, IStoryBlockMethods, IStoryBlockProps, IVideoFeedProps, LinkButtonConfiguration, LiveStream, LiveStreamChatEvent, LiveStreamChatEventName, LiveStreamEvent, LiveStreamEventDetails, LiveStreamEventName, LiveStreamMessageDetails, LivestreamPlayerDesignVersion, onLiveStreamChatEventCallback, onLiveStreamEventCallback, OpenVideoPlayerConfiguration, PlayerHandler, Product, ProductCardConfiguration, ProductCardCTAButtonStyle, ProductCardCTAButtonText, ProductCardIconConfiguration, ProductCardLabelConfiguration, ProductCardPriceConfiguration, ProductCardPriceLabelAxis, ProductCardTheme, ProductInfoViewConfiguration, ProductPrice, ProductUnit, ProductUnitOption, PushRNContainerParams, RNAppProps, SDKInitCallback, SDKInitEvent, SDKInitOptions, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText, ShoppingCTACallback, ShoppingCTAEvent, ShoppingCTAResult, StoryBlock, StoryBlockConfiguration, StoryBlockSource, TrackPurchaseParameters, UpdateProductDetailsCallback, UpdateProductDetailsEvent, VastAttribute, VideoFeed, VideoFeedClickCallback, VideoFeedClickEvent, VideoFeedConfiguration, VideoFeedMode, VideoFeedPadding, VideoFeedPlayIconConfiguration, VideoFeedSource, VideoFeedTitleConfiguration, VideoFeedTitlePosition, VideoFeedUtil, VideoLaunchBehavior, VideoPlaybackCallback, VideoPlaybackDetails, VideoPlaybackEvent, VideoPlaybackEventName, VideoPlayerButtonConfiguration, VideoPlayerCompleteAction, VideoPlayerConfiguration, VideoPlayerCTADelay, VideoPlayerCTADelayType, VideoPlayerCTAStyle, VideoPlayerCTAWidth, VideoPlayerLivestreamCountdownTimerTheme, VideoPlayerLogoConfiguration, VideoPlayerLogoOption, VideoPlayerSize, VideoPlayerStyle, VideoShopping, };
|
|
66
|
+
export { AdBadgeConfiguration, AdBadgeTextType, AdConfiguration, AndroidFontInfo, ButtonInfo, ClickProductCallback, ClickProductEvent, CountdownTimerAppearanceMode, CountdownTimerConfiguration, CustomClickCartIconCallback, CustomClickCartIconEvent, CustomClickLinkButtonCallback, CustomClickLinkButtonEvent, CustomCTAClickCallback, CustomCTAClickEvent, CustomTapProductCardCallback, CustomTapProductCardEvent, DataTrackingLevel, FeedItemDetails, FireworkSDK, FWComponentType, FWError, FWNavigator, GradientDrawable, GradientDrawableOrientation, IOSFontInfo, IOSSystemFontStyle, IOSSystemFontWeight, IStoryBlockMethods, IStoryBlockProps, IVideoFeedProps, LinkButtonConfiguration, LiveStream, LiveStreamChatEvent, LiveStreamChatEventName, LiveStreamEvent, LiveStreamEventDetails, LiveStreamEventName, LiveStreamMessageDetails, LivestreamPlayerDesignVersion, MarkInitCalledOptions, onLiveStreamChatEventCallback, onLiveStreamEventCallback, OpenVideoPlayerConfiguration, PlayerHandler, Product, ProductCardConfiguration, ProductCardCTAButtonStyle, ProductCardCTAButtonText, ProductCardIconConfiguration, ProductCardLabelConfiguration, ProductCardPriceConfiguration, ProductCardPriceLabelAxis, ProductCardTheme, ProductInfoViewConfiguration, ProductPrice, ProductUnit, ProductUnitOption, PushRNContainerParams, RNAppProps, SDKInitCallback, SDKInitEvent, SDKInitOptions, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText, ShoppingCTACallback, ShoppingCTAEvent, ShoppingCTAResult, StoryBlock, StoryBlockConfiguration, StoryBlockSource, TrackPurchaseParameters, UpdateProductDetailsCallback, UpdateProductDetailsEvent, VastAttribute, VideoFeed, VideoFeedClickCallback, VideoFeedClickEvent, VideoFeedConfiguration, VideoFeedMode, VideoFeedPadding, VideoFeedPlayIconConfiguration, VideoFeedSource, VideoFeedTitleConfiguration, VideoFeedTitlePosition, VideoFeedUtil, VideoLaunchBehavior, VideoPlaybackCallback, VideoPlaybackDetails, VideoPlaybackEvent, VideoPlaybackEventName, VideoPlayerButtonConfiguration, VideoPlayerCompleteAction, VideoPlayerConfiguration, VideoPlayerCTADelay, VideoPlayerCTADelayType, VideoPlayerCTAStyle, VideoPlayerCTAWidth, VideoPlayerLivestreamCountdownTimerTheme, VideoPlayerLogoConfiguration, VideoPlayerLogoOption, VideoPlayerSize, VideoPlayerStyle, VideoShopping, };
|
|
@@ -46,6 +46,20 @@ export interface VideoPlaybackEvent {
|
|
|
46
46
|
export interface VideoFeedClickEvent {
|
|
47
47
|
info: FeedItemDetails;
|
|
48
48
|
}
|
|
49
|
+
export interface CustomCTA {
|
|
50
|
+
/**
|
|
51
|
+
* Action URL that is associated with this CTA
|
|
52
|
+
*/
|
|
53
|
+
url: string;
|
|
54
|
+
/**
|
|
55
|
+
* The title key of the CTA, such as buy_now.
|
|
56
|
+
*/
|
|
57
|
+
titleKey: string;
|
|
58
|
+
/**
|
|
59
|
+
* The title of the CTA, such as "Buy Now".
|
|
60
|
+
*/
|
|
61
|
+
title: string;
|
|
62
|
+
}
|
|
49
63
|
export interface ShoppingCTAEvent {
|
|
50
64
|
/**
|
|
51
65
|
* The url for the product unit
|
|
@@ -63,6 +77,10 @@ export interface ShoppingCTAEvent {
|
|
|
63
77
|
* The video playback details for the event.
|
|
64
78
|
*/
|
|
65
79
|
video: VideoPlaybackDetails;
|
|
80
|
+
/**
|
|
81
|
+
* This property only has value when configuring a custom product primary CTA in the business portal.
|
|
82
|
+
*/
|
|
83
|
+
customCTA?: CustomCTA;
|
|
66
84
|
}
|
|
67
85
|
export interface UpdateProductDetailsEvent {
|
|
68
86
|
/**
|
package/package.json
CHANGED
package/src/FireworkSDK.ts
CHANGED
|
@@ -12,6 +12,7 @@ import type {
|
|
|
12
12
|
VideoPlaybackEvent,
|
|
13
13
|
} from './models/FWEvents';
|
|
14
14
|
import LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';
|
|
15
|
+
import type MarkInitCalledOptions from './models/MarkInitCalledOptions';
|
|
15
16
|
import type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';
|
|
16
17
|
import type SDKInitOptions from './models/SDKInitOptions';
|
|
17
18
|
import type { VideoLaunchBehavior } from './models/SDKInitOptions';
|
|
@@ -320,23 +321,22 @@ class FireworkSDK {
|
|
|
320
321
|
}
|
|
321
322
|
|
|
322
323
|
/**
|
|
323
|
-
*
|
|
324
|
+
* Mark the initialization method as being called on the JS side.
|
|
325
|
+
* @param {MarkInitCalledOptions} options
|
|
324
326
|
*/
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
|
|
330
|
-
*/
|
|
331
|
-
public async markInitCalled(nativeLazyInit: boolean = false): Promise<void> {
|
|
327
|
+
public async markInitCalled(
|
|
328
|
+
options: MarkInitCalledOptions = {
|
|
329
|
+
directlyCallNativeInit: false,
|
|
330
|
+
}
|
|
331
|
+
): Promise<void> {
|
|
332
332
|
FWLoggerUtil.log('Call FireworkSDK markInitCalled method');
|
|
333
|
-
if (
|
|
334
|
-
await this.completeRemainingInitialization();
|
|
333
|
+
if (options.directlyCallNativeInit) {
|
|
334
|
+
await this.completeRemainingInitialization(options);
|
|
335
335
|
await FireworkSDKModule.markInitCalled();
|
|
336
336
|
} else {
|
|
337
337
|
const hasCalledSDKInit = await FireworkSDKModule.markInitCalled();
|
|
338
338
|
if (hasCalledSDKInit) {
|
|
339
|
-
await this.completeRemainingInitialization();
|
|
339
|
+
await this.completeRemainingInitialization(options);
|
|
340
340
|
}
|
|
341
341
|
}
|
|
342
342
|
}
|
|
@@ -418,14 +418,20 @@ class FireworkSDK {
|
|
|
418
418
|
});
|
|
419
419
|
}
|
|
420
420
|
|
|
421
|
-
private async completeRemainingInitialization(
|
|
421
|
+
private async completeRemainingInitialization(
|
|
422
|
+
options: MarkInitCalledOptions = {
|
|
423
|
+
directlyCallNativeInit: false,
|
|
424
|
+
}
|
|
425
|
+
): Promise<void> {
|
|
422
426
|
if (FWGlobalState.getInstance().sdkInitCalled) {
|
|
423
427
|
return;
|
|
424
428
|
}
|
|
425
429
|
|
|
426
430
|
FWGlobalState.getInstance().resolveSdkInitCalled();
|
|
427
|
-
|
|
428
|
-
|
|
431
|
+
if (!options.directlyCallNativeInit) {
|
|
432
|
+
await ShoppingModule.init();
|
|
433
|
+
await LiveStreamModule.init();
|
|
434
|
+
}
|
|
429
435
|
}
|
|
430
436
|
}
|
|
431
437
|
|
package/src/index.ts
CHANGED
|
@@ -57,6 +57,7 @@ import type LiveStreamEventDetails from './models/LiveStreamEventDetails';
|
|
|
57
57
|
import LiveStreamEventName from './models/LiveStreamEventName';
|
|
58
58
|
import type LiveStreamMessageDetails from './models/LiveStreamMessageDetails';
|
|
59
59
|
import LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';
|
|
60
|
+
import type MarkInitCalledOptions from './models/MarkInitCalledOptions';
|
|
60
61
|
import type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';
|
|
61
62
|
import type Product from './models/Product';
|
|
62
63
|
import type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';
|
|
@@ -163,6 +164,7 @@ export {
|
|
|
163
164
|
LiveStreamEventName,
|
|
164
165
|
LiveStreamMessageDetails,
|
|
165
166
|
LivestreamPlayerDesignVersion,
|
|
167
|
+
MarkInitCalledOptions,
|
|
166
168
|
onLiveStreamChatEventCallback,
|
|
167
169
|
onLiveStreamEventCallback,
|
|
168
170
|
OpenVideoPlayerConfiguration,
|
package/src/models/FWEvents.ts
CHANGED
|
@@ -55,6 +55,23 @@ export interface VideoFeedClickEvent {
|
|
|
55
55
|
info: FeedItemDetails;
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
export interface CustomCTA {
|
|
59
|
+
/**
|
|
60
|
+
* Action URL that is associated with this CTA
|
|
61
|
+
*/
|
|
62
|
+
url: string;
|
|
63
|
+
|
|
64
|
+
/**
|
|
65
|
+
* The title key of the CTA, such as buy_now.
|
|
66
|
+
*/
|
|
67
|
+
titleKey: string;
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* The title of the CTA, such as "Buy Now".
|
|
71
|
+
*/
|
|
72
|
+
title: string;
|
|
73
|
+
}
|
|
74
|
+
|
|
58
75
|
export interface ShoppingCTAEvent {
|
|
59
76
|
/**
|
|
60
77
|
* The url for the product unit
|
|
@@ -72,6 +89,11 @@ export interface ShoppingCTAEvent {
|
|
|
72
89
|
* The video playback details for the event.
|
|
73
90
|
*/
|
|
74
91
|
video: VideoPlaybackDetails;
|
|
92
|
+
|
|
93
|
+
/**
|
|
94
|
+
* This property only has value when configuring a custom product primary CTA in the business portal.
|
|
95
|
+
*/
|
|
96
|
+
customCTA?: CustomCTA;
|
|
75
97
|
}
|
|
76
98
|
|
|
77
99
|
export interface UpdateProductDetailsEvent {
|