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.
Files changed (40) hide show
  1. package/android/gradle.properties +1 -1
  2. package/android/src/main/java/com/fireworksdk/bridge/components/videofeed/FWVideoFeed.kt +1 -2
  3. package/android/src/main/java/com/fireworksdk/bridge/models/FWShoppingCustomCta.kt +7 -0
  4. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModel.kt +1 -0
  5. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModelDeserializer.kt +3 -0
  6. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedConfigModelSerializer.kt +2 -0
  7. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModel.kt +1 -0
  8. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt +5 -1
  9. package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt +2 -0
  10. package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWEventName.kt +1 -0
  11. package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FWVideoShoppingModule.kt +10 -2
  12. package/android/src/main/java/com/fireworksdk/bridge/reactnative/utils/FWEventUtils.kt +20 -1
  13. package/android/src/main/java/com/fireworksdk/bridge/utils/FWConfigUtil.kt +7 -0
  14. package/android/src/main/java/com/fireworksdk/bridge/utils/FWModelUtils.kt +18 -1
  15. package/ios/Components/StoryBlock.swift +1 -1
  16. package/ios/Components/VideoFeed.swift +1 -1
  17. package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +1 -0
  18. package/ios/Modules/Shopping/ShoppingModule.swift +12 -0
  19. package/lib/commonjs/FireworkSDK.js +16 -14
  20. package/lib/commonjs/FireworkSDK.js.map +1 -1
  21. package/lib/commonjs/index.js.map +1 -1
  22. package/lib/commonjs/models/MarkInitCalledOptions.js +2 -0
  23. package/lib/commonjs/models/MarkInitCalledOptions.js.map +1 -0
  24. package/lib/module/FireworkSDK.js +17 -14
  25. package/lib/module/FireworkSDK.js.map +1 -1
  26. package/lib/module/index.js.map +1 -1
  27. package/lib/module/models/MarkInitCalledOptions.js +2 -0
  28. package/lib/module/models/MarkInitCalledOptions.js.map +1 -0
  29. package/lib/typescript/FireworkSDK.d.ts +4 -8
  30. package/lib/typescript/index.d.ts +2 -1
  31. package/lib/typescript/models/FWEvents.d.ts +18 -0
  32. package/lib/typescript/models/MarkInitCalledOptions.d.ts +6 -0
  33. package/lib/typescript/models/VideoPlayerConfiguration.d.ts +0 -1
  34. package/package.json +1 -1
  35. package/react-native-firework-sdk.podspec +2 -2
  36. package/src/FireworkSDK.ts +20 -14
  37. package/src/index.ts +2 -0
  38. package/src/models/FWEvents.ts +22 -0
  39. package/src/models/MarkInitCalledOptions.ts +6 -0
  40. package/src/models/VideoPlayerConfiguration.ts +0 -1
@@ -6,4 +6,4 @@ FireworkSDK_minSdkVersion=21
6
6
  FireworkSDK_compileSdkVersion=33
7
7
  FireworkSDK_targetSdkVersion=33
8
8
  FireworkSDK_fwPlayerLaunchMode=singleTask
9
- FireworkSDK_fwNativeVersion=6.16.5
9
+ FireworkSDK_fwNativeVersion=6.18.11
@@ -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(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT))
31
+ addView(videoFeedView, LayoutParams(LayoutParams.MATCH_PARENT, LayoutParams.MATCH_PARENT))
33
32
  }
34
33
 
