From df0a5bb404a36235787eb72d70fd1fcb897ea58b Mon Sep 17 00:00:00 2001 From: dannami Date: Wed, 21 Aug 2024 16:36:12 -0600 Subject: [PATCH] final resolution --- .../reactlibrary/NamiCampaignManagerBridge.kt | 2 +- examples/Basic/App.tsx | 2 +- examples/Basic/containers/CampaignScreen.tsx | 18 +++++++++++----- examples/Basic/index.js | 21 ++++++++++++------- ios/NamiCampaignManagerBridge.swift | 2 +- 5 files changed, 29 insertions(+), 16 deletions(-) diff --git a/android/src/main/java/com/nami/reactlibrary/NamiCampaignManagerBridge.kt b/android/src/main/java/com/nami/reactlibrary/NamiCampaignManagerBridge.kt index 60be30f2..c9c7abbe 100644 --- a/android/src/main/java/com/nami/reactlibrary/NamiCampaignManagerBridge.kt +++ b/android/src/main/java/com/nami/reactlibrary/NamiCampaignManagerBridge.kt @@ -179,7 +179,7 @@ class NamiCampaignManagerBridgeModule(reactContext: ReactApplicationContext) : putString("id", paywallEvent.sku?.id ?: "") putString("skuId", paywallEvent.sku?.skuId ?: "") putString("name", paywallEvent.sku?.name ?: "") - putString("type", paywallEvent.sku?.type.toString()) + putString("type", paywallEvent.sku?.type.toString().lowercase()) } resultMap.putMap(SKU, skuMap) } diff --git a/examples/Basic/App.tsx b/examples/Basic/App.tsx index 77ca01c7..0ea465ef 100644 --- a/examples/Basic/App.tsx +++ b/examples/Basic/App.tsx @@ -3,7 +3,7 @@ import { Linking, Platform, EmitterSubscription } from 'react-native'; import { NavigationContainer } from '@react-navigation/native'; import { NativeStackNavigationProp } from '@react-navigation/native-stack'; import { createBottomTabNavigator } from '@react-navigation/bottom-tabs'; -import { NamiPaywallManager } from 'react-native-nami-sdk'; +import { NamiPaywallManager, NamiSKU } from 'react-native-nami-sdk'; import CampaignScreen from './containers/CampaignScreen'; import ProfileScreen from './containers/ProfileScreen'; diff --git a/examples/Basic/containers/CampaignScreen.tsx b/examples/Basic/containers/CampaignScreen.tsx index 9e87ff03..32926853 100644 --- a/examples/Basic/containers/CampaignScreen.tsx +++ b/examples/Basic/containers/CampaignScreen.tsx @@ -86,12 +86,15 @@ const CampaignScreen: FC = ({ navigation }) => { const validCampaigns = fetchedCampaigns.filter((campaign) => Boolean(campaign.value), ); - setCampaigns(validCampaigns); - console.log('validCampaigns', validCampaigns); - return validCampaigns; + + const sortedCampaigns = validCampaigns.sort( (a, b) => (a.value ?? '').localeCompare(b.value ?? '') ); + setCampaigns(sortedCampaigns); + console.log('validCampaigns', sortedCampaigns); + return sortedCampaigns; }, []); useEffect(() => { + const subscriptionSignInRemover = NamiPaywallManager.registerSignInHandler( async () => { console.log('sign in'); @@ -135,7 +138,8 @@ const CampaignScreen: FC = ({ navigation }) => { const isEqualList = JSON.stringify(campaigns) === JSON.stringify(availableCampaigns); setRefresh(!isEqualList); - setCampaigns(availableCampaigns); + const sortedCampaigns = availableCampaigns.sort( (a, b) => (a.value ?? '').localeCompare(b.value ?? '') ); + setCampaigns(sortedCampaigns); }, ); @@ -189,7 +193,11 @@ const CampaignScreen: FC = ({ navigation }) => { log.info(`NamiPaywallEvent video metadata autoplayVideo - ${event.videoMetadata?.autoplayVideo?.toString()}"`); log.info(`NamiPaywallEvent video metadata muteByDefault - ${event.videoMetadata?.muteByDefault?.toString()}"`); log.info(`NamiPaywallEvent video metadata loopVideo - ${event.videoMetadata?.loopVideo?.toString()}"`); - log.info(`NamiPaywallEvent sku - ${event.sku?.skuId}"`); + log.info(`NamiPaywallEvent sku name - ${event.sku?.name}"`); + log.info(`NamiPaywallEvent sku id - ${event.sku?.id}"`); + log.info(`NamiPaywallEvent sku skuId - ${event.sku?.skuId}"`); + log.info(`NamiPaywallEvent sku type - ${event.sku?.type}"`); + setAction(event.action); }, ); diff --git a/examples/Basic/index.js b/examples/Basic/index.js index 2a7c16dd..e000c456 100644 --- a/examples/Basic/index.js +++ b/examples/Basic/index.js @@ -38,17 +38,22 @@ const Root = () => { console.log('NamiSDK: configured', configured); }; - useEffect(async() => { + useEffect(() => { - checkSdkConfigured(); - - const result = await Nami.configure(configDict); - if(result.success){ - setIsConfigurationComplete(true); + async function configureSDK() { + // You can await here checkSdkConfigured(); - } - initStoreConnection(); + const result = await Nami.configure(configDict); + if(result.success){ + setIsConfigurationComplete(true); + checkSdkConfigured(); + } + + initStoreConnection(); + // ... + } + configureSDK(); // eslint-disable-next-line @typescript-eslint/no-empty-function return () => {}; diff --git a/ios/NamiCampaignManagerBridge.swift b/ios/NamiCampaignManagerBridge.swift index b6ff1f71..38a612cb 100644 --- a/ios/NamiCampaignManagerBridge.swift +++ b/ios/NamiCampaignManagerBridge.swift @@ -112,7 +112,7 @@ class RNNamiCampaignManager: RCTEventEmitter { skuDict["id"] = sku.id skuDict["name"] = sku.name skuDict["skuId"] = sku.skuId - skuDict["type"] = sku.type + skuDict["type"] = sku.type.description } var componentChange: [String: Any?] = [:]