react-native-firework-sdk 2.4.1 → 2.4.2-beta.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/FireworkVideoUI.xcframework/Info.plist +5 -5
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/FireworkVideoUI +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Info.plist +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/FireworkVideoUI +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Info.plist +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/_CodeSignature/CodeResources +1 -1
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/pages/{FWContianerActivity.kt → FWContainerActivity.kt} +6 -0
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.m +1 -1
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +6 -3
- package/lib/commonjs/FireworkSDK.js +10 -4
- package/lib/commonjs/FireworkSDK.js.map +1 -1
- package/lib/commonjs/modules/FireworkSDKModule.js.map +1 -1
- package/lib/module/FireworkSDK.js +10 -4
- package/lib/module/FireworkSDK.js.map +1 -1
- package/lib/module/modules/FireworkSDKModule.js.map +1 -1
- package/lib/typescript/FireworkSDK.d.ts +3 -3
- package/lib/typescript/modules/FireworkSDKModule.d.ts +1 -1
- package/package.json +1 -1
- package/src/FireworkSDK.ts +15 -4
- package/src/modules/FireworkSDKModule.ts +4 -1
|
@@ -6,30 +6,30 @@
|
|
|
6
6
|
<array>
|
|
7
7
|
<dict>
|
|
8
8
|
<key>LibraryIdentifier</key>
|
|
9
|
-
<string>ios-
|
|
9
|
+
<string>ios-arm64_x86_64-simulator</string>
|
|
10
10
|
<key>LibraryPath</key>
|
|
11
11
|
<string>FireworkVideoUI.framework</string>
|
|
12
12
|
<key>SupportedArchitectures</key>
|
|
13
13
|
<array>
|
|
14
14
|
<string>arm64</string>
|
|
15
|
+
<string>x86_64</string>
|
|
15
16
|
</array>
|
|
16
17
|
<key>SupportedPlatform</key>
|
|
17
18
|
<string>ios</string>
|
|
19
|
+
<key>SupportedPlatformVariant</key>
|
|
20
|
+
<string>simulator</string>
|
|
18
21
|
</dict>
|
|
19
22
|
<dict>
|
|
20
23
|
<key>LibraryIdentifier</key>
|
|
21
|
-
<string>ios-
|
|
24
|
+
<string>ios-arm64</string>
|
|
22
25
|
<key>LibraryPath</key>
|
|
23
26
|
<string>FireworkVideoUI.framework</string>
|
|
24
27
|
<key>SupportedArchitectures</key>
|
|
25
28
|
<array>
|
|
26
29
|
<string>arm64</string>
|
|
27
|
-
<string>x86_64</string>
|
|
28
30
|
</array>
|
|
29
31
|
<key>SupportedPlatform</key>
|
|
30
32
|
<string>ios</string>
|
|
31
|
-
<key>SupportedPlatformVariant</key>
|
|
32
|
-
<string>simulator</string>
|
|
33
33
|
</dict>
|
|
34
34
|
</array>
|
|
35
35
|
<key>CFBundlePackageType</key>
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Info.plist
CHANGED
|
Binary file
|
|
@@ -1,15 +1,21 @@
|
|
|
1
1
|
package com.fireworksdk.bridge.reactnative.pages
|
|
2
2
|
|
|
3
3
|
import android.app.Activity
|
|
4
|
+
import android.content.Context
|
|
4
5
|
import android.content.Intent
|
|
5
6
|
import android.os.Bundle
|
|
6
7
|
import com.facebook.react.ReactActivity
|
|
7
8
|
import com.facebook.react.ReactActivityDelegate
|
|
9
|
+
import com.fireworksdk.bridge.reactnative.FWReactNativeSDK.updateBaseContextLocale
|
|
8
10
|
import com.fireworksdk.bridge.utils.FWBundleUtils
|
|
9
11
|
|
|
10
12
|
|
|
11
13
|
class FWContainerActivity : ReactActivity() {
|
|
12
14
|
|
|
15
|
+
override fun attachBaseContext(newBase: Context) {
|
|
16
|
+
super.attachBaseContext(updateBaseContextLocale(newBase))
|
|
17
|
+
}
|
|
18
|
+
|
|
13
19
|
override fun getMainComponentName(): String {
|
|
14
20
|
return ""
|
|
15
21
|
}
|
|
@@ -18,6 +18,6 @@ RCT_EXTERN_METHOD(setShareBaseURL:(NSString *)url resolver: (RCTPromiseResolveBl
|
|
|
18
18
|
RCT_EXTERN_METHOD(setVideoPlaybackEventEnabled:(BOOL)enabled)
|
|
19
19
|
RCT_EXTERN_METHOD(setAdBadgeConfiguration:(NSDictionary *)config resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
20
20
|
RCT_EXTERN_METHOD(trackPurchase:(NSDictionary *)parameters)
|
|
21
|
-
RCT_EXTERN_METHOD(changeAppLanguage:(NSString * __nullable)language resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
21
|
+
RCT_EXTERN_METHOD(changeAppLanguage:(NSString * __nullable)language enableAutoHorizontalFlip:(BOOL)enableAutoHorizontalFlip resolver: (RCTPromiseResolveBlock)resolver rejecter:(RCTPromiseRejectBlock)rejecter)
|
|
22
22
|
|
|
23
23
|
@end
|
|
@@ -186,9 +186,12 @@ class FireworkSDKModule: RCTEventEmitter, FireworkVideoSDKDelegate {
|
|
|
186
186
|
)
|
|
187
187
|
}
|
|
188
188
|
|
|
189
|
-
@objc(changeAppLanguage:resolver:rejecter:)
|
|
189
|
+
@objc(changeAppLanguage:enableAutoHorizontalFlip:resolver:rejecter:)
|
|
190
190
|
func changeAppLanguage(
|
|
191
|
-
_ language: String?,
|
|
191
|
+
_ language: String?,
|
|
192
|
+
enableAutoHorizontalFlip:Bool,
|
|
193
|
+
resolver: @escaping RCTPromiseResolveBlock,
|
|
194
|
+
rejecter: @escaping RCTPromiseRejectBlock
|
|
192
195
|
) {
|
|
193
196
|
#if DEBUG
|
|
194
197
|
let formatter = DateFormatter()
|
|
@@ -197,7 +200,7 @@ class FireworkSDKModule: RCTEventEmitter, FireworkVideoSDKDelegate {
|
|
|
197
200
|
sendEvent(withName: FWEventName.logMessage.rawValue, body: ["message": message])
|
|
198
201
|
#endif
|
|
199
202
|
|
|
200
|
-
let result = AppLanguageManager.shared.changeAppLanguage(language)
|
|
203
|
+
let result = AppLanguageManager.shared.changeAppLanguage(language, enableAutoHorizontalFlip)
|
|
201
204
|
resolver(result)
|
|
202
205
|
}
|
|
203
206
|
|
|
@@ -307,18 +307,24 @@ class FireworkSDK {
|
|
|
307
307
|
}
|
|
308
308
|
/**
|
|
309
309
|
* Change App level language.
|
|
310
|
-
* @param {string | undefined | null} language Such as en, ar and en-US
|
|
311
|
-
*
|
|
310
|
+
* @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.
|
|
311
|
+
* @param {boolean | undefined} enableAutoHorizontalFlip Specifies if auto horizontal flip is enabled based on app and system language. Defaults to true.
|
|
312
312
|
* @returns {Promise<boolean>} The result of changing app language.
|
|
313
313
|
*/
|
|
314
314
|
|
|
315
315
|
|
|
316
|
-
async changeAppLanguage(language) {
|
|
316
|
+
async changeAppLanguage(language, enableAutoHorizontalFlip) {
|
|
317
317
|
if (!_FWGlobalState.default.getInstance().sdkInitCalled) {
|
|
318
318
|
await _FWGlobalState.default.getInstance().sdkInitCalledPromise;
|
|
319
319
|
}
|
|
320
320
|
|
|
321
|
-
|
|
321
|
+
let result = false;
|
|
322
|
+
|
|
323
|
+
if (_reactNative.Platform.OS === 'ios') {
|
|
324
|
+
result = await _FireworkSDKModule.default.changeAppLanguage(language, enableAutoHorizontalFlip !== null && enableAutoHorizontalFlip !== void 0 ? enableAutoHorizontalFlip : true);
|
|
325
|
+
} else {
|
|
326
|
+
result = await _FireworkSDKModule.default.changeAppLanguage(language);
|
|
327
|
+
}
|
|
322
328
|
|
|
323
329
|
if (result) {
|
|
324
330
|
const languageChanged = this._appLanguage !== language;
|
|
@@ -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","setShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","eventEmitter","emit","FWEventName","AdBadgeConfigurationUpdated","setAdBadgeConfiguration","appLanguage","_appLanguage","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","FireworkSDKModuleEventEmitter","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","VideoShopping","LiveStream","FWNavigator","addListener","SDKInit","event","error","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","ShoppingModule","LiveStreamModule","FWGlobalState","resolveSdkInitCalled","markInitCalled","openVideoPlayer","config","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","AppLanguageUpdated","shareBaseURLChanged","ShareBaseURLUpdated"],"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 { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\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 FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\nimport FWGlobalState from './utils/FWGlobalState';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\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 FireworkSDKModule.setShareBaseURL(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 if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {});\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 * 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 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 /**\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 (this.onSDKInit) {\n this.onSDKInit(event ?? {});\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\n if (this.onCustomCTAClick) {\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) {\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) {\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 if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await FireworkSDKModule.init(options);\n await ShoppingModule.init();\n await LiveStreamModule.init();\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 public async markInitCalled(): Promise<void> {\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 (Platform.OS === 'ios') {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\n }\n\n /**\n * Change App level language.\n * @param {string | undefined | null} language Such as en, ar and en-US\n * If language is null or undefined 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 const result = await FireworkSDKModule.changeAppLanguage(language);\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 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 if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\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","setShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","eventEmitter","emit","FWEventName","AdBadgeConfigurationUpdated","setAdBadgeConfiguration","appLanguage","_appLanguage","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","FireworkSDKModuleEventEmitter","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","VideoShopping","LiveStream","FWNavigator","addListener","SDKInit","event","error","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","ShoppingModule","LiveStreamModule","FWGlobalState","resolveSdkInitCalled","markInitCalled","openVideoPlayer","config","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","enableAutoHorizontalFlip","result","languageChanged","stopFloatingPlayer","AppLanguageUpdated","shareBaseURLChanged","ShareBaseURLUpdated"],"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 { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\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 FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\nimport FWGlobalState from './utils/FWGlobalState';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\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 FireworkSDKModule.setShareBaseURL(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 if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {});\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 * 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 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 /**\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 (this.onSDKInit) {\n this.onSDKInit(event ?? {});\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\n if (this.onCustomCTAClick) {\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) {\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) {\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 if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await FireworkSDKModule.init(options);\n await ShoppingModule.init();\n await LiveStreamModule.init();\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 public async markInitCalled(): Promise<void> {\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 (Platform.OS === 'ios') {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\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 * @param {boolean | undefined} enableAutoHorizontalFlip Specifies if auto horizontal flip is enabled based on app and system language. Defaults to true.\n * @returns {Promise<boolean>} The result of changing app language.\n */\n public async changeAppLanguage(\n language?: string | null,\n enableAutoHorizontalFlip?: boolean\n ): Promise<boolean> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n let result = false;\n if (Platform.OS === 'ios') {\n result = await FireworkSDKModule.changeAppLanguage(\n language,\n enableAutoHorizontalFlip ?? true\n );\n } else {\n 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 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 if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n }\n}\n\nexport default FireworkSDK;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["FireworkSDKModule","NativeModules","FireworkSDK","Proxy","get","Error","LINKING_ERROR","FireworkSDKModuleEventEmitter","NativeEventEmitter"],"mappings":";;;;;;;AAAA;;AAEA;;AAMA,MAAMA,iBAAiB,GAAGC,2BAAcC,WAAd,GACtBD,2BAAcC,WADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUC,6BAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;
|
|
1
|
+
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["FireworkSDKModule","NativeModules","FireworkSDK","Proxy","get","Error","LINKING_ERROR","FireworkSDKModuleEventEmitter","NativeEventEmitter"],"mappings":";;;;;;;AAAA;;AAEA;;AAMA,MAAMA,iBAAiB,GAAGC,2BAAcC,WAAd,GACtBD,2BAAcC,WADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUC,6BAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;AA0BA,MAAMC,6BAA6B,GAAG,IAAIC,+BAAJ,CAAuBR,iBAAvB,CAAtC;;eAEeA,iB","sourcesContent":["import { NativeEventEmitter, NativeModule, NativeModules } from 'react-native';\n\nimport { LINKING_ERROR } from '../constants/FWErrorMessage';\nimport type AdBadgeConfiguration from '../models/AdBadgeConfiguration';\nimport type SDKInitOptions from '../models/SDKInitOptions';\nimport type TrackPurchaseParameters from '../models/TrackPurchaseParameters';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\n\nconst FireworkSDKModule = NativeModules.FireworkSDK\n ? NativeModules.FireworkSDK\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\ninterface IFireworkSDKModule extends NativeModule {\n init(options?: SDKInitOptions): Promise<any>;\n openVideoPlayer(url: string, config?: VideoPlayerNativeConfiguration): void;\n setVideoFeedClickCallbackEnabled(enabled: boolean): void; // Only supported on iOS\n setCustomCTAClickEnabled(enabled: boolean): void;\n setShareBaseURL(url?: string): Promise<any>;\n setVideoPlaybackEventEnabled(enabled: boolean): void;\n setAdBadgeConfiguration(config?: AdBadgeConfiguration): Promise<any>;\n trackPurchase(parameters: TrackPurchaseParameters): void;\n changeAppLanguage(\n language?: string | null,\n enableAutoHorizontalFlip?: boolean\n ): Promise<boolean>;\n}\n\nconst FireworkSDKModuleEventEmitter = new NativeEventEmitter(FireworkSDKModule);\nexport { FireworkSDKModuleEventEmitter };\nexport default FireworkSDKModule as IFireworkSDKModule;\n"]}
|
|
@@ -277,18 +277,24 @@ class FireworkSDK {
|
|
|
277
277
|
}
|
|
278
278
|
/**
|
|
279
279
|
* Change App level language.
|
|
280
|
-
* @param {string | undefined | null} language Such as en, ar and en-US
|
|
281
|
-
*
|
|
280
|
+
* @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.
|
|
281
|
+
* @param {boolean | undefined} enableAutoHorizontalFlip Specifies if auto horizontal flip is enabled based on app and system language. Defaults to true.
|
|
282
282
|
* @returns {Promise<boolean>} The result of changing app language.
|
|
283
283
|
*/
|
|
284
284
|
|
|
285
285
|
|
|
286
|
-
async changeAppLanguage(language) {
|
|
286
|
+
async changeAppLanguage(language, enableAutoHorizontalFlip) {
|
|
287
287
|
if (!FWGlobalState.getInstance().sdkInitCalled) {
|
|
288
288
|
await FWGlobalState.getInstance().sdkInitCalledPromise;
|
|
289
289
|
}
|
|
290
290
|
|
|
291
|
-
|
|
291
|
+
let result = false;
|
|
292
|
+
|
|
293
|
+
if (Platform.OS === 'ios') {
|
|
294
|
+
result = await FireworkSDKModule.changeAppLanguage(language, enableAutoHorizontalFlip !== null && enableAutoHorizontalFlip !== void 0 ? enableAutoHorizontalFlip : true);
|
|
295
|
+
} else {
|
|
296
|
+
result = await FireworkSDKModule.changeAppLanguage(language);
|
|
297
|
+
}
|
|
292
298
|
|
|
293
299
|
if (result) {
|
|
294
300
|
const languageChanged = this._appLanguage !== language;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FireworkSDK.ts"],"names":["Platform","FWNavigator","LiveStream","FWEventName","FireworkSDKModule","FireworkSDKModuleEventEmitter","LiveStreamModule","ShoppingModule","FWLoggerUtil","VideoShopping","FWGlobalState","FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","OS","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","setShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","eventEmitter","emit","AdBadgeConfigurationUpdated","setAdBadgeConfiguration","appLanguage","_appLanguage","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","addListener","SDKInit","event","error","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","resolveSdkInitCalled","markInitCalled","openVideoPlayer","config","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","result","languageChanged","stopFloatingPlayer","AppLanguageUpdated","shareBaseURLChanged","ShareBaseURLUpdated"],"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 { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\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 FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\nimport FWGlobalState from './utils/FWGlobalState';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\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 FireworkSDKModule.setShareBaseURL(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 if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {});\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 * 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 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 /**\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 (this.onSDKInit) {\n this.onSDKInit(event ?? {});\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\n if (this.onCustomCTAClick) {\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) {\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) {\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 if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await FireworkSDKModule.init(options);\n await ShoppingModule.init();\n await LiveStreamModule.init();\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 public async markInitCalled(): Promise<void> {\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 (Platform.OS === 'ios') {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\n }\n\n /**\n * Change App level language.\n * @param {string | undefined | null} language Such as en, ar and en-US\n * If language is null or undefined 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 const result = await FireworkSDKModule.changeAppLanguage(language);\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 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 if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n }\n}\n\nexport default FireworkSDK;\n"]}
|
|
1
|
+
{"version":3,"sources":["FireworkSDK.ts"],"names":["Platform","FWNavigator","LiveStream","FWEventName","FireworkSDKModule","FireworkSDKModuleEventEmitter","LiveStreamModule","ShoppingModule","FWLoggerUtil","VideoShopping","FWGlobalState","FireworkSDK","onVideoFeedClick","_onVideoFeedClick","value","OS","setVideoFeedClickCallbackEnabled","onCustomCTAClick","_onCustomCTAClick","log","setCustomCTAClickEnabled","onVideoPlayback","_onVideoPlayback","setVideoPlaybackEventEnabled","shareBaseURL","_shareBaseURL","updateInternalShareBaseURL","setShareBaseURL","adBadgeConfiguration","_adBadgeConfiguration","valueHasChanged","badgeTextType","backgroundColor","textColor","androidFontInfo","isCustom","typefaceName","eventEmitter","emit","AdBadgeConfigurationUpdated","setAdBadgeConfiguration","appLanguage","_appLanguage","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","addListener","SDKInit","event","error","onSDKInit","LogMessage","logNativeMessage","message","CustomCTAClick","url","VideoPlayback","eventName","VideoFeedClick","info","id","NativeAppLanguageUpdated","language","updateInternalAppLanguage","init","options","videoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","resolveSdkInitCalled","markInitCalled","openVideoPlayer","config","sdkInitCalled","sdkInitCalledPromise","trackPurchase","parameters","changeAppLanguage","enableAutoHorizontalFlip","result","languageChanged","stopFloatingPlayer","AppLanguageUpdated","shareBaseURLChanged","ShareBaseURLUpdated"],"mappings":";;AAAA,SAA6BA,QAA7B,QAA6C,cAA7C;AAEA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,UAAP,MAAuB,cAAvB;AAEA,SAASC,WAAT,QAA4B,sBAA5B;AAUA,OAAOC,iBAAP,IACEC,6BADF,QAEO,6BAFP;AAGA,OAAOC,gBAAP,MAA6B,4BAA7B;AACA,OAAOC,cAAP,MAA2B,0BAA3B;AACA,OAAOC,YAAP,MAAyB,sBAAzB;AACA,OAAOC,aAAP,MAA0B,iBAA1B;AACA,OAAOC,aAAP,MAA0B,uBAA1B;;AAcA;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,QAAId,QAAQ,CAACe,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;AACrEN,IAAAA,YAAY,CAACW,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;AACAV,IAAAA,iBAAiB,CAACuB,eAAlB,CAAkCb,KAAlC,aAAkCA,KAAlC,cAAkCA,KAAlC,GAA2C,EAA3C;AACD;;AAGD;AACF;AACA;AACiC,MAApBc,oBAAoB,GAAqC;AAClE,WAAO,KAAKC,qBAAZ;AACD;;AAC8B,MAApBD,oBAAoB,CAACd,KAAD,EAA0C;AAAA;;AACvE,UAAMgB,eAAe,GACnB,+BAAKD,qBAAL,gFAA4BE,aAA5B,OAA8CjB,KAA9C,aAA8CA,KAA9C,uBAA8CA,KAAK,CAAEiB,aAArD,KACA,gCAAKF,qBAAL,kFAA4BG,eAA5B,OAAgDlB,KAAhD,aAAgDA,KAAhD,uBAAgDA,KAAK,CAAEkB,eAAvD,CADA,IAEA,gCAAKH,qBAAL,kFAA4BI,SAA5B,OAA0CnB,KAA1C,aAA0CA,KAA1C,uBAA0CA,KAAK,CAAEmB,SAAjD,CAFA,IAGA,gCAAKJ,qBAAL,4GAA4BK,eAA5B,kFAA6CC,QAA7C,OACErB,KADF,aACEA,KADF,gDACEA,KAAK,CAAEoB,eADT,0DACE,sBAAwBC,QAD1B,CAHA,IAKA,gCAAKN,qBAAL,4GAA4BK,eAA5B,kFAA6CE,YAA7C,OACEtB,KADF,aACEA,KADF,iDACEA,KAAK,CAAEoB,eADT,2DACE,uBAAwBE,YAD1B,CANF;AAQA,SAAKP,qBAAL,GAA6Bf,KAA7B;;AACA,QAAIgB,eAAJ,EAAqB;AACnB,WAAKO,YAAL,CAAkBC,IAAlB,CAAuBnC,WAAW,CAACoC,2BAAnC;AACD;;AACDnC,IAAAA,iBAAiB,CAACoC,uBAAlB,CAA0C1B,KAA1C,aAA0CA,KAA1C,cAA0CA,KAA1C,GAAmD,EAAnD;AACD;;AAGqB,MAAX2B,WAAW,GAA8B;AAClD,WAAO,KAAKC,YAAZ;AACD;;AAGD;AACF;AACA;AACA;AAC6B,MAAhBC,gBAAgB,GAAY;AACrC,WAAOnC,YAAY,CAACoC,OAApB;AACD;;AAC0B,MAAhBD,gBAAgB,CAAC7B,KAAD,EAAiB;AAC1CN,IAAAA,YAAY,CAACoC,OAAb,GAAuB9B,KAAvB;AACD;AAED;AACF;AACA;;;AACgC,MAAnB+B,mBAAmB,GAAoC;AAChE,WAAO,KAAKC,oBAAZ;AACD;;AAGuB,MAAZT,YAAY,GAAuB;AAC7C,WAAOhC,6BAAP;AACD;AAED;AACF;AACA;;;AACqB,MAAR0C,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;;AAGD;AACF;AACA;AACA;AAC2B,SAAXC,WAAW,GAAG;AAC1B,QAAI,CAAC1C,WAAW,CAAC2C,SAAjB,EAA4B;AAC1B3C,MAAAA,WAAW,CAAC2C,SAAZ,GAAwB,IAAI3C,WAAJ,EAAxB;AACD;;AAED,WAAOA,WAAW,CAAC2C,SAAnB;AACD;;AAEOC,EAAAA,WAAW,GAAG;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA;;AAAA,uCA9Ba9C,aAAa,CAAC4C,WAAd,EA8Bb;;AAAA,yCAtBYnD,UAAU,CAACmD,WAAX,EAsBZ;;AAAA,wCAdYpD,WAAW,CAACoD,WAAZ,EAcZ;;AACpB7C,IAAAA,YAAY,CAACW,GAAb,CAAiB,yBAAjB;AAEA,SAAKkB,YAAL,CAAkBmB,WAAlB,CAA8BrD,WAAW,CAACsD,OAA1C,EAAoDC,KAAD,IAAW;AAC5DlD,MAAAA,YAAY,CAACW,GAAb,CAAkB,yBAAwBuC,KAAzB,aAAyBA,KAAzB,uBAAyBA,KAAK,CAAEC,KAAM,EAAvD;;AAEA,UAAI,KAAKC,SAAT,EAAoB;AAClB,aAAKA,SAAL,CAAeF,KAAf,aAAeA,KAAf,cAAeA,KAAf,GAAwB,EAAxB;AACD;AACF,KAND;AAQA,SAAKrB,YAAL,CAAkBmB,WAAlB,CAA8BrD,WAAW,CAAC0D,UAA1C,EAAuDH,KAAD,IAAW;AAC/DlD,MAAAA,YAAY,CAACsD,gBAAb,CAA8BJ,KAAK,CAACK,OAApC;AACD,KAFD;AAIA,SAAK1B,YAAL,CAAkBmB,WAAlB,CAA8BrD,WAAW,CAAC6D,cAA1C,EAA2DN,KAAD,IAAW;AACnElD,MAAAA,YAAY,CAACW,GAAb,CAAkB,+BAA8BuC,KAA/B,aAA+BA,KAA/B,uBAA+BA,KAAK,CAAEO,GAAI,EAA3D;;AAEA,UAAI,KAAKhD,gBAAT,EAA2B;AACzB,aAAKA,gBAAL,CAAsByC,KAAtB,aAAsBA,KAAtB,cAAsBA,KAAtB,GAA+B,EAA/B;AACD;AACF,KAND;AAQA,SAAKrB,YAAL,CAAkBmB,WAAlB,CAA8BrD,WAAW,CAAC+D,aAA1C,EAA0DR,KAAD,IAAW;AAClElD,MAAAA,YAAY,CAACW,GAAb,CACG,0CAAyCuC,KAA1C,aAA0CA,KAA1C,uBAA0CA,KAAK,CAAES,SAAU,EAD7D;;AAIA,UAAI,KAAK9C,eAAT,EAA0B;AACxB,aAAKA,eAAL,CAAqBqC,KAArB,aAAqBA,KAArB,cAAqBA,KAArB,GAA8B,EAA9B;AACD;AACF,KARD;AAUA,SAAKrB,YAAL,CAAkBmB,WAAlB,CAA8BrD,WAAW,CAACiE,cAA1C,EAA2DV,KAAD,IAAW;AACnElD,MAAAA,YAAY,CAACW,GAAb,CAAkB,oCAAmCuC,KAApC,aAAoCA,KAApC,uBAAoCA,KAAK,CAAEW,IAAP,CAAYC,EAAG,EAApE;;AAEA,UAAI,KAAK1D,gBAAT,EAA2B;AACzB,aAAKA,gBAAL,CAAsB8C,KAAtB,aAAsBA,KAAtB,cAAsBA,KAAtB,GAA+B,EAA/B;AACD;AACF,KAND;;AAQA,QAAI1D,QAAQ,CAACe,EAAT,KAAgB,KAApB,EAA2B;AACzB,WAAKsB,YAAL,CAAkBmB,WAAlB,CACErD,WAAW,CAACoE,wBADd,EAEGb,KAAD,IAAW;AACTlD,QAAAA,YAAY,CAACW,GAAb,CACG,uDAAsDuC,KAAK,CAACjB,WAAY,EAD3E;AAGA,cAAM+B,QAAQ,GAAGd,KAAK,CAACjB,WAAvB;AACA,aAAKgC,yBAAL,CAA+BD,QAA/B;AACD,OARH;AAUD;AACF;AAED;AACF;AACA;AACA;;;AACmB,QAAJE,IAAI,CAACC,OAAD,EAA0C;AACzDnE,IAAAA,YAAY,CAACW,GAAb,CAAiB,8BAAjB;AACA,UAAMyD,0BAA0B,GAC9B,KAAK9B,oBAAL,MAA8B6B,OAA9B,aAA8BA,OAA9B,uBAA8BA,OAAO,CAAE9B,mBAAvC,CADF;AAEA,SAAKC,oBAAL,GAA4B6B,OAA5B,aAA4BA,OAA5B,uBAA4BA,OAAO,CAAE9B,mBAArC;;AACA,QAAI+B,0BAAJ,EAAgC;AAC9B,WAAKvC,YAAL,CAAkBC,IAAlB,CAAuBnC,WAAW,CAAC0E,0BAAnC;AACD;;AACD,UAAMzE,iBAAiB,CAACsE,IAAlB,CAAuBC,OAAvB,CAAN;AACA,UAAMpE,cAAc,CAACmE,IAAf,EAAN;AACA,UAAMpE,gBAAgB,CAACoE,IAAjB,EAAN;AAEAhE,IAAAA,aAAa,CAAC2C,WAAd,GAA4ByB,oBAA5B;AACD;AAED;AACF;AACA;;;AAC6B,QAAdC,cAAc,GAAkB;AAC3CrE,IAAAA,aAAa,CAAC2C,WAAd,GAA4ByB,oBAA5B;AACD;AAED;AACF;AACA;AACA;AACA;;;AAC8B,QAAfE,eAAe,CAC1Bf,GAD0B,EAE1BgB,MAF0B,EAGX;AACf,QAAI,CAACvE,aAAa,CAAC2C,WAAd,GAA4B6B,aAAjC,EAAgD;AAC9C,YAAMxE,aAAa,CAAC2C,WAAd,GAA4B8B,oBAAlC;AACD;;AACD/E,IAAAA,iBAAiB,CAAC4E,eAAlB,CAAkCf,GAAlC,EAAuCgB,MAAvC,aAAuCA,MAAvC,cAAuCA,MAAvC,GAAiD,EAAjD;AACD;AAED;AACF;AACA;AACA;;;AAC4B,QAAbG,aAAa,CACxBC,UADwB,EAET;AACf,QAAIrF,QAAQ,CAACe,EAAT,KAAgB,KAApB,EAA2B;AACzB,UAAI,CAACL,aAAa,CAAC2C,WAAd,GAA4B6B,aAAjC,EAAgD;AAC9C,cAAMxE,aAAa,CAAC2C,WAAd,GAA4B8B,oBAAlC;AACD;;AACD/E,MAAAA,iBAAiB,CAACgF,aAAlB,CAAgCC,UAAhC;AACD;AACF;AAED;AACF;AACA;AACA;AACA;AACA;;;AACgC,QAAjBC,iBAAiB,CAC5Bd,QAD4B,EAE5Be,wBAF4B,EAGV;AAClB,QAAI,CAAC7E,aAAa,CAAC2C,WAAd,GAA4B6B,aAAjC,EAAgD;AAC9C,YAAMxE,aAAa,CAAC2C,WAAd,GAA4B8B,oBAAlC;AACD;;AACD,QAAIK,MAAM,GAAG,KAAb;;AACA,QAAIxF,QAAQ,CAACe,EAAT,KAAgB,KAApB,EAA2B;AACzByE,MAAAA,MAAM,GAAG,MAAMpF,iBAAiB,CAACkF,iBAAlB,CACbd,QADa,EAEbe,wBAFa,aAEbA,wBAFa,cAEbA,wBAFa,GAEe,IAFf,CAAf;AAID,KALD,MAKO;AACLC,MAAAA,MAAM,GAAG,MAAMpF,iBAAiB,CAACkF,iBAAlB,CAAoCd,QAApC,CAAf;AACD;;AACD,QAAIgB,MAAJ,EAAY;AACV,YAAMC,eAAe,GAAG,KAAK/C,YAAL,KAAsB8B,QAA9C;;AACA,UAAIxE,QAAQ,CAACe,EAAT,KAAgB,KAAhB,IAAyB0E,eAA7B,EAA8C;AAC5C,cAAM,KAAKtC,SAAL,CAAeuC,kBAAf,EAAN;AACD;;AACD,WAAKjB,yBAAL,CAA+BD,QAA/B;AACD;;AACD,WAAOgB,MAAP;AACD;;AAEOf,EAAAA,yBAAyB,CAACD,QAAD,EAA2B;AAC1D,UAAM1C,eAAe,GAAG,KAAKY,YAAL,KAAsB8B,QAA9C;AACA,SAAK9B,YAAL,GAAoB8B,QAApB;;AACA,QAAI1C,eAAJ,EAAqB;AACnB,WAAKO,YAAL,CAAkBC,IAAlB,CAAuBnC,WAAW,CAACwF,kBAAnC;AACD;AACF;;AAEOjE,EAAAA,0BAA0B,CAACF,YAAD,EAAwB;AACxD,UAAMoE,mBAAmB,GAAG,KAAKnE,aAAL,KAAuBD,YAAnD;AACA,SAAKC,aAAL,GAAqBD,YAArB;;AACA,QAAIoE,mBAAJ,EAAyB;AACvB,WAAKvD,YAAL,CAAkBC,IAAlB,CAAuBnC,WAAW,CAAC0F,mBAAnC;AACD;AACF;;AAhTe;;gBAAZlF,W;;AAmTN,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 { FWEventName } from './models/FWEventName';\nimport type {\n CustomCTAClickEvent,\n SDKInitEvent,\n VideoFeedClickEvent,\n VideoPlaybackEvent,\n} from './models/FWEvents';\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 FWLoggerUtil from './utils/FWLoggerUtil';\nimport VideoShopping from './VideoShopping';\nimport FWGlobalState from './utils/FWGlobalState';\nimport type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\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 FireworkSDKModule.setShareBaseURL(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 if (valueHasChanged) {\n this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);\n }\n FireworkSDKModule.setAdBadgeConfiguration(value ?? {});\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 * 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 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 /**\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 (this.onSDKInit) {\n this.onSDKInit(event ?? {});\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\n if (this.onCustomCTAClick) {\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) {\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) {\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 if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await FireworkSDKModule.init(options);\n await ShoppingModule.init();\n await LiveStreamModule.init();\n\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 public async markInitCalled(): Promise<void> {\n FWGlobalState.getInstance().resolveSdkInitCalled();\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 (Platform.OS === 'ios') {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n FireworkSDKModule.trackPurchase(parameters);\n }\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 * @param {boolean | undefined} enableAutoHorizontalFlip Specifies if auto horizontal flip is enabled based on app and system language. Defaults to true.\n * @returns {Promise<boolean>} The result of changing app language.\n */\n public async changeAppLanguage(\n language?: string | null,\n enableAutoHorizontalFlip?: boolean\n ): Promise<boolean> {\n if (!FWGlobalState.getInstance().sdkInitCalled) {\n await FWGlobalState.getInstance().sdkInitCalledPromise;\n }\n let result = false;\n if (Platform.OS === 'ios') {\n result = await FireworkSDKModule.changeAppLanguage(\n language,\n enableAutoHorizontalFlip ?? true\n );\n } else {\n 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 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 if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\n }\n }\n}\n\nexport default FireworkSDK;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","FireworkSDKModule","FireworkSDK","Proxy","get","Error","FireworkSDKModuleEventEmitter"],"mappings":"AAAA,SAASA,kBAAT,EAA2CC,aAA3C,QAAgE,cAAhE;AAEA,SAASC,aAAT,QAA8B,6BAA9B;AAMA,MAAMC,iBAAiB,GAAGF,aAAa,CAACG,WAAd,GACtBH,aAAa,CAACG,WADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUL,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;
|
|
1
|
+
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","FireworkSDKModule","FireworkSDK","Proxy","get","Error","FireworkSDKModuleEventEmitter"],"mappings":"AAAA,SAASA,kBAAT,EAA2CC,aAA3C,QAAgE,cAAhE;AAEA,SAASC,aAAT,QAA8B,6BAA9B;AAMA,MAAMC,iBAAiB,GAAGF,aAAa,CAACG,WAAd,GACtBH,aAAa,CAACG,WADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUL,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;AA0BA,MAAMM,6BAA6B,GAAG,IAAIR,kBAAJ,CAAuBG,iBAAvB,CAAtC;AACA,SAASK,6BAAT;AACA,eAAeL,iBAAf","sourcesContent":["import { NativeEventEmitter, NativeModule, NativeModules } from 'react-native';\n\nimport { LINKING_ERROR } from '../constants/FWErrorMessage';\nimport type AdBadgeConfiguration from '../models/AdBadgeConfiguration';\nimport type SDKInitOptions from '../models/SDKInitOptions';\nimport type TrackPurchaseParameters from '../models/TrackPurchaseParameters';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\n\nconst FireworkSDKModule = NativeModules.FireworkSDK\n ? NativeModules.FireworkSDK\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\n\ninterface IFireworkSDKModule extends NativeModule {\n init(options?: SDKInitOptions): Promise<any>;\n openVideoPlayer(url: string, config?: VideoPlayerNativeConfiguration): void;\n setVideoFeedClickCallbackEnabled(enabled: boolean): void; // Only supported on iOS\n setCustomCTAClickEnabled(enabled: boolean): void;\n setShareBaseURL(url?: string): Promise<any>;\n setVideoPlaybackEventEnabled(enabled: boolean): void;\n setAdBadgeConfiguration(config?: AdBadgeConfiguration): Promise<any>;\n trackPurchase(parameters: TrackPurchaseParameters): void;\n changeAppLanguage(\n language?: string | null,\n enableAutoHorizontalFlip?: boolean\n ): Promise<boolean>;\n}\n\nconst FireworkSDKModuleEventEmitter = new NativeEventEmitter(FireworkSDKModule);\nexport { FireworkSDKModuleEventEmitter };\nexport default FireworkSDKModule as IFireworkSDKModule;\n"]}
|
|
@@ -108,11 +108,11 @@ declare class FireworkSDK {
|
|
|
108
108
|
trackPurchase(parameters: TrackPurchaseParameters): Promise<void>;
|
|
109
109
|
/**
|
|
110
110
|
* Change App level language.
|
|
111
|
-
* @param {string | undefined | null} language Such as en, ar and en-US
|
|
112
|
-
*
|
|
111
|
+
* @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.
|
|
112
|
+
* @param {boolean | undefined} enableAutoHorizontalFlip Specifies if auto horizontal flip is enabled based on app and system language. Defaults to true.
|
|
113
113
|
* @returns {Promise<boolean>} The result of changing app language.
|
|
114
114
|
*/
|
|
115
|
-
changeAppLanguage(language?: string | null): Promise<boolean>;
|
|
115
|
+
changeAppLanguage(language?: string | null, enableAutoHorizontalFlip?: boolean): Promise<boolean>;
|
|
116
116
|
private updateInternalAppLanguage;
|
|
117
117
|
private updateInternalShareBaseURL;
|
|
118
118
|
}
|
|
@@ -12,7 +12,7 @@ interface IFireworkSDKModule extends NativeModule {
|
|
|
12
12
|
setVideoPlaybackEventEnabled(enabled: boolean): void;
|
|
13
13
|
setAdBadgeConfiguration(config?: AdBadgeConfiguration): Promise<any>;
|
|
14
14
|
trackPurchase(parameters: TrackPurchaseParameters): void;
|
|
15
|
-
changeAppLanguage(language?: string | null): Promise<boolean>;
|
|
15
|
+
changeAppLanguage(language?: string | null, enableAutoHorizontalFlip?: boolean): Promise<boolean>;
|
|
16
16
|
}
|
|
17
17
|
declare const FireworkSDKModuleEventEmitter: NativeEventEmitter;
|
|
18
18
|
export { FireworkSDKModuleEventEmitter };
|
package/package.json
CHANGED
package/src/FireworkSDK.ts
CHANGED
|
@@ -297,15 +297,26 @@ class FireworkSDK {
|
|
|
297
297
|
|
|
298
298
|
/**
|
|
299
299
|
* Change App level language.
|
|
300
|
-
* @param {string | undefined | null} language Such as en, ar and en-US
|
|
301
|
-
*
|
|
300
|
+
* @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.
|
|
301
|
+
* @param {boolean | undefined} enableAutoHorizontalFlip Specifies if auto horizontal flip is enabled based on app and system language. Defaults to true.
|
|
302
302
|
* @returns {Promise<boolean>} The result of changing app language.
|
|
303
303
|
*/
|
|
304
|
-
public async changeAppLanguage(
|
|
304
|
+
public async changeAppLanguage(
|
|
305
|
+
language?: string | null,
|
|
306
|
+
enableAutoHorizontalFlip?: boolean
|
|
307
|
+
): Promise<boolean> {
|
|
305
308
|
if (!FWGlobalState.getInstance().sdkInitCalled) {
|
|
306
309
|
await FWGlobalState.getInstance().sdkInitCalledPromise;
|
|
307
310
|
}
|
|
308
|
-
|
|
311
|
+
let result = false;
|
|
312
|
+
if (Platform.OS === 'ios') {
|
|
313
|
+
result = await FireworkSDKModule.changeAppLanguage(
|
|
314
|
+
language,
|
|
315
|
+
enableAutoHorizontalFlip ?? true
|
|
316
|
+
);
|
|
317
|
+
} else {
|
|
318
|
+
result = await FireworkSDKModule.changeAppLanguage(language);
|
|
319
|
+
}
|
|
309
320
|
if (result) {
|
|
310
321
|
const languageChanged = this._appLanguage !== language;
|
|
311
322
|
if (Platform.OS === 'ios' && languageChanged) {
|
|
@@ -26,7 +26,10 @@ interface IFireworkSDKModule extends NativeModule {
|
|
|
26
26
|
setVideoPlaybackEventEnabled(enabled: boolean): void;
|
|
27
27
|
setAdBadgeConfiguration(config?: AdBadgeConfiguration): Promise<any>;
|
|
28
28
|
trackPurchase(parameters: TrackPurchaseParameters): void;
|
|
29
|
-
changeAppLanguage(
|
|
29
|
+
changeAppLanguage(
|
|
30
|
+
language?: string | null,
|
|
31
|
+
enableAutoHorizontalFlip?: boolean
|
|
32
|
+
): Promise<boolean>;
|
|
30
33
|
}
|
|
31
34
|
|
|
32
35
|
const FireworkSDKModuleEventEmitter = new NativeEventEmitter(FireworkSDKModule);
|