react-native-firework-sdk 2.6.0 → 2.7.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/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/FireworkVideoUI +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Info.plist +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.private.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.swiftdoc +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/FireworkVideoUI +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Info.plist +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftdoc +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/arm64-apple-ios-simulator.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftdoc +0 -0
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/Modules/FireworkVideoUI.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +1 -1
- package/FireworkVideoUI.xcframework/ios-arm64_x86_64-simulator/FireworkVideoUI.framework/_CodeSignature/CodeResources +17 -17
- package/android/src/main/java/com/fireworksdk/bridge/components/videofeed/FWVideoFeed.kt +20 -0
- package/android/src/main/java/com/fireworksdk/bridge/reactnative/manager/FWVideoFeedManager.kt +1 -1
- package/ios/Components/StoryBlock.swift +56 -0
- package/ios/Components/StoryBlockConfiguration.swift +4 -0
- package/ios/Components/VideoPlayerConfiguration.swift +20 -20
- package/ios/FireworkVideoUI/FireworkVideoUI.xcodeproj/project.pbxproj +20 -20
- package/ios/FireworkVideoUI/Podfile +2 -2
- package/ios/FireworkVideoUI/Podfile.lock +4 -4
- package/ios/Modules/FWNavigatorModule/FWNavigatorModule.m +2 -0
- package/ios/Modules/FWNavigatorModule/FWNavigatorModule.swift +65 -0
- package/ios/Modules/FWNavigatorModule/FWRNPresentContainerViewController.swift +33 -0
- package/ios/Modules/Shopping/ProductInfoViewConfiguration.swift +7 -0
- package/ios/Modules/Shopping/ShoppingModule.swift +18 -2
- package/ios/Support/MultiHostStreaming/FWMultiHostStreaming.podspec +1 -1
- package/lib/commonjs/FWNavigator.js +38 -0
- package/lib/commonjs/FWNavigator.js.map +1 -1
- package/lib/commonjs/components/StoryBlock.js +4 -0
- package/lib/commonjs/components/StoryBlock.js.map +1 -1
- package/lib/commonjs/index.js.map +1 -1
- package/lib/commonjs/modules/FWNavigatorModule.js.map +1 -1
- package/lib/module/FWNavigator.js +37 -0
- package/lib/module/FWNavigator.js.map +1 -1
- package/lib/module/components/StoryBlock.js +4 -0
- package/lib/module/components/StoryBlock.js.map +1 -1
- package/lib/module/index.js.map +1 -1
- package/lib/module/modules/FWNavigatorModule.js.map +1 -1
- package/lib/typescript/FWNavigator.d.ts +16 -0
- package/lib/typescript/index.d.ts +2 -2
- package/lib/typescript/models/ProductInfoViewConfiguration.d.ts +15 -0
- package/lib/typescript/models/StoryBlockConfiguration.d.ts +28 -0
- package/lib/typescript/modules/FWNavigatorModule.d.ts +2 -0
- package/package.json +1 -1
- package/react-native-firework-sdk.podspec +2 -2
- package/src/FWNavigator.ts +33 -0
- package/src/components/StoryBlock.tsx +4 -0
- package/src/index.ts +2 -0
- package/src/models/ProductInfoViewConfiguration.ts +16 -0
- package/src/models/StoryBlockConfiguration.ts +28 -0
- package/src/modules/FWNavigatorModule.ts +2 -0
package/lib/module/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","LiveStreamChatEventName","LiveStreamEventName","VideoPlaybackEventName","VideoShopping"],"mappings":"AAIA,OAAOA,UAAP,MAAuB,yBAAvB;AAEA,OAAOC,SAAP,MAAsB,wBAAtB;AAOA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAKA,OAAOC,UAAP,MAAuB,cAAvB;AA4BA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;
|
|
1
|
+
{"version":3,"sources":["index.ts"],"names":["StoryBlock","VideoFeed","FireworkSDK","FWNavigator","LiveStream","LiveStreamChatEventName","LiveStreamEventName","VideoPlaybackEventName","VideoShopping"],"mappings":"AAIA,OAAOA,UAAP,MAAuB,yBAAvB;AAEA,OAAOC,SAAP,MAAsB,wBAAtB;AAOA,OAAOC,WAAP,MAAwB,eAAxB;AACA,OAAOC,WAAP,MAAwB,eAAxB;AAKA,OAAOC,UAAP,MAAuB,cAAvB;AA4BA,OAAOC,uBAAP,MAAoC,kCAApC;AAEA,OAAOC,mBAAP,MAAgC,8BAAhC;AAkCA,OAAOC,sBAAP,MAAmC,iCAAnC;AAkBA,OAAOC,aAAP,MAA0B,iBAA1B;AAEA,eAAeN,WAAf;AAEA,SAcEA,WAdF,EAgBEC,WAhBF,EA0BEC,UA1BF,EA4BEC,uBA5BF,EA+BEC,mBA/BF,EAuDEN,UAvDF,EA8DEC,SA9DF,EA4EEM,sBA5EF,EAsFEC,aAtFF","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 FeedItemDetails from './models/FeedItemDetails';\nimport type FWError from './models/FWError';\nimport type {\n CustomClickLinkButtonEvent,\n CustomCTAClickEvent,\n CustomTapProductCardEvent,\n LiveStreamChatEvent,\n LiveStreamEvent,\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 type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';\nimport type Product from './models/Product';\nimport type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';\nimport type {\n LinkButtonConfiguration,\n ProductCardConfiguration,\n ProductCardCTAButtonText,\n ProductCardPriceConfiguration,\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 { VideoPlayerStyle } from './models/VideoPlayerStyle';\nimport type {\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 CustomClickCartIconCallback,\n CustomClickLinkButtonCallback,\n CustomClickLinkButtonEvent,\n CustomCTAClickCallback,\n CustomCTAClickEvent,\n CustomTapProductCardCallback,\n CustomTapProductCardEvent,\n FeedItemDetails,\n FireworkSDK,\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 onLiveStreamChatEventCallback,\n onLiveStreamEventCallback,\n OpenVideoPlayerConfiguration,\n Product,\n ProductCardConfiguration,\n ProductCardCTAButtonText,\n ProductCardPriceConfiguration,\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 VideoLaunchBehavior,\n VideoPlaybackCallback,\n VideoPlaybackDetails,\n VideoPlaybackEvent,\n VideoPlaybackEventName,\n VideoPlayerButtonConfiguration,\n VideoPlayerCompleteAction,\n VideoPlayerConfiguration,\n VideoPlayerCTADelay,\n VideoPlayerCTADelayType,\n VideoPlayerCTAStyle,\n VideoPlayerCTAWidth,\n VideoPlayerSize,\n VideoPlayerStyle,\n VideoShopping,\n};\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["FWNavigatorModule.ts"],"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","FWNavigatorModule","Proxy","get","Error","FWNavigatorModuleEventEmitter"],"mappings":"AAAA,SAASA,kBAAT,EAA2CC,aAA3C,QAAgE,cAAhE;AAEA,SAASC,aAAT,QAA8B,6BAA9B;AAGA,MAAMC,iBAAiB,GAAGF,aAAa,CAACE,iBAAd,GACtBF,aAAa,CAACE,iBADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUJ,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;
|
|
1
|
+
{"version":3,"sources":["FWNavigatorModule.ts"],"names":["NativeEventEmitter","NativeModules","LINKING_ERROR","FWNavigatorModule","Proxy","get","Error","FWNavigatorModuleEventEmitter"],"mappings":"AAAA,SAASA,kBAAT,EAA2CC,aAA3C,QAAgE,cAAhE;AAEA,SAASC,aAAT,QAA8B,6BAA9B;AAGA,MAAMC,iBAAiB,GAAGF,aAAa,CAACE,iBAAd,GACtBF,aAAa,CAACE,iBADQ,GAEtB,IAAIC,KAAJ,CACE,EADF,EAEE;AACEC,EAAAA,GAAG,GAAG;AACJ,UAAM,IAAIC,KAAJ,CAAUJ,aAAV,CAAN;AACD;;AAHH,CAFF,CAFJ;AAqBA,MAAMK,6BAA6B,GAAG,IAAIP,kBAAJ,CAAuBG,iBAAvB,CAAtC;AACA,SAASI,6BAAT;AACA,eAAeJ,iBAAf","sourcesContent":["import { NativeEventEmitter, NativeModule, NativeModules } from 'react-native';\n\nimport { LINKING_ERROR } from '../constants/FWErrorMessage';\nimport type PushRNContainerParams from '../models/PushRNContainerParams';\n\nconst FWNavigatorModule = NativeModules.FWNavigatorModule\n ? NativeModules.FWNavigatorModule\n : new Proxy(\n {},\n {\n get() {\n throw new Error(LINKING_ERROR);\n },\n }\n );\ninterface IFWNavigatorModule extends NativeModule {\n pushRNContainer(params: PushRNContainerParams): Promise<boolean>;\n popRNContainer(): Promise<boolean>;\n popNativeContainer(): Promise<boolean>;\n canPopNativeContainer(): Promise<boolean>;\n startFloatingPlayer(): Promise<boolean>;\n stopFloatingPlayer(): Promise<boolean>;\n bringRNContainerToTop(): Promise<boolean>;\n bringRNContainerToBottom(): Promise<boolean>;\n}\n\nconst FWNavigatorModuleEventEmitter = new NativeEventEmitter(FWNavigatorModule);\nexport { FWNavigatorModuleEventEmitter };\nexport default FWNavigatorModule as IFWNavigatorModule;\n"]}
|
|
@@ -36,5 +36,21 @@ declare class FWNavigator {
|
|
|
36
36
|
* Stop current floating player.
|
|
37
37
|
*/
|
|
38
38
|
stopFloatingPlayer(): Promise<void>;
|
|
39
|
+
/**
|
|
40
|
+
* Bring the RN container to top.
|
|
41
|
+
* @returns {Promise<boolean>} The result of presenting the RN container.
|
|
42
|
+
* If the result is true, it means that the RN container is presented.
|
|
43
|
+
* If the result is false, it means that the RN container is not presented.
|
|
44
|
+
* Only supported on iOS
|
|
45
|
+
*/
|
|
46
|
+
bringRNContainerToTop(): Promise<boolean>;
|
|
47
|
+
/**
|
|
48
|
+
* Bring the RN container to bottom.
|
|
49
|
+
* @returns {Promise<boolean>} The result of dismissing the RN container.
|
|
50
|
+
* If the result is true, it means that the RN container is dismissed.
|
|
51
|
+
* If the result is false, it means that the RN container is not dismissed.
|
|
52
|
+
* Only supported on iOS
|
|
53
|
+
*/
|
|
54
|
+
bringRNContainerToBottom(): Promise<boolean>;
|
|
39
55
|
}
|
|
40
56
|
export default FWNavigator;
|
|
@@ -27,7 +27,7 @@ import type LiveStreamMessageDetails from './models/LiveStreamMessageDetails';
|
|
|
27
27
|
import type OpenVideoPlayerConfiguration from './models/OpenVideoPlayerConfiguration';
|
|
28
28
|
import type Product from './models/Product';
|
|
29
29
|
import type ProductInfoViewConfiguration from './models/ProductInfoViewConfiguration';
|
|
30
|
-
import type { LinkButtonConfiguration, ProductCardConfiguration, ProductCardCTAButtonText, ProductCardTheme, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText } from './models/ProductInfoViewConfiguration';
|
|
30
|
+
import type { LinkButtonConfiguration, ProductCardConfiguration, ProductCardCTAButtonText, ProductCardPriceConfiguration, ProductCardTheme, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText } from './models/ProductInfoViewConfiguration';
|
|
31
31
|
import type ProductUnit from './models/ProductUnit';
|
|
32
32
|
import type { ProductPrice, ProductUnitOption } from './models/ProductUnit';
|
|
33
33
|
import type PushRNContainerParams from './models/PushRNContainerParams';
|
|
@@ -54,4 +54,4 @@ import type { VideoPlayerStyle } from './models/VideoPlayerStyle';
|
|
|
54
54
|
import type { CustomClickCartIconCallback, CustomClickLinkButtonCallback, CustomTapProductCardCallback, ShoppingCTACallback, UpdateProductDetailsCallback } from './VideoShopping';
|
|
55
55
|
import VideoShopping from './VideoShopping';
|
|
56
56
|
export default FireworkSDK;
|
|
57
|
-
export { AdBadgeConfiguration, AdBadgeTextType, AdConfiguration, AndroidFontInfo, ButtonInfo, CustomClickCartIconCallback, CustomClickLinkButtonCallback, CustomClickLinkButtonEvent, CustomCTAClickCallback, CustomCTAClickEvent, CustomTapProductCardCallback, CustomTapProductCardEvent, FeedItemDetails, FireworkSDK, FWError, FWNavigator, GradientDrawable, GradientDrawableOrientation, IOSFontInfo, IOSSystemFontStyle, IOSSystemFontWeight, IStoryBlockMethods, IStoryBlockProps, IVideoFeedProps, LinkButtonConfiguration, LiveStream, LiveStreamChatEvent, LiveStreamChatEventName, LiveStreamEvent, LiveStreamEventDetails, LiveStreamEventName, LiveStreamMessageDetails, onLiveStreamChatEventCallback, onLiveStreamEventCallback, OpenVideoPlayerConfiguration, Product, ProductCardConfiguration, ProductCardCTAButtonText, ProductCardTheme, ProductInfoViewConfiguration, ProductPrice, ProductUnit, ProductUnitOption, PushRNContainerParams, RNAppProps, SDKInitCallback, SDKInitEvent, SDKInitOptions, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText, ShoppingCTACallback, ShoppingCTAEvent, ShoppingCTAResult, StoryBlock, StoryBlockConfiguration, StoryBlockSource, TrackPurchaseParameters, UpdateProductDetailsCallback, UpdateProductDetailsEvent, VastAttribute, VideoFeed, VideoFeedClickCallback, VideoFeedClickEvent, VideoFeedConfiguration, VideoFeedMode, VideoFeedPadding, VideoFeedPlayIconConfiguration, VideoFeedSource, VideoFeedTitleConfiguration, VideoFeedTitlePosition, VideoLaunchBehavior, VideoPlaybackCallback, VideoPlaybackDetails, VideoPlaybackEvent, VideoPlaybackEventName, VideoPlayerButtonConfiguration, VideoPlayerCompleteAction, VideoPlayerConfiguration, VideoPlayerCTADelay, VideoPlayerCTADelayType, VideoPlayerCTAStyle, VideoPlayerCTAWidth, VideoPlayerSize, VideoPlayerStyle, VideoShopping, };
|
|
57
|
+
export { AdBadgeConfiguration, AdBadgeTextType, AdConfiguration, AndroidFontInfo, ButtonInfo, CustomClickCartIconCallback, CustomClickLinkButtonCallback, CustomClickLinkButtonEvent, CustomCTAClickCallback, CustomCTAClickEvent, CustomTapProductCardCallback, CustomTapProductCardEvent, FeedItemDetails, FireworkSDK, FWError, FWNavigator, GradientDrawable, GradientDrawableOrientation, IOSFontInfo, IOSSystemFontStyle, IOSSystemFontWeight, IStoryBlockMethods, IStoryBlockProps, IVideoFeedProps, LinkButtonConfiguration, LiveStream, LiveStreamChatEvent, LiveStreamChatEventName, LiveStreamEvent, LiveStreamEventDetails, LiveStreamEventName, LiveStreamMessageDetails, onLiveStreamChatEventCallback, onLiveStreamEventCallback, OpenVideoPlayerConfiguration, Product, ProductCardConfiguration, ProductCardCTAButtonText, ProductCardPriceConfiguration, ProductCardTheme, ProductInfoViewConfiguration, ProductPrice, ProductUnit, ProductUnitOption, PushRNContainerParams, RNAppProps, SDKInitCallback, SDKInitEvent, SDKInitOptions, ShoppingCTAButtonConfiguration, ShoppingCTAButtonText, ShoppingCTACallback, ShoppingCTAEvent, ShoppingCTAResult, StoryBlock, StoryBlockConfiguration, StoryBlockSource, TrackPurchaseParameters, UpdateProductDetailsCallback, UpdateProductDetailsEvent, VastAttribute, VideoFeed, VideoFeedClickCallback, VideoFeedClickEvent, VideoFeedConfiguration, VideoFeedMode, VideoFeedPadding, VideoFeedPlayIconConfiguration, VideoFeedSource, VideoFeedTitleConfiguration, VideoFeedTitlePosition, VideoLaunchBehavior, VideoPlaybackCallback, VideoPlaybackDetails, VideoPlaybackEvent, VideoPlaybackEventName, VideoPlayerButtonConfiguration, VideoPlayerCompleteAction, VideoPlayerConfiguration, VideoPlayerCTADelay, VideoPlayerCTADelayType, VideoPlayerCTAStyle, VideoPlayerCTAWidth, VideoPlayerSize, VideoPlayerStyle, VideoShopping, };
|
|
@@ -28,6 +28,9 @@ export interface LinkButtonConfiguration {
|
|
|
28
28
|
}
|
|
29
29
|
export type ProductCardCTAButtonText = 'shopNow' | 'buyNow';
|
|
30
30
|
export type ProductCardTheme = 'dark' | 'light';
|
|
31
|
+
export interface ProductCardPriceConfiguration {
|
|
32
|
+
isHidden?: boolean;
|
|
33
|
+
}
|
|
31
34
|
export interface ProductCardConfiguration {
|
|
32
35
|
/**
|
|
33
36
|
* The text of shopping CTA button.
|
|
@@ -37,6 +40,18 @@ export interface ProductCardConfiguration {
|
|
|
37
40
|
* The theme of product card.
|
|
38
41
|
*/
|
|
39
42
|
theme?: ProductCardTheme;
|
|
43
|
+
/**
|
|
44
|
+
* The corner radius of product card.
|
|
45
|
+
*/
|
|
46
|
+
cornerRadius?: number;
|
|
47
|
+
/**
|
|
48
|
+
* Price is hidden or not.
|
|
49
|
+
*/
|
|
50
|
+
priceConfiguration?: ProductCardPriceConfiguration;
|
|
51
|
+
/**
|
|
52
|
+
* CTA button is hidden or not.
|
|
53
|
+
*/
|
|
54
|
+
isCtaButtonHidden?: boolean;
|
|
40
55
|
}
|
|
41
56
|
export default interface ProductInfoViewConfiguration {
|
|
42
57
|
/**
|
|
@@ -1,7 +1,16 @@
|
|
|
1
|
+
import type VideoPlayerButtonConfiguration from './VideoPlayerButtonConfiguration';
|
|
1
2
|
import type { VideoPlayerCTADelay } from './VideoPlayerCTADelay';
|
|
3
|
+
import type { VideoPlayerCTAStyle } from './VideoPlayerCTAStyle';
|
|
2
4
|
import type { VideoPlayerCTAWidth } from './VideoPlayerCTAWidth';
|
|
3
5
|
import type { VideoPlayerCompleteAction } from './VideoPlayerCompleteAction';
|
|
6
|
+
import type { VideoPlayerStyle } from './VideoPlayerStyle';
|
|
4
7
|
export interface StoryBlockConfiguration {
|
|
8
|
+
/**
|
|
9
|
+
* Sets the proportion of the video player to its container.
|
|
10
|
+
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
11
|
+
* On Android, the property applies to full-screen and compact story block.
|
|
12
|
+
*/
|
|
13
|
+
playerStyle?: VideoPlayerStyle;
|
|
5
14
|
/**
|
|
6
15
|
* Behavior occurring after video is complete.
|
|
7
16
|
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
@@ -12,11 +21,24 @@ export interface StoryBlockConfiguration {
|
|
|
12
21
|
* Indicates if the video player shows share button.
|
|
13
22
|
*/
|
|
14
23
|
showShareButton?: boolean;
|
|
24
|
+
/**
|
|
25
|
+
* The style of CTA button style.
|
|
26
|
+
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
27
|
+
* Only supported on iOS.
|
|
28
|
+
*/
|
|
29
|
+
ctaButtonStyle?: VideoPlayerCTAStyle;
|
|
15
30
|
/**
|
|
16
31
|
* Indicates if the video player shows playback button.
|
|
32
|
+
* The property only applies to full-screen story block but not to compact story block.
|
|
17
33
|
* Only supported on Android.
|
|
18
34
|
*/
|
|
19
35
|
showPlaybackButton?: boolean;
|
|
36
|
+
/**
|
|
37
|
+
* Indicates if the video player shows mute button.
|
|
38
|
+
* On Android, the property applies to full-screen and compact story block.
|
|
39
|
+
* Only supported on Android.
|
|
40
|
+
*/
|
|
41
|
+
showMuteButton?: boolean;
|
|
20
42
|
/**
|
|
21
43
|
* Indicates if Firework branding should be showed or not.
|
|
22
44
|
*/
|
|
@@ -37,6 +59,12 @@ export interface StoryBlockConfiguration {
|
|
|
37
59
|
* Specifies the desired width for the Video Player CTA button.
|
|
38
60
|
*/
|
|
39
61
|
ctaWidth?: VideoPlayerCTAWidth;
|
|
62
|
+
/**
|
|
63
|
+
* The host app could use this property to customize the button images of the video player.
|
|
64
|
+
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
65
|
+
* Only supported on iOS.
|
|
66
|
+
*/
|
|
67
|
+
buttonConfiguration?: VideoPlayerButtonConfiguration;
|
|
40
68
|
/**
|
|
41
69
|
* Specifies if the title should be shown.
|
|
42
70
|
* Only supported on ios.
|
|
@@ -7,6 +7,8 @@ interface IFWNavigatorModule extends NativeModule {
|
|
|
7
7
|
canPopNativeContainer(): Promise<boolean>;
|
|
8
8
|
startFloatingPlayer(): Promise<boolean>;
|
|
9
9
|
stopFloatingPlayer(): Promise<boolean>;
|
|
10
|
+
bringRNContainerToTop(): Promise<boolean>;
|
|
11
|
+
bringRNContainerToBottom(): Promise<boolean>;
|
|
10
12
|
}
|
|
11
13
|
declare const FWNavigatorModuleEventEmitter: NativeEventEmitter;
|
|
12
14
|
export { FWNavigatorModuleEventEmitter };
|
package/package.json
CHANGED
|
@@ -10,7 +10,7 @@ Pod::Spec.new do |s|
|
|
|
10
10
|
s.license = 'Apache License, Version 2.0'
|
|
11
11
|
s.authors = package['author']
|
|
12
12
|
|
|
13
|
-
s.platforms = { ios: '
|
|
13
|
+
s.platforms = { ios: '13.0' }
|
|
14
14
|
s.source = { git: 'https://github.com/loopsocial/bogano.git', tag: "#{s.version}" }
|
|
15
15
|
|
|
16
16
|
s.swift_version = '5.0'
|
|
@@ -35,5 +35,5 @@ fi
|
|
|
35
35
|
|
|
36
36
|
s.static_framework = true
|
|
37
37
|
s.dependency 'React-Core'
|
|
38
|
-
s.dependency 'FireworkVideo', '1.
|
|
38
|
+
s.dependency 'FireworkVideo', '1.13.0'
|
|
39
39
|
end
|
package/src/FWNavigator.ts
CHANGED
|
@@ -3,6 +3,7 @@ import type PushRNContainerParams from './models/PushRNContainerParams';
|
|
|
3
3
|
import FWNavigatorModule, {
|
|
4
4
|
FWNavigatorModuleEventEmitter,
|
|
5
5
|
} from './modules/FWNavigatorModule';
|
|
6
|
+
import { Platform } from 'react-native';
|
|
6
7
|
|
|
7
8
|
/**
|
|
8
9
|
* You can use this class for pushing RN page from the native page.
|
|
@@ -65,6 +66,38 @@ class FWNavigator {
|
|
|
65
66
|
public async stopFloatingPlayer(): Promise<void> {
|
|
66
67
|
await FWNavigatorModule.stopFloatingPlayer();
|
|
67
68
|
}
|
|
69
|
+
|
|
70
|
+
/**
|
|
71
|
+
* Bring the RN container to top.
|
|
72
|
+
* @returns {Promise<boolean>} The result of presenting the RN container.
|
|
73
|
+
* If the result is true, it means that the RN container is presented.
|
|
74
|
+
* If the result is false, it means that the RN container is not presented.
|
|
75
|
+
* Only supported on iOS
|
|
76
|
+
*/
|
|
77
|
+
public async bringRNContainerToTop(): Promise<boolean> {
|
|
78
|
+
if (Platform.OS !== 'ios') {
|
|
79
|
+
return false;
|
|
80
|
+
}
|
|
81
|
+
return FWNavigatorModule.bringRNContainerToTop();
|
|
82
|
+
}
|
|
83
|
+
|
|
84
|
+
/**
|
|
85
|
+
* Bring the RN container to bottom.
|
|
86
|
+
* @returns {Promise<boolean>} The result of dismissing the RN container.
|
|
87
|
+
* If the result is true, it means that the RN container is dismissed.
|
|
88
|
+
* If the result is false, it means that the RN container is not dismissed.
|
|
89
|
+
* Only supported on iOS
|
|
90
|
+
*/
|
|
91
|
+
public async bringRNContainerToBottom(): Promise<boolean> {
|
|
92
|
+
if (Platform.OS !== 'ios') {
|
|
93
|
+
return false;
|
|
94
|
+
}
|
|
95
|
+
if (Platform.OS === 'ios') {
|
|
96
|
+
await new Promise((resolve) => setTimeout(resolve, 10));
|
|
97
|
+
}
|
|
98
|
+
|
|
99
|
+
return FWNavigatorModule.bringRNContainerToBottom();
|
|
100
|
+
}
|
|
68
101
|
}
|
|
69
102
|
|
|
70
103
|
export default FWNavigator;
|
|
@@ -233,9 +233,11 @@ const StoryBlock: ForwardRefRenderFunction<
|
|
|
233
233
|
const dynamicContentParametersString =
|
|
234
234
|
generateDynamicContentParametersString();
|
|
235
235
|
|
|
236
|
+
const playerStyle = storyBlockConfiguration?.playerStyle;
|
|
236
237
|
const videoCompleteAction = storyBlockConfiguration?.videoCompleteAction;
|
|
237
238
|
const showShareButton = storyBlockConfiguration?.showShareButton;
|
|
238
239
|
const showPlaybackButton = storyBlockConfiguration?.showPlaybackButton;
|
|
240
|
+
const showMuteButton = storyBlockConfiguration?.showMuteButton;
|
|
239
241
|
const showBranding = storyBlockConfiguration?.showBranding;
|
|
240
242
|
const ctaDelayType = storyBlockConfiguration?.ctaDelay?.type;
|
|
241
243
|
const ctaDelayValue = storyBlockConfiguration?.ctaDelay?.value?.toFixed(5);
|
|
@@ -275,9 +277,11 @@ const StoryBlock: ForwardRefRenderFunction<
|
|
|
275
277
|
key += `_cornerRadius:${cornerRadius}`;
|
|
276
278
|
|
|
277
279
|
key += `_shareBaseURL:${shareBaseURL}`;
|
|
280
|
+
key += `_playerStyle:${playerStyle}`;
|
|
278
281
|
key += `_videoCompleteAction:${videoCompleteAction}`;
|
|
279
282
|
key += `_showShareButton:${showShareButton}`;
|
|
280
283
|
key += `_showPlaybackButton:${showPlaybackButton}`;
|
|
284
|
+
key += `_showMuteButton:${showMuteButton}`;
|
|
281
285
|
key += `_showBranding:${showBranding}`;
|
|
282
286
|
key += `_ctaDelayType:${ctaDelayType}`;
|
|
283
287
|
key += `_ctaDelayValue:${ctaDelayValue}`;
|
package/src/index.ts
CHANGED
|
@@ -56,6 +56,7 @@ import type {
|
|
|
56
56
|
LinkButtonConfiguration,
|
|
57
57
|
ProductCardConfiguration,
|
|
58
58
|
ProductCardCTAButtonText,
|
|
59
|
+
ProductCardPriceConfiguration,
|
|
59
60
|
ProductCardTheme,
|
|
60
61
|
ShoppingCTAButtonConfiguration,
|
|
61
62
|
ShoppingCTAButtonText,
|
|
@@ -141,6 +142,7 @@ export {
|
|
|
141
142
|
Product,
|
|
142
143
|
ProductCardConfiguration,
|
|
143
144
|
ProductCardCTAButtonText,
|
|
145
|
+
ProductCardPriceConfiguration,
|
|
144
146
|
ProductCardTheme,
|
|
145
147
|
ProductInfoViewConfiguration,
|
|
146
148
|
ProductPrice,
|
|
@@ -34,6 +34,10 @@ export type ProductCardCTAButtonText = 'shopNow' | 'buyNow';
|
|
|
34
34
|
|
|
35
35
|
export type ProductCardTheme = 'dark' | 'light';
|
|
36
36
|
|
|
37
|
+
export interface ProductCardPriceConfiguration {
|
|
38
|
+
isHidden?: boolean;
|
|
39
|
+
}
|
|
40
|
+
|
|
37
41
|
export interface ProductCardConfiguration {
|
|
38
42
|
/**
|
|
39
43
|
* The text of shopping CTA button.
|
|
@@ -43,6 +47,18 @@ export interface ProductCardConfiguration {
|
|
|
43
47
|
* The theme of product card.
|
|
44
48
|
*/
|
|
45
49
|
theme?: ProductCardTheme;
|
|
50
|
+
/**
|
|
51
|
+
* The corner radius of product card.
|
|
52
|
+
*/
|
|
53
|
+
cornerRadius?: number;
|
|
54
|
+
/**
|
|
55
|
+
* Price is hidden or not.
|
|
56
|
+
*/
|
|
57
|
+
priceConfiguration?: ProductCardPriceConfiguration;
|
|
58
|
+
/**
|
|
59
|
+
* CTA button is hidden or not.
|
|
60
|
+
*/
|
|
61
|
+
isCtaButtonHidden?: boolean;
|
|
46
62
|
}
|
|
47
63
|
|
|
48
64
|
export default interface ProductInfoViewConfiguration {
|
|
@@ -1,8 +1,17 @@
|
|
|
1
|
+
import type VideoPlayerButtonConfiguration from './VideoPlayerButtonConfiguration';
|
|
1
2
|
import type { VideoPlayerCTADelay } from './VideoPlayerCTADelay';
|
|
3
|
+
import type { VideoPlayerCTAStyle } from './VideoPlayerCTAStyle';
|
|
2
4
|
import type { VideoPlayerCTAWidth } from './VideoPlayerCTAWidth';
|
|
3
5
|
import type { VideoPlayerCompleteAction } from './VideoPlayerCompleteAction';
|
|
6
|
+
import type { VideoPlayerStyle } from './VideoPlayerStyle';
|
|
4
7
|
|
|
5
8
|
export interface StoryBlockConfiguration {
|
|
9
|
+
/**
|
|
10
|
+
* Sets the proportion of the video player to its container.
|
|
11
|
+
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
12
|
+
* On Android, the property applies to full-screen and compact story block.
|
|
13
|
+
*/
|
|
14
|
+
playerStyle?: VideoPlayerStyle;
|
|
6
15
|
/**
|
|
7
16
|
* Behavior occurring after video is complete.
|
|
8
17
|
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
@@ -13,11 +22,24 @@ export interface StoryBlockConfiguration {
|
|
|
13
22
|
* Indicates if the video player shows share button.
|
|
14
23
|
*/
|
|
15
24
|
showShareButton?: boolean;
|
|
25
|
+
/**
|
|
26
|
+
* The style of CTA button style.
|
|
27
|
+
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
28
|
+
* Only supported on iOS.
|
|
29
|
+
*/
|
|
30
|
+
ctaButtonStyle?: VideoPlayerCTAStyle;
|
|
16
31
|
/**
|
|
17
32
|
* Indicates if the video player shows playback button.
|
|
33
|
+
* The property only applies to full-screen story block but not to compact story block.
|
|
18
34
|
* Only supported on Android.
|
|
19
35
|
*/
|
|
20
36
|
showPlaybackButton?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Indicates if the video player shows mute button.
|
|
39
|
+
* On Android, the property applies to full-screen and compact story block.
|
|
40
|
+
* Only supported on Android.
|
|
41
|
+
*/
|
|
42
|
+
showMuteButton?: boolean;
|
|
21
43
|
/**
|
|
22
44
|
* Indicates if Firework branding should be showed or not.
|
|
23
45
|
*/
|
|
@@ -38,6 +60,12 @@ export interface StoryBlockConfiguration {
|
|
|
38
60
|
* Specifies the desired width for the Video Player CTA button.
|
|
39
61
|
*/
|
|
40
62
|
ctaWidth?: VideoPlayerCTAWidth;
|
|
63
|
+
/**
|
|
64
|
+
* The host app could use this property to customize the button images of the video player.
|
|
65
|
+
* On iOS, the property only applies to full-screen story block but not to compact story block.
|
|
66
|
+
* Only supported on iOS.
|
|
67
|
+
*/
|
|
68
|
+
buttonConfiguration?: VideoPlayerButtonConfiguration;
|
|
41
69
|
/**
|
|
42
70
|
* Specifies if the title should be shown.
|
|
43
71
|
* Only supported on ios.
|
|
@@ -20,6 +20,8 @@ interface IFWNavigatorModule extends NativeModule {
|
|
|
20
20
|
canPopNativeContainer(): Promise<boolean>;
|
|
21
21
|
startFloatingPlayer(): Promise<boolean>;
|
|
22
22
|
stopFloatingPlayer(): Promise<boolean>;
|
|
23
|
+
bringRNContainerToTop(): Promise<boolean>;
|
|
24
|
+
bringRNContainerToBottom(): Promise<boolean>;
|
|
23
25
|
}
|
|
24
26
|
|
|
25
27
|
const FWNavigatorModuleEventEmitter = new NativeEventEmitter(FWNavigatorModule);
|