react-native-firework-sdk 2.14.2 → 2.15.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/gradle.properties +1 -1
- package/android/src/main/java/com/fireworksdk/bridge/components/storyblock/StoryBlockFragment.kt +14 -4
- package/android/src/main/java/com/fireworksdk/bridge/models/FWActionButtonDeserializer.kt +27 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWActionButtonModel.kt +8 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWActionButtonSerializer.kt +21 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWLiveStreamEventDetailsModel.kt +2 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWPlayerButtonConfigurationDeserializer.kt +3 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWPlayerButtonConfigurationModel.kt +1 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWPlayerButtonConfigurationSerializer.kt +2 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWShape.kt +18 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoFeedItemDetailsModel.kt +2 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlaybackDetails.kt +2 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModel.kt +6 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelDeserializer.kt +23 -1
- package/android/src/main/java/com/fireworksdk/bridge/models/FWVideoPlayerConfigModelSerializer.kt +14 -0
- package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWEventName.kt +3 -1
- package/android/src/main/java/com/fireworksdk/bridge/models/enums/FWLivestreamPlayerVersion.kt +6 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWVideoFeedManager.kt +4 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/models/FireworkSDKInterface.kt +1 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FWVideoShoppingModule.kt +3 -3
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/module/FireworkSDKModule.kt +14 -0
- package/android/src/main/java/com/fireworksdk/bridge/utils/FWConfigUtil.kt +156 -3
- package/android/src/main/java/com/fireworksdk/bridge/utils/FWGlobalDataUtil.kt +6 -0
- package/android/src/main/java/com/fireworksdk/bridge/utils/FWModelUtils.kt +32 -0
- package/ios/Components/StoryBlock.swift +10 -2
- package/ios/Components/VideoFeed.swift +12 -29
- package/ios/Components/VideoFeedManager.swift +0 -5
- package/ios/Models/NativeToRN/FireworkEventName.swift +3 -1
- package/ios/Models/RNToNative/RCTConvert+FireworkSDKModule.swift +13 -0
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule+EventTracking.swift +42 -5
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.m +2 -1
- package/ios/Modules/FireworkSDKModule/FireworkSDKModule.swift +16 -0
- package/ios/Modules/Shopping/ShoppingModule.swift +1 -1
- package/lib/commonjs/FireworkSDK.js +41 -14
- package/lib/commonjs/FireworkSDK.js.map +1 -1
- package/lib/commonjs/components/StoryBlock.js +21 -0
- package/lib/commonjs/components/StoryBlock.js.map +1 -1
- package/lib/commonjs/components/VideoFeed.js +23 -0
- package/lib/commonjs/components/VideoFeed.js.map +1 -1
- package/lib/commonjs/index.js +8 -0
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/models/FWEventName.js +2 -0
- package/lib/commonjs/models/FWEventName.js.map +1 -1
- package/lib/commonjs/models/LivestreamPlayerDesignVersion.js +16 -0
- package/lib/commonjs/models/LivestreamPlayerDesignVersion.js.map +1 -0
- package/lib/commonjs/modules/FireworkSDKModule.js.map +1 -1
- package/lib/module/FireworkSDK.js +38 -14
- package/lib/module/FireworkSDK.js.map +1 -1
- package/lib/module/components/StoryBlock.js +14 -0
- package/lib/module/components/StoryBlock.js.map +1 -1
- package/lib/module/components/VideoFeed.js +18 -0
- package/lib/module/components/VideoFeed.js.map +1 -1
- package/lib/module/index.js +2 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/models/FWEventName.js +2 -0
- package/lib/module/models/FWEventName.js.map +1 -1
- package/lib/module/models/LivestreamPlayerDesignVersion.js +9 -0
- package/lib/module/models/LivestreamPlayerDesignVersion.js.map +1 -0
- package/lib/module/modules/FireworkSDKModule.js.map +1 -1
- package/lib/typescript/FireworkSDK.d.ts +9 -2
- package/lib/typescript/index.d.ts +2 -1
- package/lib/typescript/models/FWEventName.d.ts +3 -1
- package/lib/typescript/models/LivestreamPlayerDesignVersion.d.ts +5 -0
- package/lib/typescript/models/StoryBlockConfiguration.d.ts +2 -7
- package/lib/typescript/modules/FireworkSDKModule.d.ts +3 -1
- package/package.json +1 -1
- package/react-native-firework-sdk.podspec +2 -2
- package/src/FireworkSDK.ts +44 -13
- package/src/components/StoryBlock.tsx +27 -1
- package/src/components/VideoFeed.tsx +29 -1
- package/src/index.ts +2 -0
- package/src/models/FWEventName.ts +2 -0
- package/src/models/LivestreamPlayerDesignVersion.ts +6 -0
- package/src/models/StoryBlockConfiguration.ts +2 -7
- package/src/modules/FireworkSDKModule.ts +5 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["VideoFeed.tsx"],"names":["NativeComponentName","VideoFeed","React","Component","constructor","props","createRef","FWLoggerUtil","log","JSON","stringify","nativeNodeHandle","_nativeComponentRef","current","commandId","UIManager","getViewManagerConfig","Commands","refresh","Platform","OS","toString","reactTag","dispatchViewManagerCommand","event","onVideoFeedLoadFinished","onVideoFeedEmpty","name","reason","action","nativeEvent","error","_loaded","FWNativeErrorAction","loadingFirstPage","onVideoFeedDidStartPictureInPicture","onVideoFeedDidStopPictureInPicture","onVideoFeedGetFeedId","feedId","FWGlobalState","getInstance","componentTypeByFeedIdMap","set","FWComponentType","videoFeed","state","sdkInitCalled","componentDidMount","sdkInitCalledPromise","then","setState","subscriptionOfShareBaseURLUpdated","FireworkSDKModuleEventEmitter","addListener","FWEventName","ShareBaseURLUpdated","_subscriptions","push","subscriptionOfAdBadgeConfigurationUpdated","AdBadgeConfigurationUpdated","subscriptionOfVideoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","subscriptionOfAppLanguageUpdated","AppLanguageUpdated","componentWillUnmount","forEach","value","remove","render","gShareBaseURL","FireworkSDK","shareBaseURL","appLanguage","videoLaunchBehavior","adBadgeConfiguration","adBadgeTextType","badgeTextType","backgroundColorOfAdBadge","backgroundColor","textColorOfAdBadge","textColor","androidFontIsCustomOfAdBadge","androidFontInfo","isCustom","androidFontTypefaceNameOfAdBadge","typefaceName","source","channel","playlist","playlistGroup","hashtagFilterExpression","productIds","contentId","mode","enablePictureInPicture","adConfiguration","dynamicContentParametersString","_generateDynamicContentParametersString","videoFeedConfiguration","_getVideoFeedConfiguration","cornerRadius","toFixed","titleHidden","title","hidden","titleTextColor","titleFontSize","fontSize","titleNumberOfLines","numberOfLines","titleAndroidFontInfo","titleGradientDrawable","gradientDrawable","titlePosition","playIconHidden","playIcon","playIconWidth","iconWidth","showAdBadge","enableAutoplay","gridColumns","itemSpacing","videoPlayerConfiguration","_getVideoPlayerConfiguration","playerStyle","videoCompleteAction","showShareButton","showPlaybackButton","showMuteButton","showBranding","ctaDelayType","ctaDelay","type","ctaDelayValue","ctaHighlightDelayType","ctaHighlightDelay","ctaHighlightDelayValue","ctaWidth","buttonConfiguration","videoPlayerLogoConfigurationJsonKey","videoPlayerLogoConfiguration","countdownTimerConfigurationJsonKey","countdownTimerConfiguration","showVideoDetailTitle","requiresAds","adsFetchTimeout","vastAttributesString","_generateVastAttributesString","replayBadgeVideoFeedConfigurationJsonKey","replayBadge","replayBadgeVideoPlayerConfigurationJsonKey","replayBadgeConfiguration","shadowVideoFeedConfigurationJsonKey","shadow","key","join","orientation","colors","_generateButtonInfoString","videoDetailButton","closeButton","muteButton","unmuteButton","playButton","pauseButton","console","undefined","_onVideoFeedLoadFinished","_onVideoFeedEmpty","_onVideoFeedDidStartPictureInPicture","_onVideoFeedDidStopPictureInPicture","_onVideoFeedGetFeedId","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","valueString","length","vastAttributes","attribute","buttonInfo","imageName","systemImageName","tintColor","resultVideoFeedConfiguration","Math","floor","resultVideoPlayerConfiguration"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n EmitterSubscription,\n findNodeHandle,\n NativeSyntheticEvent,\n Platform,\n StyleProp,\n UIManager,\n ViewStyle,\n} from 'react-native';\n\nimport FireworkSDK from '../FireworkSDK';\nimport type AdConfiguration from '../models/AdConfiguration';\nimport type ButtonInfo from '../models/ButtonInfo';\nimport type FWError from '../models/FWError';\nimport { FWEventName } from '../models/FWEventName';\nimport { FWNativeErrorAction } from '../models/FWNativeErrorAction';\nimport type VideoFeedConfiguration from '../models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from '../models/VideoFeedSource';\nimport type VideoPlayerConfiguration from '../models/VideoPlayerConfiguration';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport gennerateJsonKey from '../utils/FWJsonUtil';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWVideoFeed from './FWVideoFeed';\nimport { FWComponentType } from '../models/FWComponentType';\n\nexport type VideoFeedMode = 'row' | 'column' | 'grid';\n\n/**\n * The props of VideoFeed component.\n */\nexport interface IVideoFeedProps {\n /**\n * Standard React Native View Style.\n */\n style?: StyleProp<ViewStyle>;\n /**\n * One of five available video feed sources.The playlistGroup is only supported on iOS.\n * Defaults to discover.\n */\n source: VideoFeedSource;\n /**\n * Channel id of the feed. Required when the source is set as channel or playlist or dynamicContent.\n */\n channel?: string;\n /**\n * Playlist id of the feed. Please note channel id is necessary. Required when the source is set as playlist.\n */\n playlist?: string;\n /**\n * PlaylistGroup id of the feed. Required when the source is set as playlistGroup. Only supported on iOS.\n */\n playlistGroup?: string;\n /**\n * The dynamic content parameters of the feed. Required when the source is set as dynamicContent.\n */\n dynamicContentParameters?: { [key: string]: string[] };\n /**\n * Hashtag filter expression is an s-expression used to provide feeds filtered by hashtags with specified criteria.\n * Queries are specified with boolean predicates on what hashtags are there on the video.\n * For instance, (and sport food) (or sport food) (and sport (or food comedy)) sport are all valid expressions.\n * Non-UTF-8 characters are not allowed. If using boolean predicates, the expression needs to be wrapped with parenthesis.\n * Required when the source is set as hashtagPlaylist.\n */\n hashtagFilterExpression?: string;\n /**\n * Product ids used to generate the sku feed\n */\n productIds?: string[];\n /**\n * The video or live stream id. Only supported on iOS.\n */\n contentId?: string;\n /**\n * One of three available display modes. Defaults to row.\n */\n mode?: VideoFeedMode;\n /**\n * Specifies if Picture in Picture is enabled.\n */\n enablePictureInPicture?: boolean;\n /**\n * Configuration of the feed.\n */\n videoFeedConfiguration?: VideoFeedConfiguration;\n /**\n * Configuration of the player.\n */\n videoPlayerConfiguration?: VideoPlayerConfiguration;\n /**\n * Ad configuration of the feed.\n */\n adConfiguration?: AdConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined.\n */\n onVideoFeedLoadFinished?: (error?: FWError) => void;\n /**\n * The callback is triggered when there are no items in the story block.\n * The callback is triggered in the following cases:\n * 1. Loading successfully but the back end returns an empty list.\n * 2. The load failed and list is empty.\n * onVideoFeedLoadFinished will also be triggered when onVideoFeedEmpty is triggered.\n */\n onVideoFeedEmpty?: (error?: FWError) => void;\n /**\n * Start Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStartPictureInPicture?: (error?: FWError) => void;\n /**\n * Stop Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStopPictureInPicture?: (error?: FWError) => void;\n /**\n *\n * The host app could use this callback to get feed id.\n * The feed id can be used for conversion tracking.\n */\n onVideoFeedGetFeedId?: (feedId: string) => void;\n}\n\ninterface IVideoFeedState {\n sdkInitCalled: boolean;\n}\n\nconst NativeComponentName = 'FWVideoFeed';\n\n/**\n * VideoFeed component.\n */\nclass VideoFeed extends React.Component<IVideoFeedProps, IVideoFeedState> {\n /**\n * @ignore\n */\n static defaultProps = {\n mode: 'row',\n };\n\n private _nativeComponentRef = React.createRef<any>();\n\n private _subscriptions: EmitterSubscription[] = [];\n\n private _loaded: boolean = false;\n\n constructor(props: IVideoFeedProps) {\n super(props);\n this.state = {\n sdkInitCalled: FWGlobalState.getInstance().sdkInitCalled,\n };\n }\n\n public refresh = () => {\n FWLoggerUtil.log(`VideoFeed refresh ${JSON.stringify(this.props)}`);\n\n const nativeNodeHandle = findNodeHandle(this._nativeComponentRef.current);\n\n let commandId: string | number =\n UIManager.getViewManagerConfig(NativeComponentName).Commands.refresh;\n if (Platform.OS === 'android') {\n commandId = commandId.toString();\n }\n let reactTag: number | null = findNodeHandle(nativeNodeHandle);\n FWLoggerUtil.log(\n `VideoFeed refresh commandId: ${commandId} nativeNodeHandle: ${nativeNodeHandle} reactTag: ${reactTag}`\n );\n if (!nativeNodeHandle || !reactTag) {\n return;\n }\n UIManager.dispatchViewManagerCommand(reactTag, commandId, []);\n };\n\n private _onVideoFeedLoadFinished = (event: NativeSyntheticEvent<any>) => {\n const { onVideoFeedLoadFinished, onVideoFeedEmpty } = this.props;\n\n const { name, reason, action } = event.nativeEvent;\n\n if (onVideoFeedLoadFinished) {\n if (name) {\n let error: FWError = { name };\n if (reason) {\n error.reason = reason;\n }\n\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished(error);\n }\n if (\n action === FWNativeErrorAction.loadingFirstPage ||\n !this._loaded\n ) {\n onVideoFeedEmpty?.(error);\n }\n } else {\n onVideoFeedLoadFinished(error);\n if (!this._loaded) {\n onVideoFeedEmpty?.(error);\n }\n }\n } else {\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished();\n }\n } else {\n onVideoFeedLoadFinished();\n }\n this._loaded = true;\n }\n }\n };\n\n private _onVideoFeedEmpty = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedLoadFinished ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedEmpty } = this.props;\n\n if (onVideoFeedEmpty) {\n onVideoFeedEmpty();\n }\n };\n\n private _onVideoFeedDidStartPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStartPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStartPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStartPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStartPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStartPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStartPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedDidStopPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStopPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStopPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStopPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStopPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStopPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStopPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedGetFeedId = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed onVideoFeedGetFeedId ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedGetFeedId } = this.props;\n\n const { feedId } = event.nativeEvent;\n\n if (feedId) {\n FWGlobalState.getInstance().componentTypeByFeedIdMap.set(\n feedId,\n FWComponentType.videoFeed\n );\n }\n\n if (onVideoFeedGetFeedId) {\n onVideoFeedGetFeedId(feedId ?? '');\n }\n };\n\n /**\n * @ignore\n */\n componentDidMount() {\n FWLoggerUtil.log(\n `VideoFeed componentDidMount ${JSON.stringify(this.props)}`\n );\n\n if (!this.state.sdkInitCalled) {\n FWGlobalState.getInstance().sdkInitCalledPromise.then(() => {\n this.setState({ sdkInitCalled: true });\n });\n }\n\n const subscriptionOfShareBaseURLUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ShareBaseURLUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.ShareBaseURLUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfShareBaseURLUpdated);\n\n const subscriptionOfAdBadgeConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AdBadgeConfigurationUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AdBadgeConfigurationUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAdBadgeConfigurationUpdated);\n\n const subscriptionOfVideoLaunchBehaviorUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.VideoLaunchBehaviorUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.VideoLaunchBehaviorUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfVideoLaunchBehaviorUpdated);\n\n const subscriptionOfAppLanguageUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AppLanguageUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AppLanguageUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAppLanguageUpdated);\n }\n\n /**\n * @ignore\n */\n componentWillUnmount() {\n FWLoggerUtil.log(\n `VideoFeed componentWillUnmount ${JSON.stringify(this.props)}`\n );\n\n this._subscriptions.forEach((value) => {\n value.remove();\n });\n\n this._subscriptions = [];\n }\n\n /**\n * @ignore\n */\n render() {\n if (!this.state.sdkInitCalled) {\n return null;\n }\n\n const gShareBaseURL = FireworkSDK.getInstance().shareBaseURL;\n const appLanguage = FireworkSDK.getInstance().appLanguage;\n const videoLaunchBehavior = FireworkSDK.getInstance().videoLaunchBehavior;\n const adBadgeConfiguration = FireworkSDK.getInstance().adBadgeConfiguration;\n const adBadgeTextType = adBadgeConfiguration?.badgeTextType;\n const backgroundColorOfAdBadge = adBadgeConfiguration?.backgroundColor;\n const textColorOfAdBadge = adBadgeConfiguration?.textColor;\n const androidFontIsCustomOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.isCustom?.toString();\n const androidFontTypefaceNameOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.typefaceName;\n\n const {\n source,\n channel,\n playlist,\n playlistGroup,\n hashtagFilterExpression,\n productIds,\n contentId,\n mode,\n enablePictureInPicture,\n adConfiguration,\n } = this.props;\n const dynamicContentParametersString =\n this._generateDynamicContentParametersString();\n\n const videoFeedConfiguration = this._getVideoFeedConfiguration();\n const cornerRadius = videoFeedConfiguration?.cornerRadius?.toFixed(5);\n\n const titleHidden = videoFeedConfiguration?.title?.hidden?.toString();\n const titleTextColor = videoFeedConfiguration?.title?.textColor;\n const titleFontSize = videoFeedConfiguration?.title?.fontSize?.toFixed(5);\n const titleNumberOfLines = videoFeedConfiguration?.title?.numberOfLines;\n const titleAndroidFontInfo = videoFeedConfiguration?.title?.androidFontInfo;\n const titleGradientDrawable =\n videoFeedConfiguration?.title?.gradientDrawable;\n const titlePosition = videoFeedConfiguration?.titlePosition;\n const playIconHidden = videoFeedConfiguration?.playIcon?.hidden;\n const playIconWidth =\n videoFeedConfiguration?.playIcon?.iconWidth?.toFixed(5);\n const showAdBadge = videoFeedConfiguration?.showAdBadge?.toString();\n const enableAutoplay = videoFeedConfiguration?.enableAutoplay;\n const gridColumns = videoFeedConfiguration?.gridColumns;\n const itemSpacing = videoFeedConfiguration?.itemSpacing?.toFixed(5);\n\n const videoPlayerConfiguration = this._getVideoPlayerConfiguration();\n const playerStyle = videoPlayerConfiguration?.playerStyle;\n const videoCompleteAction = videoPlayerConfiguration?.videoCompleteAction;\n const showShareButton = videoPlayerConfiguration?.showShareButton;\n const showPlaybackButton = videoPlayerConfiguration?.showPlaybackButton;\n const showMuteButton = videoPlayerConfiguration?.showMuteButton;\n const showBranding = videoPlayerConfiguration?.showBranding;\n const ctaDelayType = videoPlayerConfiguration?.ctaDelay?.type;\n const ctaDelayValue = videoPlayerConfiguration?.ctaDelay?.value?.toFixed(5);\n const ctaHighlightDelayType =\n videoPlayerConfiguration?.ctaHighlightDelay?.type;\n const ctaHighlightDelayValue =\n videoPlayerConfiguration?.ctaHighlightDelay?.value?.toFixed(5);\n const shareBaseURL = videoPlayerConfiguration?.shareBaseURL;\n const ctaWidth = videoPlayerConfiguration?.ctaWidth;\n const buttonConfiguration = videoPlayerConfiguration?.buttonConfiguration;\n const videoPlayerLogoConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.videoPlayerLogoConfiguration\n );\n const countdownTimerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.countdownTimerConfiguration\n );\n const showVideoDetailTitle = videoPlayerConfiguration?.showVideoDetailTitle;\n const requiresAds = adConfiguration?.requiresAds;\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout;\n const vastAttributesString = this._generateVastAttributesString();\n const replayBadgeVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.replayBadge\n );\n const replayBadgeVideoPlayerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.replayBadgeConfiguration\n );\n const shadowVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.shadow\n );\n let key = `gShareBaseURL:${gShareBaseURL}`;\n if (Platform.OS === 'ios') {\n key += `_appLanguage:${appLanguage}`;\n }\n key += `_videoLaunchBehavior:${videoLaunchBehavior}`;\n key += `_adBadgeTextType:${adBadgeTextType}`;\n key += `_backgroundColorOfAdBadge:${backgroundColorOfAdBadge}`;\n key += `_textColorOfAdBadge:${textColorOfAdBadge}`;\n if (Platform.OS === 'android') {\n key += `_androidFontIsCustomOfAdBadge${androidFontIsCustomOfAdBadge}`;\n key += `_androidFontTypefaceNameOfAdBadge${androidFontTypefaceNameOfAdBadge}`;\n }\n\n key += `_source:${source}`;\n key += `_channel:${channel}`;\n key += `_playlist:${playlist}`;\n key += `_playlistGroup:${playlistGroup}`;\n key += `_dynamicContentParameters:${dynamicContentParametersString}`;\n key += `_hashtagFilterExpression:${hashtagFilterExpression}`;\n key += `_productIds:${productIds?.join(',')}`;\n key += `_contentId:${contentId}`;\n key += `_mode:${mode}`;\n key += `_enablePictureInPicture:${enablePictureInPicture}`;\n\n key += `_titleHidden:${titleHidden}`;\n if (Platform.OS === 'android') {\n key += `_cornerRadius:${cornerRadius}`;\n key += `_titleTextColor:${titleTextColor}`;\n key += `_titleFontSize:${titleFontSize}`;\n key += `_titleNumberOfLines:${titleNumberOfLines}`;\n key += `_titleAndroidFontInfo.isCustom:${titleAndroidFontInfo?.isCustom}`;\n key += `_titleAndroidFontInfo.typefaceName:${titleAndroidFontInfo?.typefaceName}`;\n key += `_titleGradientDrawable.orientation:${titleGradientDrawable?.orientation}`;\n key += `_titleGradientDrawable.colors:${titleGradientDrawable?.colors?.join(\n ','\n )}`;\n key += `_playIconHidden:${playIconHidden}`;\n key += `_playIconWidth:${playIconWidth}`;\n key += `_showAdBadge:${showAdBadge}`;\n }\n\n key += `_titlePosition:${titlePosition}`;\n if (Platform.OS === 'android') {\n key += `_enableAutoplay:${enableAutoplay}`;\n }\n key += `_gridColumns:${gridColumns}`;\n key += `_itemSpacing:${itemSpacing}`;\n\n key += `_shareBaseURL:${shareBaseURL}`;\n if (Platform.OS === 'android') {\n key += `_playerStyle:${playerStyle}`;\n key += `_videoCompleteAction:${videoCompleteAction}`;\n key += `_showShareButton:${showShareButton}`;\n key += `_showPlaybackButton:${showPlaybackButton}`;\n key += `_showMuteButton:${showMuteButton}`;\n key += `_showBranding:${showBranding}`;\n key += `_ctaDelayType:${ctaDelayType}`;\n key += `_ctaDelayValue:${ctaDelayValue}`;\n key += `_ctaHighlightDelayType:${ctaHighlightDelayType}`;\n key += `_ctaHighlightDelayValue:${ctaHighlightDelayValue}`;\n key += `_ctaWidth:${ctaWidth}`;\n key += `_buttonConfiguration.videoDetailButton:${this._generateButtonInfoString(\n buttonConfiguration?.videoDetailButton\n )}`;\n key += `_buttonConfiguration.closeButton:${this._generateButtonInfoString(\n buttonConfiguration?.closeButton\n )}`;\n key += `_buttonConfiguration.muteButton:${this._generateButtonInfoString(\n buttonConfiguration?.muteButton\n )}`;\n key += `_buttonConfiguration.unmuteButton:${this._generateButtonInfoString(\n buttonConfiguration?.unmuteButton\n )}`;\n key += `_buttonConfiguration.playButton:${this._generateButtonInfoString(\n buttonConfiguration?.playButton\n )}`;\n key += `_buttonConfiguration.pauseButton:${this._generateButtonInfoString(\n buttonConfiguration?.pauseButton\n )}`;\n key += `_videoPlayerLogoConfiguration:${videoPlayerLogoConfigurationJsonKey}`;\n key += `_countdownTimerConfiguration:${countdownTimerConfigurationJsonKey}`;\n key += `_showVideoDetailTitle:${showVideoDetailTitle}`;\n }\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n key += `_replayBadgeVideoFeedConfiguration:${replayBadgeVideoFeedConfigurationJsonKey}`;\n key += `_replayBadgeVideoPlayerConfiguration:${replayBadgeVideoPlayerConfigurationJsonKey}`;\n key += `_shadowVideoFeedConfiguration:${shadowVideoFeedConfigurationJsonKey}`;\n console.log('video feed key', key);\n\n return (\n <FWVideoFeed\n key={key}\n {...this.props}\n enablePictureInPicture={undefined}\n videoFeedConfiguration={videoFeedConfiguration}\n videoPlayerConfiguration={videoPlayerConfiguration}\n ref={this._nativeComponentRef}\n onVideoFeedLoadFinished={this._onVideoFeedLoadFinished}\n onVideoFeedEmpty={this._onVideoFeedEmpty}\n onVideoFeedDidStartPictureInPicture={\n this._onVideoFeedDidStartPictureInPicture\n }\n onVideoFeedDidStopPictureInPicture={\n this._onVideoFeedDidStopPictureInPicture\n }\n onVideoFeedGetFeedId={this._onVideoFeedGetFeedId}\n mode={mode ?? 'row'}\n />\n );\n }\n\n private _generateDynamicContentParametersString(): string {\n const { dynamicContentParameters } = this.props;\n if (!dynamicContentParameters) {\n return '';\n }\n\n let resultString = '';\n const sortedKeyList = Object.keys(dynamicContentParameters).sort();\n for (const key of sortedKeyList) {\n const value = dynamicContentParameters[key];\n const valueString = value.join(',');\n if (resultString.length > 0) {\n resultString += '_';\n }\n\n resultString += `${key}:${valueString}`;\n }\n\n return resultString;\n }\n\n private _generateVastAttributesString(): string | undefined {\n const { adConfiguration } = this.props;\n const vastAttributes = adConfiguration?.vastAttributes;\n if (!vastAttributes) {\n return '';\n }\n\n let resultString = '';\n for (const attribute of vastAttributes) {\n if (resultString.length > 0) {\n resultString += '_';\n }\n resultString += `${attribute.name}:${attribute.value}`;\n }\n\n return resultString;\n }\n\n private _generateButtonInfoString(buttonInfo?: ButtonInfo): string {\n return `imageName:${buttonInfo?.imageName}_systemImageName:${buttonInfo?.systemImageName}_tintColor:${buttonInfo?.tintColor}`;\n }\n\n private _getVideoFeedConfiguration(): VideoFeedConfiguration | undefined {\n const { videoFeedConfiguration } = this.props;\n if (!videoFeedConfiguration) {\n return videoFeedConfiguration;\n }\n\n let resultVideoFeedConfiguration = videoFeedConfiguration;\n\n if (\n resultVideoFeedConfiguration.gridColumns &&\n Math.floor(resultVideoFeedConfiguration.gridColumns) !==\n resultVideoFeedConfiguration.gridColumns\n ) {\n const gridColumns = Math.floor(resultVideoFeedConfiguration.gridColumns);\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n gridColumns,\n };\n }\n\n if (\n resultVideoFeedConfiguration.title &&\n resultVideoFeedConfiguration.title.numberOfLines &&\n Math.floor(resultVideoFeedConfiguration.title.numberOfLines) !==\n resultVideoFeedConfiguration.title.numberOfLines\n ) {\n const numberOfLines = Math.floor(\n resultVideoFeedConfiguration.title.numberOfLines\n );\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n title: {\n ...resultVideoFeedConfiguration.title,\n numberOfLines,\n },\n };\n }\n\n return resultVideoFeedConfiguration;\n }\n\n private _getVideoPlayerConfiguration():\n | VideoPlayerNativeConfiguration\n | undefined {\n const { videoPlayerConfiguration, enablePictureInPicture } = this.props;\n\n let resultVideoPlayerConfiguration:\n | VideoPlayerNativeConfiguration\n | undefined = videoPlayerConfiguration;\n if (typeof enablePictureInPicture === 'boolean') {\n if (!resultVideoPlayerConfiguration) {\n resultVideoPlayerConfiguration = {};\n }\n resultVideoPlayerConfiguration = {\n ...resultVideoPlayerConfiguration,\n enablePictureInPicture,\n };\n }\n\n return resultVideoPlayerConfiguration;\n }\n}\n\nexport default VideoFeed;\n"]}
|
|
1
|
+
{"version":3,"sources":["VideoFeed.tsx"],"names":["NativeComponentName","VideoFeed","React","Component","constructor","props","createRef","FWLoggerUtil","log","JSON","stringify","nativeNodeHandle","_nativeComponentRef","current","commandId","UIManager","getViewManagerConfig","Commands","refresh","Platform","OS","toString","reactTag","dispatchViewManagerCommand","event","onVideoFeedLoadFinished","onVideoFeedEmpty","name","reason","action","nativeEvent","error","_loaded","FWNativeErrorAction","loadingFirstPage","onVideoFeedDidStartPictureInPicture","onVideoFeedDidStopPictureInPicture","onVideoFeedGetFeedId","feedId","FWGlobalState","getInstance","componentTypeByFeedIdMap","set","FWComponentType","videoFeed","state","sdkInitCalled","componentDidMount","sdkInitCalledPromise","then","setState","subscriptionOfShareBaseURLUpdated","FireworkSDKModuleEventEmitter","addListener","FWEventName","ShareBaseURLUpdated","_subscriptions","push","subscriptionOfAdBadgeConfigurationUpdated","AdBadgeConfigurationUpdated","subscriptionOfVideoLaunchBehaviorUpdated","VideoLaunchBehaviorUpdated","subscriptionOfAppLanguageUpdated","AppLanguageUpdated","subscriptionOfDataTrackingLevelUpdated","DataTrackingLevelUpdated","subscriptionOfLivestreamPlayerDesignVersionUpdated","LivestreamPlayerDesignVersionUpdated","componentWillUnmount","forEach","value","remove","render","gShareBaseURL","FireworkSDK","shareBaseURL","appLanguage","videoLaunchBehavior","adBadgeConfiguration","adBadgeTextType","badgeTextType","backgroundColorOfAdBadge","backgroundColor","textColorOfAdBadge","textColor","androidFontIsCustomOfAdBadge","androidFontInfo","isCustom","androidFontTypefaceNameOfAdBadge","typefaceName","dataTrackingLevel","livestreamPlayerDesignVersion","source","channel","playlist","playlistGroup","hashtagFilterExpression","productIds","contentId","mode","enablePictureInPicture","adConfiguration","dynamicContentParametersString","_generateDynamicContentParametersString","videoFeedConfiguration","_getVideoFeedConfiguration","cornerRadius","toFixed","titleHidden","title","hidden","titleTextColor","titleFontSize","fontSize","titleNumberOfLines","numberOfLines","titleAndroidFontInfo","titleGradientDrawable","gradientDrawable","titlePosition","playIconHidden","playIcon","playIconWidth","iconWidth","showAdBadge","enableAutoplay","gridColumns","itemSpacing","videoPlayerConfiguration","_getVideoPlayerConfiguration","playerStyle","videoCompleteAction","showShareButton","showPlaybackButton","showMuteButton","showBranding","ctaDelayType","ctaDelay","type","ctaDelayValue","ctaHighlightDelayType","ctaHighlightDelay","ctaHighlightDelayValue","ctaWidth","buttonConfiguration","videoPlayerLogoConfigurationJsonKey","videoPlayerLogoConfiguration","countdownTimerConfigurationJsonKey","countdownTimerConfiguration","showVideoDetailTitle","requiresAds","adsFetchTimeout","vastAttributesString","_generateVastAttributesString","replayBadgeVideoFeedConfigurationJsonKey","replayBadge","replayBadgeVideoPlayerConfigurationJsonKey","replayBadgeConfiguration","shadowVideoFeedConfigurationJsonKey","shadow","key","join","orientation","colors","_generateButtonInfoString","videoDetailButton","closeButton","muteButton","unmuteButton","playButton","pauseButton","console","undefined","_onVideoFeedLoadFinished","_onVideoFeedEmpty","_onVideoFeedDidStartPictureInPicture","_onVideoFeedDidStopPictureInPicture","_onVideoFeedGetFeedId","dynamicContentParameters","resultString","sortedKeyList","Object","keys","sort","valueString","length","vastAttributes","attribute","buttonInfo","imageName","systemImageName","tintColor","resultVideoFeedConfiguration","Math","floor","resultVideoPlayerConfiguration"],"mappings":"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","sourcesContent":["import React from 'react';\n\nimport {\n EmitterSubscription,\n findNodeHandle,\n NativeSyntheticEvent,\n Platform,\n StyleProp,\n UIManager,\n ViewStyle,\n} from 'react-native';\n\nimport FireworkSDK from '../FireworkSDK';\nimport type AdConfiguration from '../models/AdConfiguration';\nimport type ButtonInfo from '../models/ButtonInfo';\nimport type FWError from '../models/FWError';\nimport { FWEventName } from '../models/FWEventName';\nimport { FWNativeErrorAction } from '../models/FWNativeErrorAction';\nimport type VideoFeedConfiguration from '../models/VideoFeedConfiguration';\nimport type { VideoFeedSource } from '../models/VideoFeedSource';\nimport type VideoPlayerConfiguration from '../models/VideoPlayerConfiguration';\nimport type VideoPlayerNativeConfiguration from '../models/VideoPlayerNativeConfiguration';\nimport { FireworkSDKModuleEventEmitter } from '../modules/FireworkSDKModule';\nimport FWGlobalState from '../utils/FWGlobalState';\nimport gennerateJsonKey from '../utils/FWJsonUtil';\nimport FWLoggerUtil from '../utils/FWLoggerUtil';\nimport FWVideoFeed from './FWVideoFeed';\nimport { FWComponentType } from '../models/FWComponentType';\n\nexport type VideoFeedMode = 'row' | 'column' | 'grid';\n\n/**\n * The props of VideoFeed component.\n */\nexport interface IVideoFeedProps {\n /**\n * Standard React Native View Style.\n */\n style?: StyleProp<ViewStyle>;\n /**\n * One of five available video feed sources.The playlistGroup is only supported on iOS.\n * Defaults to discover.\n */\n source: VideoFeedSource;\n /**\n * Channel id of the feed. Required when the source is set as channel or playlist or dynamicContent.\n */\n channel?: string;\n /**\n * Playlist id of the feed. Please note channel id is necessary. Required when the source is set as playlist.\n */\n playlist?: string;\n /**\n * PlaylistGroup id of the feed. Required when the source is set as playlistGroup. Only supported on iOS.\n */\n playlistGroup?: string;\n /**\n * The dynamic content parameters of the feed. Required when the source is set as dynamicContent.\n */\n dynamicContentParameters?: { [key: string]: string[] };\n /**\n * Hashtag filter expression is an s-expression used to provide feeds filtered by hashtags with specified criteria.\n * Queries are specified with boolean predicates on what hashtags are there on the video.\n * For instance, (and sport food) (or sport food) (and sport (or food comedy)) sport are all valid expressions.\n * Non-UTF-8 characters are not allowed. If using boolean predicates, the expression needs to be wrapped with parenthesis.\n * Required when the source is set as hashtagPlaylist.\n */\n hashtagFilterExpression?: string;\n /**\n * Product ids used to generate the sku feed\n */\n productIds?: string[];\n /**\n * The video or live stream id. Only supported on iOS.\n */\n contentId?: string;\n /**\n * One of three available display modes. Defaults to row.\n */\n mode?: VideoFeedMode;\n /**\n * Specifies if Picture in Picture is enabled.\n */\n enablePictureInPicture?: boolean;\n /**\n * Configuration of the feed.\n */\n videoFeedConfiguration?: VideoFeedConfiguration;\n /**\n * Configuration of the player.\n */\n videoPlayerConfiguration?: VideoPlayerConfiguration;\n /**\n * Ad configuration of the feed.\n */\n adConfiguration?: AdConfiguration;\n /**\n * The feed loading result callback. It means loading successfully when error equals to undefined.\n */\n onVideoFeedLoadFinished?: (error?: FWError) => void;\n /**\n * The callback is triggered when there are no items in the story block.\n * The callback is triggered in the following cases:\n * 1. Loading successfully but the back end returns an empty list.\n * 2. The load failed and list is empty.\n * onVideoFeedLoadFinished will also be triggered when onVideoFeedEmpty is triggered.\n */\n onVideoFeedEmpty?: (error?: FWError) => void;\n /**\n * Start Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStartPictureInPicture?: (error?: FWError) => void;\n /**\n * Stop Picture in Picture callback. Only supported on iOS.\n */\n onVideoFeedDidStopPictureInPicture?: (error?: FWError) => void;\n /**\n *\n * The host app could use this callback to get feed id.\n * The feed id can be used for conversion tracking.\n */\n onVideoFeedGetFeedId?: (feedId: string) => void;\n}\n\ninterface IVideoFeedState {\n sdkInitCalled: boolean;\n}\n\nconst NativeComponentName = 'FWVideoFeed';\n\n/**\n * VideoFeed component.\n */\nclass VideoFeed extends React.Component<IVideoFeedProps, IVideoFeedState> {\n /**\n * @ignore\n */\n static defaultProps = {\n mode: 'row',\n };\n\n private _nativeComponentRef = React.createRef<any>();\n\n private _subscriptions: EmitterSubscription[] = [];\n\n private _loaded: boolean = false;\n\n constructor(props: IVideoFeedProps) {\n super(props);\n this.state = {\n sdkInitCalled: FWGlobalState.getInstance().sdkInitCalled,\n };\n }\n\n public refresh = () => {\n FWLoggerUtil.log(`VideoFeed refresh ${JSON.stringify(this.props)}`);\n\n const nativeNodeHandle = findNodeHandle(this._nativeComponentRef.current);\n\n let commandId: string | number =\n UIManager.getViewManagerConfig(NativeComponentName).Commands.refresh;\n if (Platform.OS === 'android') {\n commandId = commandId.toString();\n }\n let reactTag: number | null = findNodeHandle(nativeNodeHandle);\n FWLoggerUtil.log(\n `VideoFeed refresh commandId: ${commandId} nativeNodeHandle: ${nativeNodeHandle} reactTag: ${reactTag}`\n );\n if (!nativeNodeHandle || !reactTag) {\n return;\n }\n UIManager.dispatchViewManagerCommand(reactTag, commandId, []);\n };\n\n private _onVideoFeedLoadFinished = (event: NativeSyntheticEvent<any>) => {\n const { onVideoFeedLoadFinished, onVideoFeedEmpty } = this.props;\n\n const { name, reason, action } = event.nativeEvent;\n\n if (onVideoFeedLoadFinished) {\n if (name) {\n let error: FWError = { name };\n if (reason) {\n error.reason = reason;\n }\n\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished(error);\n }\n if (\n action === FWNativeErrorAction.loadingFirstPage ||\n !this._loaded\n ) {\n onVideoFeedEmpty?.(error);\n }\n } else {\n onVideoFeedLoadFinished(error);\n if (!this._loaded) {\n onVideoFeedEmpty?.(error);\n }\n }\n } else {\n if (Platform.OS === 'android') {\n if (!this._loaded) {\n onVideoFeedLoadFinished();\n }\n } else {\n onVideoFeedLoadFinished();\n }\n this._loaded = true;\n }\n }\n };\n\n private _onVideoFeedEmpty = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedLoadFinished ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedEmpty } = this.props;\n\n if (onVideoFeedEmpty) {\n onVideoFeedEmpty();\n }\n };\n\n private _onVideoFeedDidStartPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStartPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStartPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStartPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStartPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStartPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStartPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedDidStopPictureInPicture = (\n event: NativeSyntheticEvent<any>\n ) => {\n FWLoggerUtil.log(\n `VideoFeed _onVideoFeedDidStopPictureInPicture ${JSON.stringify(\n event.nativeEvent\n )}`\n );\n const { onVideoFeedDidStopPictureInPicture } = this.props;\n\n const { name, reason } = event.nativeEvent;\n\n if (onVideoFeedDidStopPictureInPicture) {\n if (name) {\n if (reason) {\n onVideoFeedDidStopPictureInPicture({ name, reason });\n } else {\n onVideoFeedDidStopPictureInPicture({ name });\n }\n } else {\n onVideoFeedDidStopPictureInPicture();\n }\n }\n };\n\n private _onVideoFeedGetFeedId = (event: NativeSyntheticEvent<any>) => {\n FWLoggerUtil.log(\n `VideoFeed onVideoFeedGetFeedId ${JSON.stringify(event.nativeEvent)}`\n );\n const { onVideoFeedGetFeedId } = this.props;\n\n const { feedId } = event.nativeEvent;\n\n if (feedId) {\n FWGlobalState.getInstance().componentTypeByFeedIdMap.set(\n feedId,\n FWComponentType.videoFeed\n );\n }\n\n if (onVideoFeedGetFeedId) {\n onVideoFeedGetFeedId(feedId ?? '');\n }\n };\n\n /**\n * @ignore\n */\n componentDidMount() {\n FWLoggerUtil.log(\n `VideoFeed componentDidMount ${JSON.stringify(this.props)}`\n );\n\n if (!this.state.sdkInitCalled) {\n FWGlobalState.getInstance().sdkInitCalledPromise.then(() => {\n this.setState({ sdkInitCalled: true });\n });\n }\n\n const subscriptionOfShareBaseURLUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.ShareBaseURLUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.ShareBaseURLUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfShareBaseURLUpdated);\n\n const subscriptionOfAdBadgeConfigurationUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AdBadgeConfigurationUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AdBadgeConfigurationUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAdBadgeConfigurationUpdated);\n\n const subscriptionOfVideoLaunchBehaviorUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.VideoLaunchBehaviorUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.VideoLaunchBehaviorUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfVideoLaunchBehaviorUpdated);\n\n const subscriptionOfAppLanguageUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.AppLanguageUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.AppLanguageUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfAppLanguageUpdated);\n\n const subscriptionOfDataTrackingLevelUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.DataTrackingLevelUpdated,\n () => {\n FWLoggerUtil.log('Receive FWEventName.DataTrackingLevelUpdated');\n this.setState({});\n }\n );\n this._subscriptions.push(subscriptionOfDataTrackingLevelUpdated);\n\n const subscriptionOfLivestreamPlayerDesignVersionUpdated =\n FireworkSDKModuleEventEmitter.addListener(\n FWEventName.LivestreamPlayerDesignVersionUpdated,\n () => {\n FWLoggerUtil.log(\n 'Receive FWEventName.LivestreamPlayerDesignVersionUpdated'\n );\n this.setState({});\n }\n );\n this._subscriptions.push(\n subscriptionOfLivestreamPlayerDesignVersionUpdated\n );\n }\n\n /**\n * @ignore\n */\n componentWillUnmount() {\n FWLoggerUtil.log(\n `VideoFeed componentWillUnmount ${JSON.stringify(this.props)}`\n );\n\n this._subscriptions.forEach((value) => {\n value.remove();\n });\n\n this._subscriptions = [];\n }\n\n /**\n * @ignore\n */\n render() {\n if (!this.state.sdkInitCalled) {\n return null;\n }\n\n const gShareBaseURL = FireworkSDK.getInstance().shareBaseURL;\n const appLanguage = FireworkSDK.getInstance().appLanguage;\n const videoLaunchBehavior = FireworkSDK.getInstance().videoLaunchBehavior;\n const adBadgeConfiguration = FireworkSDK.getInstance().adBadgeConfiguration;\n const adBadgeTextType = adBadgeConfiguration?.badgeTextType;\n const backgroundColorOfAdBadge = adBadgeConfiguration?.backgroundColor;\n const textColorOfAdBadge = adBadgeConfiguration?.textColor;\n const androidFontIsCustomOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.isCustom?.toString();\n const androidFontTypefaceNameOfAdBadge =\n adBadgeConfiguration?.androidFontInfo?.typefaceName;\n const dataTrackingLevel = FireworkSDK.getInstance().dataTrackingLevel;\n const livestreamPlayerDesignVersion =\n FireworkSDK.getInstance().livestreamPlayerDesignVersion;\n\n const {\n source,\n channel,\n playlist,\n playlistGroup,\n hashtagFilterExpression,\n productIds,\n contentId,\n mode,\n enablePictureInPicture,\n adConfiguration,\n } = this.props;\n const dynamicContentParametersString =\n this._generateDynamicContentParametersString();\n\n const videoFeedConfiguration = this._getVideoFeedConfiguration();\n const cornerRadius = videoFeedConfiguration?.cornerRadius?.toFixed(5);\n\n const titleHidden = videoFeedConfiguration?.title?.hidden?.toString();\n const titleTextColor = videoFeedConfiguration?.title?.textColor;\n const titleFontSize = videoFeedConfiguration?.title?.fontSize?.toFixed(5);\n const titleNumberOfLines = videoFeedConfiguration?.title?.numberOfLines;\n const titleAndroidFontInfo = videoFeedConfiguration?.title?.androidFontInfo;\n const titleGradientDrawable =\n videoFeedConfiguration?.title?.gradientDrawable;\n const titlePosition = videoFeedConfiguration?.titlePosition;\n const playIconHidden = videoFeedConfiguration?.playIcon?.hidden;\n const playIconWidth =\n videoFeedConfiguration?.playIcon?.iconWidth?.toFixed(5);\n const showAdBadge = videoFeedConfiguration?.showAdBadge?.toString();\n const enableAutoplay = videoFeedConfiguration?.enableAutoplay;\n const gridColumns = videoFeedConfiguration?.gridColumns;\n const itemSpacing = videoFeedConfiguration?.itemSpacing?.toFixed(5);\n\n const videoPlayerConfiguration = this._getVideoPlayerConfiguration();\n const playerStyle = videoPlayerConfiguration?.playerStyle;\n const videoCompleteAction = videoPlayerConfiguration?.videoCompleteAction;\n const showShareButton = videoPlayerConfiguration?.showShareButton;\n const showPlaybackButton = videoPlayerConfiguration?.showPlaybackButton;\n const showMuteButton = videoPlayerConfiguration?.showMuteButton;\n const showBranding = videoPlayerConfiguration?.showBranding;\n const ctaDelayType = videoPlayerConfiguration?.ctaDelay?.type;\n const ctaDelayValue = videoPlayerConfiguration?.ctaDelay?.value?.toFixed(5);\n const ctaHighlightDelayType =\n videoPlayerConfiguration?.ctaHighlightDelay?.type;\n const ctaHighlightDelayValue =\n videoPlayerConfiguration?.ctaHighlightDelay?.value?.toFixed(5);\n const shareBaseURL = videoPlayerConfiguration?.shareBaseURL;\n const ctaWidth = videoPlayerConfiguration?.ctaWidth;\n const buttonConfiguration = videoPlayerConfiguration?.buttonConfiguration;\n const videoPlayerLogoConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.videoPlayerLogoConfiguration\n );\n const countdownTimerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.countdownTimerConfiguration\n );\n const showVideoDetailTitle = videoPlayerConfiguration?.showVideoDetailTitle;\n const requiresAds = adConfiguration?.requiresAds;\n const adsFetchTimeout = adConfiguration?.adsFetchTimeout;\n const vastAttributesString = this._generateVastAttributesString();\n const replayBadgeVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.replayBadge\n );\n const replayBadgeVideoPlayerConfigurationJsonKey = gennerateJsonKey(\n videoPlayerConfiguration?.replayBadgeConfiguration\n );\n const shadowVideoFeedConfigurationJsonKey = gennerateJsonKey(\n videoFeedConfiguration?.shadow\n );\n let key = `gShareBaseURL:${gShareBaseURL}`;\n if (Platform.OS === 'ios') {\n key += `_appLanguage:${appLanguage}`;\n }\n key += `_videoLaunchBehavior:${videoLaunchBehavior}`;\n key += `_adBadgeTextType:${adBadgeTextType}`;\n key += `_backgroundColorOfAdBadge:${backgroundColorOfAdBadge}`;\n key += `_textColorOfAdBadge:${textColorOfAdBadge}`;\n if (Platform.OS === 'android') {\n key += `_androidFontIsCustomOfAdBadge${androidFontIsCustomOfAdBadge}`;\n key += `_androidFontTypefaceNameOfAdBadge${androidFontTypefaceNameOfAdBadge}`;\n }\n key += `_dataTrackingLevel:${dataTrackingLevel}`;\n key += `_livestreamPlayerDesignVersion:${livestreamPlayerDesignVersion}`;\n key += `_source:${source}`;\n key += `_channel:${channel}`;\n key += `_playlist:${playlist}`;\n key += `_playlistGroup:${playlistGroup}`;\n key += `_dynamicContentParameters:${dynamicContentParametersString}`;\n key += `_hashtagFilterExpression:${hashtagFilterExpression}`;\n key += `_productIds:${productIds?.join(',')}`;\n key += `_contentId:${contentId}`;\n key += `_mode:${mode}`;\n key += `_enablePictureInPicture:${enablePictureInPicture}`;\n\n key += `_titleHidden:${titleHidden}`;\n if (Platform.OS === 'android') {\n key += `_cornerRadius:${cornerRadius}`;\n key += `_titleTextColor:${titleTextColor}`;\n key += `_titleFontSize:${titleFontSize}`;\n key += `_titleNumberOfLines:${titleNumberOfLines}`;\n key += `_titleAndroidFontInfo.isCustom:${titleAndroidFontInfo?.isCustom}`;\n key += `_titleAndroidFontInfo.typefaceName:${titleAndroidFontInfo?.typefaceName}`;\n key += `_titleGradientDrawable.orientation:${titleGradientDrawable?.orientation}`;\n key += `_titleGradientDrawable.colors:${titleGradientDrawable?.colors?.join(\n ','\n )}`;\n key += `_playIconHidden:${playIconHidden}`;\n key += `_playIconWidth:${playIconWidth}`;\n key += `_showAdBadge:${showAdBadge}`;\n }\n\n key += `_titlePosition:${titlePosition}`;\n if (Platform.OS === 'android') {\n key += `_enableAutoplay:${enableAutoplay}`;\n }\n key += `_gridColumns:${gridColumns}`;\n key += `_itemSpacing:${itemSpacing}`;\n\n key += `_shareBaseURL:${shareBaseURL}`;\n if (Platform.OS === 'android') {\n key += `_playerStyle:${playerStyle}`;\n key += `_videoCompleteAction:${videoCompleteAction}`;\n key += `_showShareButton:${showShareButton}`;\n key += `_showPlaybackButton:${showPlaybackButton}`;\n key += `_showMuteButton:${showMuteButton}`;\n key += `_showBranding:${showBranding}`;\n key += `_ctaDelayType:${ctaDelayType}`;\n key += `_ctaDelayValue:${ctaDelayValue}`;\n key += `_ctaHighlightDelayType:${ctaHighlightDelayType}`;\n key += `_ctaHighlightDelayValue:${ctaHighlightDelayValue}`;\n key += `_ctaWidth:${ctaWidth}`;\n key += `_buttonConfiguration.videoDetailButton:${this._generateButtonInfoString(\n buttonConfiguration?.videoDetailButton\n )}`;\n key += `_buttonConfiguration.closeButton:${this._generateButtonInfoString(\n buttonConfiguration?.closeButton\n )}`;\n key += `_buttonConfiguration.muteButton:${this._generateButtonInfoString(\n buttonConfiguration?.muteButton\n )}`;\n key += `_buttonConfiguration.unmuteButton:${this._generateButtonInfoString(\n buttonConfiguration?.unmuteButton\n )}`;\n key += `_buttonConfiguration.playButton:${this._generateButtonInfoString(\n buttonConfiguration?.playButton\n )}`;\n key += `_buttonConfiguration.pauseButton:${this._generateButtonInfoString(\n buttonConfiguration?.pauseButton\n )}`;\n key += `_videoPlayerLogoConfiguration:${videoPlayerLogoConfigurationJsonKey}`;\n key += `_countdownTimerConfiguration:${countdownTimerConfigurationJsonKey}`;\n key += `_showVideoDetailTitle:${showVideoDetailTitle}`;\n }\n\n key += `_requiresAds:${requiresAds}`;\n key += `_adsFetchTimeout:${adsFetchTimeout}`;\n key += `_vastAttributes:${vastAttributesString}`;\n key += `_replayBadgeVideoFeedConfiguration:${replayBadgeVideoFeedConfigurationJsonKey}`;\n key += `_replayBadgeVideoPlayerConfiguration:${replayBadgeVideoPlayerConfigurationJsonKey}`;\n key += `_shadowVideoFeedConfiguration:${shadowVideoFeedConfigurationJsonKey}`;\n console.log('video feed key', key);\n\n return (\n <FWVideoFeed\n key={key}\n {...this.props}\n enablePictureInPicture={undefined}\n videoFeedConfiguration={videoFeedConfiguration}\n videoPlayerConfiguration={videoPlayerConfiguration}\n ref={this._nativeComponentRef}\n onVideoFeedLoadFinished={this._onVideoFeedLoadFinished}\n onVideoFeedEmpty={this._onVideoFeedEmpty}\n onVideoFeedDidStartPictureInPicture={\n this._onVideoFeedDidStartPictureInPicture\n }\n onVideoFeedDidStopPictureInPicture={\n this._onVideoFeedDidStopPictureInPicture\n }\n onVideoFeedGetFeedId={this._onVideoFeedGetFeedId}\n mode={mode ?? 'row'}\n />\n );\n }\n\n private _generateDynamicContentParametersString(): string {\n const { dynamicContentParameters } = this.props;\n if (!dynamicContentParameters) {\n return '';\n }\n\n let resultString = '';\n const sortedKeyList = Object.keys(dynamicContentParameters).sort();\n for (const key of sortedKeyList) {\n const value = dynamicContentParameters[key];\n const valueString = value.join(',');\n if (resultString.length > 0) {\n resultString += '_';\n }\n\n resultString += `${key}:${valueString}`;\n }\n\n return resultString;\n }\n\n private _generateVastAttributesString(): string | undefined {\n const { adConfiguration } = this.props;\n const vastAttributes = adConfiguration?.vastAttributes;\n if (!vastAttributes) {\n return '';\n }\n\n let resultString = '';\n for (const attribute of vastAttributes) {\n if (resultString.length > 0) {\n resultString += '_';\n }\n resultString += `${attribute.name}:${attribute.value}`;\n }\n\n return resultString;\n }\n\n private _generateButtonInfoString(buttonInfo?: ButtonInfo): string {\n return `imageName:${buttonInfo?.imageName}_systemImageName:${buttonInfo?.systemImageName}_tintColor:${buttonInfo?.tintColor}`;\n }\n\n private _getVideoFeedConfiguration(): VideoFeedConfiguration | undefined {\n const { videoFeedConfiguration } = this.props;\n if (!videoFeedConfiguration) {\n return videoFeedConfiguration;\n }\n\n let resultVideoFeedConfiguration = videoFeedConfiguration;\n\n if (\n resultVideoFeedConfiguration.gridColumns &&\n Math.floor(resultVideoFeedConfiguration.gridColumns) !==\n resultVideoFeedConfiguration.gridColumns\n ) {\n const gridColumns = Math.floor(resultVideoFeedConfiguration.gridColumns);\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n gridColumns,\n };\n }\n\n if (\n resultVideoFeedConfiguration.title &&\n resultVideoFeedConfiguration.title.numberOfLines &&\n Math.floor(resultVideoFeedConfiguration.title.numberOfLines) !==\n resultVideoFeedConfiguration.title.numberOfLines\n ) {\n const numberOfLines = Math.floor(\n resultVideoFeedConfiguration.title.numberOfLines\n );\n resultVideoFeedConfiguration = {\n ...resultVideoFeedConfiguration,\n title: {\n ...resultVideoFeedConfiguration.title,\n numberOfLines,\n },\n };\n }\n\n return resultVideoFeedConfiguration;\n }\n\n private _getVideoPlayerConfiguration():\n | VideoPlayerNativeConfiguration\n | undefined {\n const { videoPlayerConfiguration, enablePictureInPicture } = this.props;\n\n let resultVideoPlayerConfiguration:\n | VideoPlayerNativeConfiguration\n | undefined = videoPlayerConfiguration;\n if (typeof enablePictureInPicture === 'boolean') {\n if (!resultVideoPlayerConfiguration) {\n resultVideoPlayerConfiguration = {};\n }\n resultVideoPlayerConfiguration = {\n ...resultVideoPlayerConfiguration,\n enablePictureInPicture,\n };\n }\n\n return resultVideoPlayerConfiguration;\n }\n}\n\nexport default VideoFeed;\n"]}
|
package/lib/commonjs/index.js
CHANGED
|
@@ -39,6 +39,12 @@ Object.defineProperty(exports, "LiveStreamEventName", {
|
|
|
39
39
|
return _LiveStreamEventName.default;
|
|
40
40
|
}
|
|
41
41
|
});
|
|
42
|
+
Object.defineProperty(exports, "LivestreamPlayerDesignVersion", {
|
|
43
|
+
enumerable: true,
|
|
44
|
+
get: function () {
|
|
45
|
+
return _LivestreamPlayerDesignVersion.default;
|
|
46
|
+
}
|
|
47
|
+
});
|
|
42
48
|
Object.defineProperty(exports, "StoryBlock", {
|
|
43
49
|
enumerable: true,
|
|
44
50
|
get: function () {
|
|
@@ -87,6 +93,8 @@ var _LiveStreamChatEventName = _interopRequireDefault(require("./models/LiveStre
|
|
|
87
93
|
|
|
88
94
|
var _LiveStreamEventName = _interopRequireDefault(require("./models/LiveStreamEventName"));
|
|
89
95
|
|
|
96
|
+
var _LivestreamPlayerDesignVersion = _interopRequireDefault(require("./models/LivestreamPlayerDesignVersion"));
|
|
97
|
+
|
|
90
98
|
var _VideoPlaybackEventName = _interopRequireDefault(require("./models/VideoPlaybackEventName"));
|
|
91
99
|
|
|
92
100
|
var _VideoFeedUtil = _interopRequireDefault(require("./utils/VideoFeedUtil"));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["FireworkSDK"],"mappings":"
|
|
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"]}
|
|
@@ -28,5 +28,7 @@ exports.FWEventName = FWEventName;
|
|
|
28
28
|
FWEventName["CustomProductCardTap"] = "fw:shopping:custom-product-card-tap";
|
|
29
29
|
FWEventName["ProductInfoViewConfigurationUpdated"] = "fw:product-info-view-configuration-updated";
|
|
30
30
|
FWEventName["ProductClick"] = "fw:shopping:product-click";
|
|
31
|
+
FWEventName["LivestreamPlayerDesignVersionUpdated"] = "fw:livestream-player-design-version-updated";
|
|
32
|
+
FWEventName["DataTrackingLevelUpdated"] = "fw:data-tracking-level-updated";
|
|
31
33
|
})(FWEventName || (exports.FWEventName = FWEventName = {}));
|
|
32
34
|
//# sourceMappingURL=FWEventName.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FWEventName.ts"],"names":["FWEventName"],"mappings":";;;;;;IAAYA,W;;;WAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,2BAAAA,W","sourcesContent":["export enum FWEventName {\n SDKInit = 'fw:sdk-init',\n CustomCTAClick = 'fw:custom-cta-click',\n VideoPlayback = 'fw:video-playback',\n VideoFeedClick = 'fw:video-feed-click',\n AddToCart = 'fw:shopping:add-to-cart',\n ShoppingCTAButtonClick = 'fw:shopping:cta-button-click',\n ClickCartIcon = 'fw:shopping:click-cart-icon',\n UpdateProductDetails = 'fw:shopping:update-product-details',\n LiveStream = 'fw:livestream',\n LiveStreamChat = 'fw:livestream-chat',\n ShareBaseURLUpdated = 'fw:share-base-url-updated',\n VideoLaunchBehaviorUpdated = 'fw:video-launch-behavior-updated',\n AdBadgeConfigurationUpdated = 'fw:ad-badge-configuration-updated',\n AppLanguageUpdated = 'fw:app-language-updated',\n NativeAppLanguageUpdated = 'fw:native-app-language-updated',\n LogMessage = 'fw:log-message',\n CustomLinkButtonClick = 'fw:shopping:custom-link-button-click',\n CustomProductCardTap = 'fw:shopping:custom-product-card-tap',\n ProductInfoViewConfigurationUpdated = 'fw:product-info-view-configuration-updated',\n ProductClick = 'fw:shopping:product-click',\n}\n"]}
|
|
1
|
+
{"version":3,"sources":["FWEventName.ts"],"names":["FWEventName"],"mappings":";;;;;;IAAYA,W;;;WAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;AAAAA,EAAAA,W;GAAAA,W,2BAAAA,W","sourcesContent":["export enum FWEventName {\n SDKInit = 'fw:sdk-init',\n CustomCTAClick = 'fw:custom-cta-click',\n VideoPlayback = 'fw:video-playback',\n VideoFeedClick = 'fw:video-feed-click',\n AddToCart = 'fw:shopping:add-to-cart',\n ShoppingCTAButtonClick = 'fw:shopping:cta-button-click',\n ClickCartIcon = 'fw:shopping:click-cart-icon',\n UpdateProductDetails = 'fw:shopping:update-product-details',\n LiveStream = 'fw:livestream',\n LiveStreamChat = 'fw:livestream-chat',\n ShareBaseURLUpdated = 'fw:share-base-url-updated',\n VideoLaunchBehaviorUpdated = 'fw:video-launch-behavior-updated',\n AdBadgeConfigurationUpdated = 'fw:ad-badge-configuration-updated',\n AppLanguageUpdated = 'fw:app-language-updated',\n NativeAppLanguageUpdated = 'fw:native-app-language-updated',\n LogMessage = 'fw:log-message',\n CustomLinkButtonClick = 'fw:shopping:custom-link-button-click',\n CustomProductCardTap = 'fw:shopping:custom-product-card-tap',\n ProductInfoViewConfigurationUpdated = 'fw:product-info-view-configuration-updated',\n ProductClick = 'fw:shopping:product-click',\n LivestreamPlayerDesignVersionUpdated = 'fw:livestream-player-design-version-updated',\n DataTrackingLevelUpdated = 'fw:data-tracking-level-updated',\n}\n"]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
Object.defineProperty(exports, "__esModule", {
|
|
4
|
+
value: true
|
|
5
|
+
});
|
|
6
|
+
exports.default = void 0;
|
|
7
|
+
var LivestreamPlayerDesignVersion;
|
|
8
|
+
|
|
9
|
+
(function (LivestreamPlayerDesignVersion) {
|
|
10
|
+
LivestreamPlayerDesignVersion["v1"] = "v1";
|
|
11
|
+
LivestreamPlayerDesignVersion["v2"] = "v2";
|
|
12
|
+
})(LivestreamPlayerDesignVersion || (LivestreamPlayerDesignVersion = {}));
|
|
13
|
+
|
|
14
|
+
var _default = LivestreamPlayerDesignVersion;
|
|
15
|
+
exports.default = _default;
|
|
16
|
+
//# sourceMappingURL=LivestreamPlayerDesignVersion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["LivestreamPlayerDesignVersion.ts"],"names":["LivestreamPlayerDesignVersion"],"mappings":";;;;;;IAAKA,6B;;WAAAA,6B;AAAAA,EAAAA,6B;AAAAA,EAAAA,6B;GAAAA,6B,KAAAA,6B;;eAKUA,6B","sourcesContent":["enum LivestreamPlayerDesignVersion {\n v1 = 'v1',\n v2 = 'v2',\n}\n\nexport default LivestreamPlayerDesignVersion;\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["FireworkSDKModule","NativeModules","FireworkSDK","Proxy","get","Error","LINKING_ERROR","FireworkSDKModuleEventEmitter","NativeEventEmitter"],"mappings":";;;;;;;AAAA;;AAEA;;
|
|
1
|
+
{"version":3,"sources":["FireworkSDKModule.ts"],"names":["FireworkSDKModule","NativeModules","FireworkSDK","Proxy","get","Error","LINKING_ERROR","FireworkSDKModuleEventEmitter","NativeEventEmitter"],"mappings":";;;;;;;AAAA;;AAEA;;AAQA,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;AA8BA,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';\nimport type { DataTrackingLevel } from 'src/models/DataTrackingLevel';\nimport type LivestreamPlayerDesignVersion from 'src/models/LivestreamPlayerDesignVersion';\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 markInitCalled(): Promise<boolean>;\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(language?: string | null): Promise<boolean>;\n pausePlayer(callbackId: number | string): void; // Only supported on iOS\n resumePlayer(callbackId: number | string): void; // Only supported on iOS\n setDataTrackingLevel(level?: DataTrackingLevel): Promise<boolean>;\n setLivestreamPlayerDesignVersion(\n version: LivestreamPlayerDesignVersion\n ): Promise<boolean>;\n}\n\nconst FireworkSDKModuleEventEmitter = new NativeEventEmitter(FireworkSDKModule);\nexport { FireworkSDKModuleEventEmitter };\nexport default FireworkSDKModule as IFireworkSDKModule;\n"]}
|
|
@@ -4,12 +4,13 @@ import { Platform } from 'react-native';
|
|
|
4
4
|
import FWNavigator from './FWNavigator';
|
|
5
5
|
import LiveStream from './LiveStream';
|
|
6
6
|
import { FWEventName } from './models/FWEventName';
|
|
7
|
+
import LivestreamPlayerDesignVersion from './models/LivestreamPlayerDesignVersion';
|
|
7
8
|
import FireworkSDKModule, { FireworkSDKModuleEventEmitter } from './modules/FireworkSDKModule';
|
|
8
9
|
import LiveStreamModule from './modules/LiveStreamModule';
|
|
9
10
|
import ShoppingModule from './modules/ShoppingModule';
|
|
11
|
+
import FWGlobalState from './utils/FWGlobalState';
|
|
10
12
|
import FWLoggerUtil from './utils/FWLoggerUtil';
|
|
11
13
|
import VideoShopping from './VideoShopping';
|
|
12
|
-
import FWGlobalState from './utils/FWGlobalState';
|
|
13
14
|
|
|
14
15
|
/**
|
|
15
16
|
* Firework SDK.
|
|
@@ -69,7 +70,6 @@ class FireworkSDK {
|
|
|
69
70
|
|
|
70
71
|
set shareBaseURL(value) {
|
|
71
72
|
this.updateInternalShareBaseURL(value);
|
|
72
|
-
FireworkSDKModule.setShareBaseURL(value !== null && value !== void 0 ? value : '');
|
|
73
73
|
}
|
|
74
74
|
|
|
75
75
|
/**
|
|
@@ -84,12 +84,11 @@ class FireworkSDK {
|
|
|
84
84
|
|
|
85
85
|
const valueHasChanged = ((_this$_adBadgeConfigu = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu === void 0 ? void 0 : _this$_adBadgeConfigu.badgeTextType) !== (value === null || value === void 0 ? void 0 : value.badgeTextType) || ((_this$_adBadgeConfigu2 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu2 === void 0 ? void 0 : _this$_adBadgeConfigu2.backgroundColor) !== (value === null || value === void 0 ? void 0 : value.backgroundColor) || ((_this$_adBadgeConfigu3 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu3 === void 0 ? void 0 : _this$_adBadgeConfigu3.textColor) !== (value === null || value === void 0 ? void 0 : value.textColor) || ((_this$_adBadgeConfigu4 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu4 === void 0 ? void 0 : (_this$_adBadgeConfigu5 = _this$_adBadgeConfigu4.androidFontInfo) === null || _this$_adBadgeConfigu5 === void 0 ? void 0 : _this$_adBadgeConfigu5.isCustom) !== (value === null || value === void 0 ? void 0 : (_value$androidFontInf = value.androidFontInfo) === null || _value$androidFontInf === void 0 ? void 0 : _value$androidFontInf.isCustom) || ((_this$_adBadgeConfigu6 = this._adBadgeConfiguration) === null || _this$_adBadgeConfigu6 === void 0 ? void 0 : (_this$_adBadgeConfigu7 = _this$_adBadgeConfigu6.androidFontInfo) === null || _this$_adBadgeConfigu7 === void 0 ? void 0 : _this$_adBadgeConfigu7.typefaceName) !== (value === null || value === void 0 ? void 0 : (_value$androidFontInf2 = value.androidFontInfo) === null || _value$androidFontInf2 === void 0 ? void 0 : _value$androidFontInf2.typefaceName);
|
|
86
86
|
this._adBadgeConfiguration = value;
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
FireworkSDKModule.setAdBadgeConfiguration(value !== null && value !== void 0 ? value : {});
|
|
87
|
+
FireworkSDKModule.setAdBadgeConfiguration(value !== null && value !== void 0 ? value : {}).then(() => {
|
|
88
|
+
if (valueHasChanged) {
|
|
89
|
+
this.eventEmitter.emit(FWEventName.AdBadgeConfigurationUpdated);
|
|
90
|
+
}
|
|
91
|
+
});
|
|
93
92
|
}
|
|
94
93
|
|
|
95
94
|
get appLanguage() {
|
|
@@ -104,8 +103,13 @@ class FireworkSDK {
|
|
|
104
103
|
}
|
|
105
104
|
|
|
106
105
|
set dataTrackingLevel(value) {
|
|
106
|
+
const valueHasChanged = this._dataTrackingLevel !== value;
|
|
107
107
|
this._dataTrackingLevel = value;
|
|
108
|
-
FireworkSDKModule.setDataTrackingLevel(value)
|
|
108
|
+
FireworkSDKModule.setDataTrackingLevel(value).then(() => {
|
|
109
|
+
if (valueHasChanged) {
|
|
110
|
+
this.eventEmitter.emit(FWEventName.DataTrackingLevelUpdated);
|
|
111
|
+
}
|
|
112
|
+
});
|
|
109
113
|
}
|
|
110
114
|
|
|
111
115
|
/**
|
|
@@ -128,6 +132,23 @@ class FireworkSDK {
|
|
|
128
132
|
return this._videoLaunchBehavior;
|
|
129
133
|
}
|
|
130
134
|
|
|
135
|
+
/**
|
|
136
|
+
* The version of the livestream player design.
|
|
137
|
+
*/
|
|
138
|
+
get livestreamPlayerDesignVersion() {
|
|
139
|
+
return this._livestreamPlayerDesignVersion;
|
|
140
|
+
}
|
|
141
|
+
|
|
142
|
+
set livestreamPlayerDesignVersion(value) {
|
|
143
|
+
const valueHasChanged = this._livestreamPlayerDesignVersion !== value;
|
|
144
|
+
this._livestreamPlayerDesignVersion = value;
|
|
145
|
+
FireworkSDKModule.setLivestreamPlayerDesignVersion(value).then(() => {
|
|
146
|
+
if (valueHasChanged) {
|
|
147
|
+
this.eventEmitter.emit(FWEventName.LivestreamPlayerDesignVersionUpdated);
|
|
148
|
+
}
|
|
149
|
+
});
|
|
150
|
+
}
|
|
151
|
+
|
|
131
152
|
get eventEmitter() {
|
|
132
153
|
return FireworkSDKModuleEventEmitter;
|
|
133
154
|
}
|
|
@@ -185,6 +206,8 @@ class FireworkSDK {
|
|
|
185
206
|
|
|
186
207
|
_defineProperty(this, "_videoLaunchBehavior", void 0);
|
|
187
208
|
|
|
209
|
+
_defineProperty(this, "_livestreamPlayerDesignVersion", LivestreamPlayerDesignVersion.v1);
|
|
210
|
+
|
|
188
211
|
_defineProperty(this, "_shopping", VideoShopping.getInstance());
|
|
189
212
|
|
|
190
213
|
_defineProperty(this, "_liveStream", LiveStream.getInstance());
|
|
@@ -265,12 +288,12 @@ class FireworkSDK {
|
|
|
265
288
|
FWLoggerUtil.log('Call FireworkSDK init method');
|
|
266
289
|
const videoLaunchBehaviorUpdated = this._videoLaunchBehavior !== (options === null || options === void 0 ? void 0 : options.videoLaunchBehavior);
|
|
267
290
|
this._videoLaunchBehavior = options === null || options === void 0 ? void 0 : options.videoLaunchBehavior;
|
|
291
|
+
await FireworkSDKModule.init(options);
|
|
268
292
|
|
|
269
293
|
if (videoLaunchBehaviorUpdated) {
|
|
270
294
|
this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);
|
|
271
295
|
}
|
|
272
296
|
|
|
273
|
-
await FireworkSDKModule.init(options);
|
|
274
297
|
await this.completeRemainingInitialization();
|
|
275
298
|
}
|
|
276
299
|
/**
|
|
@@ -376,10 +399,11 @@ class FireworkSDK {
|
|
|
376
399
|
updateInternalShareBaseURL(shareBaseURL) {
|
|
377
400
|
const shareBaseURLChanged = this._shareBaseURL !== shareBaseURL;
|
|
378
401
|
this._shareBaseURL = shareBaseURL;
|
|
379
|
-
|
|
380
|
-
|
|
381
|
-
|
|
382
|
-
|
|
402
|
+
FireworkSDKModule.setShareBaseURL(shareBaseURL !== null && shareBaseURL !== void 0 ? shareBaseURL : '').then(() => {
|
|
403
|
+
if (shareBaseURLChanged) {
|
|
404
|
+
this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);
|
|
405
|
+
}
|
|
406
|
+
});
|
|
383
407
|
}
|
|
384
408
|
|
|
385
409
|
async completeRemainingInitialization() {
|
|
@@ -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","dataTrackingLevel","_dataTrackingLevel","setDataTrackingLevel","debugLogsEnabled","enabled","videoLaunchBehavior","_videoLaunchBehavior","shopping","_shopping","liveStream","_liveStream","navigator","_navigator","getInstance","_instance","constructor","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","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 { 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';\nimport type { DataTrackingLevel } from './models/DataTrackingLevel';\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 * The configuration for data tracking level.\n */\n public get dataTrackingLevel(): DataTrackingLevel {\n return this._dataTrackingLevel;\n }\n public set dataTrackingLevel(value: DataTrackingLevel) {\n this._dataTrackingLevel = value;\n FireworkSDKModule.setDataTrackingLevel(value);\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 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 if (videoLaunchBehaviorUpdated) {\n this.eventEmitter.emit(FWEventName.VideoLaunchBehaviorUpdated);\n }\n await FireworkSDKModule.init(options);\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 if (shareBaseURLChanged) {\n this.eventEmitter.emit(FWEventName.ShareBaseURLUpdated);\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","nativeLazyInit","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;AAKA,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;;AACE;AACF;AACA;AACA;AACA;AACA;;;AAC6B,QAAd0B,cAAc,GAAiD;AAAA,QAAhDC,cAAgD,uEAAtB,KAAsB;AAC1EvF,IAAAA,YAAY,CAACU,GAAb,CAAiB,wCAAjB;;AACA,QAAI,CAAC6E,cAAL,EAAqB;AACnB,YAAM,KAAK3B,+BAAL,EAAN;AACA,YAAMjE,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,EAAN;AACD;AACF;AACF;AAED;AACF;AACA;AACA;AACA;;;AAC8B,QAAf6B,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,GAAkB;AAC7D,QAAI7D,aAAa,CAACqD,WAAd,GAA4BuC,aAAhC,EAA+C;AAC7C;AACD;;AAED5F,IAAAA,aAAa,CAACqD,WAAd,GAA4BuD,oBAA5B;AACA,UAAM7G,cAAc,CAACoF,IAAf,EAAN;AACA,UAAMrF,gBAAgB,CAACqF,IAAjB,EAAN;AACD;;AAnYe;;gBAAZhF,W;;AAsYN,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 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"]}
|