35
34
  fun setVideoFeedLayoutParams(l: LayoutParams?) {
@@ -0,0 +1,7 @@
1
+ package com.fireworksdk.bridge.models
2
+
3
+ data class FWShoppingCustomCta(
4
+ val url: String,
5
+ val titleKey: String,
6
+ val title: String,
7
+ )
@@ -12,6 +12,7 @@ data class FWVideoFeedConfigModel(
12
12
  val enableAutoplay: Boolean? = null,
13
13
  val gridColumns: Int? = null,
14
14
  val itemSpacing: Int? = null,
15
+ val aspectRatio: Double? = null,
15
16
  ) {
16
17
 
17
18
  data class FWTitleModel(
@@ -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
 
@@ -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))
@@ -27,6 +27,7 @@ data class FWVideoPlayerConfigModel(
27
27
  val showFullScreenIcon: Boolean? = null,
28
28
  val enableAutoPlay: Boolean? = null,
29
29
  val enableAutoPause: Boolean? = null,
30
+ val enableSmallSizeInCompact: Boolean? = null
30
31
  ) {
31
32
 
32
33
  data class FWCtaButtonStyleModel(
@@ -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
 
@@ -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
  }
@@ -289,8 +289,16 @@ class FWVideoShoppingModule(
289
289
  ctaHandler = Triple(callbackId, productId, unitId)
290
290
 
291
291
  val videoPlaybackDetails = FWModelUtils.convertVideoInfo2PlaybackDetails(videoInfo)
292
-
293
- FWEventUtils.sendShoppingCtaButtonClickEvent(reactApplicationContext, productId, unitId, productWebUrl, videoPlaybackDetails, callbackId)
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(reactContext: ReactContext, productId: String?, unitId: String?, url: String?, info: FWVideoPlaybackDetails?, callbackId: Int?) {
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(videoOrLiveStreamID: contentId)
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(videoOrLiveStreamID: contentId)
108
+ return .singleContent(contentID: contentId)
109
109
  }
110
110
  }
111
111
 
@@ -8,6 +8,7 @@
8
8
 
9
9
  import FireworkVideo
10
10
  import FireworkVideoUI
11
+ import Network
11
12
 
12
13
  var gShareBaseURL: String?
13
14
  var gAdBadgeConfiguration: AdBadgeConfiguration?
@@ -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
- * You only need to call this method when you call init method in native side instead of JS side.
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 nativeLazyInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
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 (!nativeLazyInit) {
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
- await _ShoppingModule.default.init();
452
- await _LiveStreamModule.default.init();
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":";;;;;;;AAAA;;AAEA;;AACA;;AAGA;;AAOA;;AAKA;;AAGA;;AACA;;AACA;;AACA;;AACA;;;;;;;;;;AAaA;AACA;AACA;AACA,MAAMA,WAAN,CAAkB;AAGhB;AACF;AACA;;AAGE;AACF;AACA;AAC6B,MAAhBC,gBAAgB,GAAuC;AAChE,WAAO,KAAKC,iBAAZ;AACD;;AAC0B,MAAhBD,gBAAgB,CAACE,KAAD,EAA4C;AACrE,SAAKD,iBAAL,GAAyBC,KAAzB;;AACA,QAAIC,sBAASC,EAAT,KAAgB,KAApB,EAA2B;AACzBC,iCAAkBC,gCAAlB,CAAmD,CAAC,CAACJ,KAArD;AACD;AACF;;AAGD;AACF;AACA;AAC6B,MAAhBK,gBAAgB,GAAuC;AAChE,WAAO,KAAKC,iBAAZ;AACD;;AAC0B,MAAhBD,gBAAgB,CAACL,KAAD,EAA4C;AACrEO,0BAAaC,GAAb,CAAkB,iCAAgC,CAAC,CAACR,KAAM,EAA1D;;AACA,SAAKM,iBAAL,GAAyBN,KAAzB;;AACAG,+BAAkBM,wBAAlB,CAA2CT,KAAK,GAAG,IAAH,GAAU,KAA1D;AACD;;AAGD;AACF;AACA;AAC4B,MAAfU,eAAe,GAAsC;AAC9D,WAAO,KAAKC,gBAAZ;AACD;;AACyB,MAAfD,eAAe,CAACV,KAAD,EAA2C;AACnE,SAAKW,gBAAL,GAAwBX,KAAxB;;AACAG,+BAAkBS,4BAAlB,CAA+CZ,KAAK,GAAG,IAAH,GAAU,KAA9D;AACD;;AAGD;AACF;AACA;AACA;AACyB,MAAZa,YAAY,GAAuB;AAC5C,WAAO,KAAKC,aAAZ;AACD;;AACsB,MAAZD,YAAY,CAACb,KAAD,EAA4B;AACjD,SAAKe,0BAAL,CAAgCf,KAAhC;AACD;;AAGD;AACF;AACA;AACiC,MAApBgB,oBAAoB,GAAqC;AAClE,WAAO,KAAKC,qBAAZ;AACD;;AAC8B,MAApBD,oBAAoB,CAAChB,KAAD,EAA0C;AAAA;;AACvE,UAAMkB,eAAe,GACnB,+BAAKD,qBAAL,gFAA4BE,aAA5B,OAA8CnB,KAA9C,aAA8CA,KAA9C,uBAA8CA,KAAK,CAAEmB,aAArD,KACA,gCAAKF,qBAAL,kFAA4BG,eAA5B,OAAgDpB,KAAhD,aAAgDA,KAAhD,uBAAgDA,KAAK,CAAEoB,eAAvD,CADA,IAEA,gCAAKH,qBAAL,kFAA4BI,SAA5B,OAA0CrB,KAA1C,aAA0CA,KAA1C,uBAA0CA,KAAK,CAAEqB,SAAjD,CAFA,IAGA,gCAAKJ,qBAAL,4GAA4BK,eAA5B,kFAA6CC,QAA7C,OACEvB,KADF,aACEA,KADF,gDACEA,KAAK,CAAEsB,eADT,0DACE,sBAAwBC,QAD1B,CAHA,IAKA,gCAAKN,qBAAL,4GAA4BK,eAA5B,kFAA6CE,YAA7C,OACExB,KADF,aACEA,KADF,iDACEA,KAAK,CAAEsB,eADT,2DACE,uBAAwBE,YAD1B,CANF;AAQA,SAAKP,qBAAL,GAA6BjB,KAA7B;;AAEAG,+BAAkBsB,uBAAlB,CAA0CzB,KAA1C,aAA0CA,KAA1C,cAA0CA,KAA1C,GAAmD,EAAnD,EAAuD0B,IAAvD,CAA4D,MAAM;AAChE,UAAIR,eAAJ,EAAqB;AACnB,aAAKS,YAAL,CAAkBC,IAAlB,CAAuBC,yBAAYC,2BAAnC;AACD;AACF,KAJD;AAKD;;AAGqB,MAAXC,WAAW,GAA8B;AAClD,WAAO,KAAKC,YAAZ;AACD;;AAGD;AACF;AACA;AAC8B,MAAjBC,iBAAiB,GAAsB;AAChD,WAAO,KAAKC,kBAAZ;AACD;;AAC2B,MAAjBD,iBAAiB,CAACjC,KAAD,EAA2B;AACrD,UAAMkB,eAAe,GAAG,KAAKgB,kBAAL,KAA4BlC,KAApD;AACA,SAAKkC,kBAAL,GAA0BlC,KAA1B;;AACAG,+BAAkBgC,oBAAlB,CAAuCnC,KAAvC,EAA8C0B,IAA9C,CAAmD,MAAM;AACvD,UAAIR,eAAJ,EAAqB;AACnB,aAAKS,YAAL,CAAkBC,IAAlB,CAAuBC,yBAAYO,wBAAnC;AACD;AACF,KAJD;AAKD;;AAGD;AACF;AACA;AACA;AAC6B,MAAhBC,gBAAgB,GAAY;AACrC,WAAO9B,sBAAa+B,OAApB;AACD;;AAC0B,MAAhBD,gBAAgB,CAACrC,KAAD,EAAiB;AAC1CO,0BAAa+B,OAAb,GAAuBtC,KAAvB;AACD;AAED;AACF;AACA;;;AACgC,MAAnBuC,mBAAmB,GAAoC;AAChE,WAAO,KAAKC,oBAAZ;AACD;;AAGD;AACF;AACA;AAC0C,MAA7BC,6BAA6B,GAAkC;AACxE,WAAO,KAAKC,8BAAZ;AACD;;AACuC,MAA7BD,6BAA6B,CACtCzC,KADsC,EAEtC;AACA,UAAMkB,eAAe,GAAG,KAAKwB,8BAAL,KAAwC1C,KAAhE;AACA,SAAK0C,8BAAL,GAAsC1C,KAAtC;;AACAG,+BAAkBwC,gCAAlB,CAAmD3C,KAAnD,EAA0D0B,IAA1D,CAA+D,MAAM;AACnE,UAAIR,eAAJ,EAAqB;AACnB,aAAKS,YAAL,CAAkBC,IAAlB,CACEC,yBAAYe,oCADd;AAGD;AACF,KAND;AAOD;;AAIuB,MAAZjB,YAAY,GAAuB;AAC7C,WAAOkB,gDAAP;AACD;AAED;AACF;AACA;;;AACqB,MAARC,QAAQ,GAAkB;AACnC,WAAO,KAAKC,SAAZ;AACD;;AAGD;AACF;AACA;AACuB,MAAVC,UAAU,GAAe;AAClC,WAAO,KAAKC,WAAZ;AACD;;AAGD;AACF;AACA;AACsB,MAATC,SAAS,GAAgB;AAClC,WAAO,KAAKC,UAAZ;AACD;;AAKD;AACF;AACA;AACA;AAC2B,SAAXC,WAAW,GAAG;AAC1B,QAAI,CAACvD,WAAW,CAACwD,SAAjB,EAA4B;AAC1BxD,MAAAA,WAAW,CAACwD,SAAZ,GAAwB,IAAIxD,WAAJ,EAAxB;AACD;;AAED,WAAOA,WAAW,CAACwD,SAAnB;AACD;;AAEOC,EAAAA,WAAW,GAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,gDArF0B,KAqF1B;;AAAA;;AAAA,4DA5CpBC,uCAA8BC,EA4CV;;AAAA,uCAhCaC,uBAAcL,WAAd,EAgCb;;AAAA,yCAxBYM,oBAAWN,WAAX,EAwBZ;;AAAA,wCAhBYO,qBAAYP,WAAZ,EAgBZ;;AAAA,sDAdsB,KActB;;AACpB7C,0BAAaC,GAAb,CAAiB,yBAAjB;;AAEA,SAAKmB,YAAL,CAAkBiC,WAAlB,CAA8B/B,yBAAYgC,OAA1C,EAAoDC,KAAD,IAAW;AAC5DvD,4BAAaC,GAAb,CAAkB,yBAAwBsD,KAAzB,aAAyBA,KAAzB,uBAAyBA,KAAK,CAAEC,KAAM,EAAvD;;AAEA,UAAID,KAAK,IAAI,CAACA,KAAK,CAACC,KAApB,EAA2B;AACzB,aAAKC,+BAAL;AACD;;AAED,UAAI,CAAC,KAAKC,wBAAV,EAAoC;AAClC,aAAKA,wBAAL,GAAgC,IAAhC;;AACA,YAAI,KAAKC,SAAL,IAAkBJ,KAAtB,EAA6B;AAC3B,eAAKI,SAAL,CAAeJ,KAAf;AACD;AACF;AACF,KAbD;AAeA,SAAKnC,YAAL,CAAkBiC,WAAlB,CAA8B/B,yBAAYsC,UAA1C,EAAuDL,KAAD,IAAW;AAC/DvD,4BAAa6D,gBAAb,CAA8BN,KAAK,CAACO,OAApC;AACD,KAFD;AAIA,SAAK1C,YAAL,CAAkBiC,WAAlB,CAA8B/B,yBAAYyC,cAA1C,EAA2DR,KAAD,IAAW;AACnEvD,4BAAaC,GAAb,CAAkB,+BAA8BsD,KAA/B,aAA+BA,KAA/B,uBAA+BA,KAAK,CAAES,GAAI,EAA3D;;AACAhE,4BAAaC,GAAb,CACG,sCAAqCsD,KAAtC,aAAsCA,KAAtC,uBAAsCA,KAAK,CAAEU,UAAW,EAD1D;;AAIA,UAAI,KAAKnE,gBAAL,IAAyByD,KAA7B,EAAoC;AAClC,YAAIA,KAAK,CAACU,UAAV,EAAsB;AACpB,gBAAMA,UAAU,GAAGV,KAAK,CAACU,UAAzB;AACA,iBAAOV,KAAK,CAACU,UAAb;;AACA,cAAIvE,sBAASC,EAAT,KAAgB,KAApB,EAA2B;AACzB4D,YAAAA,KAAK,CAACW,aAAN,GAAsB;AACpBC,cAAAA,KAAK,EAAE,MAAMvE,2BAAkBwE,WAAlB,CAA8BH,UAA9B,CADO;AAEpBI,cAAAA,MAAM,EAAE,MAAMzE,2BAAkB0E,YAAlB,CAA+BL,UAA/B;AAFM,aAAtB;AAID;AACF;;AACD,aAAKnE,gBAAL,CAAsByD,KAAtB;AACD;AACF,KAnBD;AAqBA,SAAKnC,YAAL,CAAkBiC,WAAlB,CAA8B/B,yBAAYiD,aAA1C,EAA0DhB,KAAD,IAAW;AAClEvD,4BAAaC,GAAb,CACG,0CAAyCsD,KAA1C,aAA0CA,KAA1C,uBAA0CA,KAAK,CAAEiB,SAAU,EAD7D;;AAIA,UAAI,KAAKrE,eAAL,IAAwBoD,KAA5B,EAAmC;AACjC,aAAKpD,eAAL,CAAqBoD,KAArB;AACD;AACF,KARD;AAUA,SAAKnC,YAAL,CAAkBiC,WAAlB,CAA8B/B,yBAAYmD,cAA1C,EAA2DlB,KAAD,IAAW;AACnEvD,4BAAaC,GAAb,CAAkB,oCAAmCsD,KAApC,aAAoCA,KAApC,uBAAoCA,KAAK,CAAEmB,IAAP,CAAYC,EAAG,EAApE;;AAEA,UAAI,KAAKpF,gBAAL,IAAyBgE,KAA7B,EAAoC;AAClC,aAAKhE,gBAAL,CAAsBgE,KAAtB;AACD;AACF,KAND;;AAQA,QAAI7D,sBAASC,EAAT,KAAgB,KAApB,EAA2B;AACzB,WAAKyB,YAAL,CAAkBiC,WAAlB,CACE/B,yBAAYsD,wBADd,EAEGrB,KAAD,IAAW;AACTvD,8BAAaC,GAAb,CACG,uDAAsDsD,KAAK,CAAC/B,WAAY,EAD3E;;AAGA,cAAMqD,QAAQ,GAAGtB,KAAK,CAAC/B,WAAvB;AACA,aAAKsD,yBAAL,CAA+BD,QAA/B;AACD,OARH;AAUD;AACF;AAED;AACF;AACA;AACA;;;AACmB,QAAJE,IAAI,CAACC,OAAD,EAA0C;AACzDhF,0BAAaC,GAAb,CAAiB,8BAAjB;;AACA,UAAMgF,0BAA0B,GAC9B,KAAKhD,oBAAL,MAA8B+C,OAA9B,aAA8BA,OAA9B,uBAA8BA,OAAO,CAAEhD,mBAAvC,CADF;AAEA,SAAKC,oBAAL,GAA4B+C,OAA5B,aAA4BA,OAA5B,uBAA4BA,OAAO,CAAEhD,mBAArC;AACA,UAAMpC,2BAAkBmF,IAAlB,CAAuBC,OAAvB,CAAN;;AACA,QAAIC,0BAAJ,EAAgC;AAC9B,WAAK7D,YAAL,CAAkBC,IAAlB,CAAuBC,yBAAY4D,0BAAnC;AACD;;AACD,UAAM,KAAKzB,+BAAL,EAAN;AACD;AAED;AACF;AACA;;AACE;AACF;AACA;AACA;AACA;AACA;;;AAC6B,QAAd0B,cAAc,GAAiD;AAAA,QAAhDC,cAAgD,uEAAtB,KAAsB;;AAC1EpF,0BAAaC,GAAb,CAAiB,wCAAjB;;AACA,QAAI,CAACmF,cAAL,EAAqB;AACnB,YAAM,KAAK3B,+BAAL,EAAN;AACA,YAAM7D,2BAAkBuF,cAAlB,EAAN;AACD,KAHD,MAGO;AACL,YAAME,gBAAgB,GAAG,MAAMzF,2BAAkBuF,cAAlB,EAA/B;;AACA,UAAIE,gBAAJ,EAAsB;AACpB,cAAM,KAAK5B,+BAAL,EAAN;AACD;AACF;AACF;AAED;AACF;AACA;AACA;AACA;;;AAC8B,QAAf6B,eAAe,CAC1BtB,GAD0B,EAE1BuB,MAF0B,EAGX;AACf,QAAI,CAACC,uBAAc3C,WAAd,GAA4B4C,aAAjC,EAAgD;AAC9C,YAAMD,uBAAc3C,WAAd,GAA4B6C,oBAAlC;AACD;;AACD9F,+BAAkB0F,eAAlB,CAAkCtB,GAAlC,EAAuCuB,MAAvC,aAAuCA,MAAvC,cAAuCA,MAAvC,GAAiD,EAAjD;AACD;AAED;AACF;AACA;AACA;;;AAC4B,QAAbI,aAAa,CACxBC,UADwB,EAET;AACf,QAAI,CAACJ,uBAAc3C,WAAd,GAA4B4C,aAAjC,EAAgD;AAC9C,YAAMD,uBAAc3C,WAAd,GAA4B6C,oBAAlC;AACD;;AACD9F,+BAAkB+F,aAAlB,CAAgCC,UAAhC;AACD;AAED;AACF;AACA;AACA;AACA;;;AACgC,QAAjBC,iBAAiB,CAAChB,QAAD,EAA6C;AACzE,QAAI,CAACW,uBAAc3C,WAAd,GAA4B4C,aAAjC,EAAgD;AAC9C,YAAMD,uBAAc3C,WAAd,GAA4B6C,oBAAlC;AACD;;AAED,UAAMI,MAAM,GAAG,MAAMlG,2BAAkBiG,iBAAlB,CAAoChB,QAApC,CAArB;;AAEA,QAAIiB,MAAJ,EAAY;AACV,YAAMC,eAAe,GAAG,KAAKtE,YAAL,KAAsBoD,QAA9C;;AACA,UAAInF,sBAASC,EAAT,KAAgB,KAAhB,IAAyBoG,eAA7B,EAA8C;AAC5C,cAAM,KAAKpD,SAAL,CAAeqD,kBAAf,EAAN;AACD;;AACD,WAAKlB,yBAAL,CAA+BD,QAA/B;AACD;;AACD,WAAOiB,MAAP;AACD;AAED;AACF;AACA;AACA;AACA;;;AACSG,EAAAA,gBAAgB,CAACC,MAAD,EAAiB;AACtC,WAAOV,uBAAc3C,WAAd,GAA4BsD,wBAA5B,CAAqDC,GAArD,CAAyDF,MAAzD,CAAP;AACD;;AAEOpB,EAAAA,yBAAyB,CAACD,QAAD,EAA2B;AAC1D,UAAMlE,eAAe,GAAG,KAAKc,YAAL,KAAsBoD,QAA9C;AACA,SAAKpD,YAAL,GAAoBoD,QAApB;;AACA,QAAIlE,eAAJ,EAAqB;AACnB,WAAKS,YAAL,CAAkBC,IAAlB,CAAuBC,yBAAY+E,kBAAnC;AACD;AACF;;AAEO7F,EAAAA,0BAA0B,CAACF,YAAD,EAAwB;AACxD,UAAMgG,mBAAmB,GAAG,KAAK/F,aAAL,KAAuBD,YAAnD;AACA,SAAKC,aAAL,GAAqBD,YAArB;;AACAV,+BAAkB2G,eAAlB,CAAkCjG,YAAlC,aAAkCA,YAAlC,cAAkCA,YAAlC,GAAkD,EAAlD,EAAsDa,IAAtD,CAA2D,MAAM;AAC/D,UAAImF,mBAAJ,EAAyB;AACvB,aAAKlF,YAAL,CAAkBC,IAAlB,CAAuBC,yBAAYkF,mBAAnC;AACD;AACF,KAJD;AAKD;;AAE4C,QAA/B/C,+BAA+B,GAAkB;AAC7D,QAAI+B,uBAAc3C,WAAd,GAA4B4C,aAAhC,EAA+C;AAC7C;AACD;;AAEDD,2BAAc3C,WAAd,GAA4B4D,oBAA5B;;AACA,UAAMC,wBAAe3B,IAAf,EAAN;AACA,UAAM4B,0BAAiB5B,IAAjB,EAAN;AACD;;AAnYe;;gBAAZzF,W;;eAsYSA,W","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;;AAqCA;;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 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 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"]}
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,2 @@
1
+ "use strict";
2
+ //# sourceMappingURL=MarkInitCalledOptions.js.map
@@ -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
- * You only need to call this method when you call init method in native side instead of JS side.
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 nativeLazyInit = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : false;
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 (!nativeLazyInit) {
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
- await ShoppingModule.init();
416
- await LiveStreamModule.init();
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":";;AAAA,SAA6BA,QAA7B,QAA6C,cAA7C;AAEA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAGA,SAASC,WAAT,QAA4B,sBAA5B;AAOA,OAAOC,6BAAP,MAA0C,wCAA1C;AAMA,OAAOC,iBAAP,IACEC,6BADF,QAEO,6BAFP;AAGA,OAAOC,gBAAP,MAA6B,4BAA7B;AACA,OAAOC,cAAP,MAA2B,0BAA3B;AACA,OAAOC,aAAP,MAA0B,uBAA1B;AACA,OAAOC,YAAP,MAAyB,sBAAzB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;;AAaA;AACA;AACA;AACA,MAAMC,WAAN,CAAkB;AAGhB;AACF;AACA;;AAGE;AACF;AACA;AAC6B,MAAhBC,gBAAgB,GAAuC;AAChE,WAAO,KAAKC,iBAAZ;AACD;;AAC0B,MAAhBD,gBAAgB,CAACE,KAAD,EAA4C;AACrE,SAAKD,iBAAL,GAAyBC,KAAzB;;AACA,QAAIf,QAAQ,CAACgB,EAAT,KAAgB,KAApB,EAA2B;AACzBX,MAAAA,iBAAiB,CAACY,gCAAlB,CAAmD,CAAC,CAACF,KAArD;AACD;AACF;;AAGD;AACF;AACA;AAC6B,MAAhBG,gBAAgB,GAAuC;AAChE,WAAO,KAAKC,iBAAZ;AACD;;AAC0B,MAAhBD,gBAAgB,CAACH,KAAD,EAA4C;AACrEL,IAAAA,YAAY,CAACU,GAAb,CAAkB,iCAAgC,CAAC,CAACL,KAAM,EAA1D;AACA,SAAKI,iBAAL,GAAyBJ,KAAzB;AACAV,IAAAA,iBAAiB,CAACgB,wBAAlB,CAA2CN,KAAK,GAAG,IAAH,GAAU,KAA1D;AACD;;AAGD;AACF;AACA;AAC4B,MAAfO,eAAe,GAAsC;AAC9D,WAAO,KAAKC,gBAAZ;AACD;;AACyB,MAAfD,eAAe,CAACP,KAAD,EAA2C;AACnE,SAAKQ,gBAAL,GAAwBR,KAAxB;AACAV,IAAAA,iBAAiB,CAACmB,4BAAlB,CAA+CT,KAAK,GAAG,IAAH,GAAU,KAA9D;AACD;;AAGD;AACF;AACA;AACA;AACyB,MAAZU,YAAY,GAAuB;AAC5C,WAAO,KAAKC,aAAZ;AACD;;AACsB,MAAZD,YAAY,CAACV,KAAD,EAA4B;AACjD,SAAKY,0BAAL,CAAgCZ,KAAhC;AACD;;AAGD;AACF;AACA;AACiC,MAApBa,oBAAoB,GAAqC;AAClE,WAAO,KAAKC,qBAAZ;AACD;;AAC8B,MAApBD,oBAAoB,CAACb,KAAD,EAA0C;AAAA;;AACvE,UAAMe,eAAe,GACnB,+BAAKD,qBAAL,gFAA4BE,aAA5B,OAA8ChB,KAA9C,aAA8CA,KAA9C,uBAA8CA,KAAK,CAAEgB,aAArD,KACA,gCAAKF,qBAAL,kFAA4BG,eAA5B,OAAgDjB,KAAhD,aAAgDA,KAAhD,uBAAgDA,KAAK,CAAEiB,eAAvD,CADA,IAEA,gCAAKH,qBAAL,kFAA4BI,SAA5B,OAA0ClB,KAA1C,aAA0CA,KAA1C,uBAA0CA,KAAK,CAAEkB,SAAjD,CAFA,IAGA,gCAAKJ,qBAAL,4GAA4BK,eAA5B,kFAA6CC,QAA7C,OACEpB,KADF,aACEA,KADF,gDACEA,KAAK,CAAEmB,eADT,0DACE,sBAAwBC,QAD1B,CAHA,IAKA,gCAAKN,qBAAL,4GAA4BK,eAA5B,kFAA6CE,YAA7C,OACErB,KADF,aACEA,KADF,iDACEA,KAAK,CAAEmB,eADT,2DACE,uBAAwBE,YAD1B,CANF;AAQA,SAAKP,qBAAL,GAA6Bd,KAA7B;AAEAV,IAAAA,iBAAiB,CAACgC,uBAAlB,CAA0CtB,KAA1C,aAA0CA,KAA1C,cAA0CA,KAA1C,GAAmD,EAAnD,EAAuDuB,IAAvD,CAA4D,MAAM;AAChE,UAAIR,eAAJ,EAAqB;AACnB,aAAKS,YAAL,CAAkBC,IAAlB,CAAuBrC,WAAW,CAACsC,2BAAnC;AACD;AACF,KAJD;AAKD;;AAGqB,MAAXC,WAAW,GAA8B;AAClD,WAAO,KAAKC,YAAZ;AACD;;AAGD;AACF;AACA;AAC8B,MAAjBC,iBAAiB,GAAsB;AAChD,WAAO,KAAKC,kBAAZ;AACD;;AAC2B,MAAjBD,iBAAiB,CAAC7B,KAAD,EAA2B;AACrD,UAAMe,eAAe,GAAG,KAAKe,kBAAL,KAA4B9B,KAApD;AACA,SAAK8B,kBAAL,GAA0B9B,KAA1B;AACAV,IAAAA,iBAAiB,CAACyC,oBAAlB,CAAuC/B,KAAvC,EAA8CuB,IAA9C,CAAmD,MAAM;AACvD,UAAIR,eAAJ,EAAqB;AACnB,aAAKS,YAAL,CAAkBC,IAAlB,CAAuBrC,WAAW,CAAC4C,wBAAnC;AACD;AACF,KAJD;AAKD;;AAGD;AACF;AACA;AACA;AAC6B,MAAhBC,gBAAgB,GAAY;AACrC,WAAOtC,YAAY,CAACuC,OAApB;AACD;;AAC0B,MAAhBD,gBAAgB,CAACjC,KAAD,EAAiB;AAC1CL,IAAAA,YAAY,CAACuC,OAAb,GAAuBlC,KAAvB;AACD;AAED;AACF;AACA;;;AACgC,MAAnBmC,mBAAmB,GAAoC;AAChE,WAAO,KAAKC,oBAAZ;AACD;;AAGD;AACF;AACA;AAC0C,MAA7BC,6BAA6B,GAAkC;AACxE,WAAO,KAAKC,8BAAZ;AACD;;AACuC,MAA7BD,6BAA6B,CACtCrC,KADsC,EAEtC;AACA,UAAMe,eAAe,GAAG,KAAKuB,8BAAL,KAAwCtC,KAAhE;AACA,SAAKsC,8BAAL,GAAsCtC,KAAtC;AACAV,IAAAA,iBAAiB,CAACiD,gCAAlB,CAAmDvC,KAAnD,EAA0DuB,IAA1D,CAA+D,MAAM;AACnE,UAAIR,eAAJ,EAAqB;AACnB,aAAKS,YAAL,CAAkBC,IAAlB,CACErC,WAAW,CAACoD,oCADd;AAGD;AACF,KAND;AAOD;;AAIuB,MAAZhB,YAAY,GAAuB;AAC7C,WAAOjC,6BAAP;AACD;AAED;AACF;AACA;;;AACqB,MAARkD,QAAQ,GAAkB;AACnC,WAAO,KAAKC,SAAZ;AACD;;AAGD;AACF;AACA;AACuB,MAAVC,UAAU,GAAe;AAClC,WAAO,KAAKC,WAAZ;AACD;;AAGD;AACF;AACA;AACsB,MAATC,SAAS,GAAgB;AAClC,WAAO,KAAKC,UAAZ;AACD;;AAKD;AACF;AACA;AACA;AAC2B,SAAXC,WAAW,GAAG;AAC1B,QAAI,CAAClD,WAAW,CAACmD,SAAjB,EAA4B;AAC1BnD,MAAAA,WAAW,CAACmD,SAAZ,GAAwB,IAAInD,WAAJ,EAAxB;AACD;;AAED,WAAOA,WAAW,CAACmD,SAAnB;AACD;;AAEOC,EAAAA,WAAW,GAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,gDArF0B,KAqF1B;;AAAA;;AAAA,4DA5CpB5D,6BAA6B,CAAC6D,EA4CV;;AAAA,uCAhCatD,aAAa,CAACmD,WAAd,EAgCb;;AAAA,yCAxBY5D,UAAU,CAAC4D,WAAX,EAwBZ;;AAAA,wCAhBY7D,WAAW,CAAC6D,WAAZ,EAgBZ;;AAAA,sDAdsB,KActB;;AACpBpD,IAAAA,YAAY,CAACU,GAAb,CAAiB,yBAAjB;AAEA,SAAKmB,YAAL,CAAkB2B,WAAlB,CAA8B/D,WAAW,CAACgE,OAA1C,EAAoDC,KAAD,IAAW;AAC5D1D,MAAAA,YAAY,CAACU,GAAb,CAAkB,yBAAwBgD,KAAzB,aAAyBA,KAAzB,uBAAyBA,KAAK,CAAEC,KAAM,EAAvD;;AAEA,UAAID,KAAK,IAAI,CAACA,KAAK,CAACC,KAApB,EAA2B;AACzB,aAAKC,+BAAL;AACD;;AAED,UAAI,CAAC,KAAKC,wBAAV,EAAoC;AAClC,aAAKA,wBAAL,GAAgC,IAAhC;;AACA,YAAI,KAAKC,SAAL,IAAkBJ,KAAtB,EAA6B;AAC3B,eAAKI,SAAL,CAAeJ,KAAf;AACD;AACF;AACF,KAbD;AAeA,SAAK7B,YAAL,CAAkB2B,WAAlB,CAA8B/D,WAAW,CAACsE,UAA1C,EAAuDL,KAAD,IAAW;AAC/D1D,MAAAA,YAAY,CAACgE,gBAAb,CAA8BN,KAAK,CAACO,OAApC;AACD,KAFD;AAIA,SAAKpC,YAAL,CAAkB2B,WAAlB,CAA8B/D,WAAW,CAACyE,cAA1C,EAA2DR,KAAD,IAAW;AACnE1D,MAAAA,YAAY,CAACU,GAAb,CAAkB,+BAA8BgD,KAA/B,aAA+BA,KAA/B,uBAA+BA,KAAK,CAAES,GAAI,EAA3D;AACAnE,MAAAA,YAAY,CAACU,GAAb,CACG,sCAAqCgD,KAAtC,aAAsCA,KAAtC,uBAAsCA,KAAK,CAAEU,UAAW,EAD1D;;AAIA,UAAI,KAAK5D,gBAAL,IAAyBkD,KAA7B,EAAoC;AAClC,YAAIA,KAAK,CAACU,UAAV,EAAsB;AACpB,gBAAMA,UAAU,GAAGV,KAAK,CAACU,UAAzB;AACA,iBAAOV,KAAK,CAACU,UAAb;;AACA,cAAI9E,QAAQ,CAACgB,EAAT,KAAgB,KAApB,EAA2B;AACzBoD,YAAAA,KAAK,CAACW,aAAN,GAAsB;AACpBC,cAAAA,KAAK,EAAE,MAAM3E,iBAAiB,CAAC4E,WAAlB,CAA8BH,UAA9B,CADO;AAEpBI,cAAAA,MAAM,EAAE,MAAM7E,iBAAiB,CAAC8E,YAAlB,CAA+BL,UAA/B;AAFM,aAAtB;AAID;AACF;;AACD,aAAK5D,gBAAL,CAAsBkD,KAAtB;AACD;AACF,KAnBD;AAqBA,SAAK7B,YAAL,CAAkB2B,WAAlB,CAA8B/D,WAAW,CAACiF,aAA1C,EAA0DhB,KAAD,IAAW;AAClE1D,MAAAA,YAAY,CAACU,GAAb,CACG,0CAAyCgD,KAA1C,aAA0CA,KAA1C,uBAA0CA,KAAK,CAAEiB,SAAU,EAD7D;;AAIA,UAAI,KAAK/D,eAAL,IAAwB8C,KAA5B,EAAmC;AACjC,aAAK9C,eAAL,CAAqB8C,KAArB;AACD;AACF,KARD;AAUA,SAAK7B,YAAL,CAAkB2B,WAAlB,CAA8B/D,WAAW,CAACmF,cAA1C,EAA2DlB,KAAD,IAAW;AACnE1D,MAAAA,YAAY,CAACU,GAAb,CAAkB,oCAAmCgD,KAApC,aAAoCA,KAApC,uBAAoCA,KAAK,CAAEmB,IAAP,CAAYC,EAAG,EAApE;;AAEA,UAAI,KAAK3E,gBAAL,IAAyBuD,KAA7B,EAAoC;AAClC,aAAKvD,gBAAL,CAAsBuD,KAAtB;AACD;AACF,KAND;;AAQA,QAAIpE,QAAQ,CAACgB,EAAT,KAAgB,KAApB,EAA2B;AACzB,WAAKuB,YAAL,CAAkB2B,WAAlB,CACE/D,WAAW,CAACsF,wBADd,EAEGrB,KAAD,IAAW;AACT1D,QAAAA,YAAY,CAACU,GAAb,CACG,uDAAsDgD,KAAK,CAAC1B,WAAY,EAD3E;AAGA,cAAMgD,QAAQ,GAAGtB,KAAK,CAAC1B,WAAvB;AACA,aAAKiD,yBAAL,CAA+BD,QAA/B;AACD,OARH;AAUD;AACF;AAED;AACF;AACA;AACA;;;AACmB,QAAJE,IAAI,CAACC,OAAD,EAA0C;AACzDnF,IAAAA,YAAY,CAACU,GAAb,CAAiB,8BAAjB;AACA,UAAM0E,0BAA0B,GAC9B,KAAK3C,oBAAL,MAA8B0C,OAA9B,aAA8BA,OAA9B,uBAA8BA,OAAO,CAAE3C,mBAAvC,CADF;AAEA,SAAKC,oBAAL,GAA4B0C,OAA5B,aAA4BA,OAA5B,uBAA4BA,OAAO,CAAE3C,mBAArC;AACA,UAAM7C,iBAAiB,CAACuF,IAAlB,CAAuBC,OAAvB,CAAN;;AACA,QAAIC,0BAAJ,EAAgC;AAC9B,WAAKvD,YAAL,CAAkBC,IAAlB,CAAuBrC,WAAW,CAAC4F,0BAAnC;AACD;;AACD,UAAM,KAAKzB,+BAAL,EAAN;AACD;AAED;AACF;AACA;AACA;;;AAC6B,QAAd0B,cAAc,GAIV;AAAA,QAHfH,OAGe,uEAHkB;AAC/BI,MAAAA,sBAAsB,EAAE;AADO,KAGlB;AACfvF,IAAAA,YAAY,CAACU,GAAb,CAAiB,wCAAjB;;AACA,QAAIyE,OAAO,CAACI,sBAAZ,EAAoC;AAClC,YAAM,KAAK3B,+BAAL,CAAqCuB,OAArC,CAAN;AACA,YAAMxF,iBAAiB,CAAC2F,cAAlB,EAAN;AACD,KAHD,MAGO;AACL,YAAME,gBAAgB,GAAG,MAAM7F,iBAAiB,CAAC2F,cAAlB,EAA/B;;AACA,UAAIE,gBAAJ,EAAsB;AACpB,cAAM,KAAK5B,+BAAL,CAAqCuB,OAArC,CAAN;AACD;AACF;AACF;AAED;AACF;AACA;AACA;AACA;;;AAC8B,QAAfM,eAAe,CAC1BtB,GAD0B,EAE1BuB,MAF0B,EAGX;AACf,QAAI,CAAC3F,aAAa,CAACqD,WAAd,GAA4BuC,aAAjC,EAAgD;AAC9C,YAAM5F,aAAa,CAACqD,WAAd,GAA4BwC,oBAAlC;AACD;;AACDjG,IAAAA,iBAAiB,CAAC8F,eAAlB,CAAkCtB,GAAlC,EAAuCuB,MAAvC,aAAuCA,MAAvC,cAAuCA,MAAvC,GAAiD,EAAjD;AACD;AAED;AACF;AACA;AACA;;;AAC4B,QAAbG,aAAa,CACxBC,UADwB,EAET;AACf,QAAI,CAAC/F,aAAa,CAACqD,WAAd,GAA4BuC,aAAjC,EAAgD;AAC9C,YAAM5F,aAAa,CAACqD,WAAd,GAA4BwC,oBAAlC;AACD;;AACDjG,IAAAA,iBAAiB,CAACkG,aAAlB,CAAgCC,UAAhC;AACD;AAED;AACF;AACA;AACA;AACA;;;AACgC,QAAjBC,iBAAiB,CAACf,QAAD,EAA6C;AACzE,QAAI,CAACjF,aAAa,CAACqD,WAAd,GAA4BuC,aAAjC,EAAgD;AAC9C,YAAM5F,aAAa,CAACqD,WAAd,GAA4BwC,oBAAlC;AACD;;AAED,UAAMI,MAAM,GAAG,MAAMrG,iBAAiB,CAACoG,iBAAlB,CAAoCf,QAApC,CAArB;;AAEA,QAAIgB,MAAJ,EAAY;AACV,YAAMC,eAAe,GAAG,KAAKhE,YAAL,KAAsB+C,QAA9C;;AACA,UAAI1F,QAAQ,CAACgB,EAAT,KAAgB,KAAhB,IAAyB2F,eAA7B,EAA8C;AAC5C,cAAM,KAAK/C,SAAL,CAAegD,kBAAf,EAAN;AACD;;AACD,WAAKjB,yBAAL,CAA+BD,QAA/B;AACD;;AACD,WAAOgB,MAAP;AACD;AAED;AACF;AACA;AACA;AACA;;;AACSG,EAAAA,gBAAgB,CAACC,MAAD,EAAiB;AACtC,WAAOrG,aAAa,CAACqD,WAAd,GAA4BiD,wBAA5B,CAAqDC,GAArD,CAAyDF,MAAzD,CAAP;AACD;;AAEOnB,EAAAA,yBAAyB,CAACD,QAAD,EAA2B;AAC1D,UAAM5D,eAAe,GAAG,KAAKa,YAAL,KAAsB+C,QAA9C;AACA,SAAK/C,YAAL,GAAoB+C,QAApB;;AACA,QAAI5D,eAAJ,EAAqB;AACnB,WAAKS,YAAL,CAAkBC,IAAlB,CAAuBrC,WAAW,CAAC8G,kBAAnC;AACD;AACF;;AAEOtF,EAAAA,0BAA0B,CAACF,YAAD,EAAwB;AACxD,UAAMyF,mBAAmB,GAAG,KAAKxF,aAAL,KAAuBD,YAAnD;AACA,SAAKC,aAAL,GAAqBD,YAArB;AACApB,IAAAA,iBAAiB,CAAC8G,eAAlB,CAAkC1F,YAAlC,aAAkCA,YAAlC,cAAkCA,YAAlC,GAAkD,EAAlD,EAAsDa,IAAtD,CAA2D,MAAM;AAC/D,UAAI4E,mBAAJ,EAAyB;AACvB,aAAK3E,YAAL,CAAkBC,IAAlB,CAAuBrC,WAAW,CAACiH,mBAAnC;AACD;AACF,KAJD;AAKD;;AAE4C,QAA/B9C,+BAA+B,GAI5B;AAAA,QAHfuB,OAGe,uEAHkB;AAC/BI,MAAAA,sBAAsB,EAAE;AADO,KAGlB;;AACf,QAAIxF,aAAa,CAACqD,WAAd,GAA4BuC,aAAhC,EAA+C;AAC7C;AACD;;AAED5F,IAAAA,aAAa,CAACqD,WAAd,GAA4BuD,oBAA5B;;AACA,QAAI,CAACxB,OAAO,CAACI,sBAAb,EAAqC;AACnC,YAAMzF,cAAc,CAACoF,IAAf,EAAN;AACA,YAAMrF,gBAAgB,CAACqF,IAAjB,EAAN;AACD;AACF;;AAxYe;;gBAAZhF,W;;AA2YN,eAAeA,WAAf","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":["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;AAqCA,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,EAoEER,UApEF,EA2EEC,SA3EF,EAqFES,aArFF,EA0FED,sBA1FF,EAuGEE,aAvGF","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 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 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"]}
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,2 @@
1
+
2
+ //# sourceMappingURL=MarkInitCalledOptions.js.map
@@ -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
- * You only need to call this method when you call init method in native side instead of JS side.
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
  /**
@@ -0,0 +1,6 @@
1
+ export default interface MarkInitCalledOptions {
2
+ /**
3
+ * Whether to directly call native init method.
4
+ */
5
+ directlyCallNativeInit: boolean;
6
+ }
@@ -81,7 +81,6 @@ export default interface VideoPlayerConfiguration {
81
81
  replayBadgeConfiguration?: ReplayBadgeConfiguration;
82
82
  /**
83
83
  * Specifies countdown timer configuration.
84
- * Only supported on iOS.
85
84
  */
86
85
  countdownTimerConfiguration?: CountdownTimerConfiguration;
87
86
  }
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "react-native-firework-sdk",
3
- "version": "2.15.2",
3
+ "version": "2.16.0",
4
4
  "description": "Firework React Native SDK",
5
5
  "main": "lib/commonjs/index",
6
6
  "module": "lib/module/index",
@@ -33,6 +33,6 @@ fi
33
33
  s.static_framework = true
34
34
 
35
35
  s.dependency 'React-Core'
36
- s.dependency 'FireworkVideoUI', '0.2.14'
37
- s.dependency 'FireworkVideo', '1.28.3'
36
+ s.dependency 'FireworkVideoUI', '0.2.15'
37
+ s.dependency 'FireworkVideo', '1.30.0'
38
38
  end
@@ -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
- * You only need to call this method when you call init method in native side instead of JS side.
324
+ * Mark the initialization method as being called on the JS side.
325
+ * @param {MarkInitCalledOptions} options
324
326
  */
325
- /**
326
- * You need to call this method when you call init method in native side.
327
- * @param nativeLazyInit
328
- * Genenally, you should call naitve init in application(:, didFinishLaunchingWithOptions:) -> Bool on iOS
329
- * and MainApplication.onCreate on Android. If not, you should pass nativeLazyInit as true.
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 (!nativeLazyInit) {
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(): Promise<void> {
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
- await ShoppingModule.init();
428
- await LiveStreamModule.init();
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,
@@ -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 {
@@ -0,0 +1,6 @@
1
+ export default interface MarkInitCalledOptions {
2
+ /**
3
+ * Whether to directly call native init method.
4
+ */
5
+ directlyCallNativeInit: boolean;
6
+ }
@@ -82,7 +82,6 @@ export default interface VideoPlayerConfiguration {
82
82
  replayBadgeConfiguration?: ReplayBadgeConfiguration;
83
83
  /**
84
84
  * Specifies countdown timer configuration.
85
- * Only supported on iOS.
86
85
  */
87
86
  countdownTimerConfiguration?: CountdownTimerConfiguration;
88
87
  }