react-native-nami-sdk 3.3.0 → 3.3.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +2 -2
- package/android/src/main/java/com/namiml/reactnative/NamiBridgeModule.kt +6 -0
- package/android/src/main/java/com/namiml/reactnative/NamiCampaignManagerBridge.kt +1 -2
- package/android/src/main/java/com/namiml/reactnative/NamiFlowManagerBridge.kt +12 -0
- package/android/src/main/java/com/namiml/reactnative/NamiPaywallManagerBridgeModule.kt +2 -1
- package/android/src/main/java/com/namiml/reactnative/NamiPurchaseManagerBridge.kt +0 -7
- package/android/src/main/java/com/namiml/reactnative/NamiUtil.kt +35 -0
- package/dist/specs/NativeNami.d.ts +1 -0
- package/dist/specs/NativeNamiFlowManager.d.ts +2 -0
- package/dist/specs/NativeNamiPaywallManager.d.ts +1 -0
- package/dist/specs/NativeNamiPurchaseManager.d.ts +0 -1
- package/dist/src/Nami.d.ts +1 -0
- package/dist/src/NamiFlowManager.d.ts +2 -0
- package/dist/src/NamiPurchaseManager.d.ts +0 -1
- package/dist/src/types.d.ts +1 -0
- package/dist/src/version.d.ts +1 -1
- package/ios/Nami.m +2 -0
- package/ios/Nami.swift +9 -5
- package/ios/NamiCampaignManagerBridge.swift +3 -5
- package/ios/NamiCustomerManager.swift +3 -5
- package/ios/NamiEntitlementManagerBridge.swift +3 -4
- package/ios/NamiFlowManagerBridge.m +2 -0
- package/ios/NamiFlowManagerBridge.swift +17 -0
- package/ios/NamiPaywallManagerBridge.swift +8 -0
- package/ios/NamiPurchaseManagerBridge.m +0 -2
- package/ios/NamiPurchaseManagerBridge.swift +3 -9
- package/package.json +1 -1
- package/react-native-nami-sdk.podspec +7 -1
- package/specs/NativeNami.ts +1 -0
- package/specs/NativeNamiFlowManager.ts +3 -2
- package/specs/NativeNamiPaywallManager.ts +1 -0
- package/specs/NativeNamiPurchaseManager.ts +0 -1
- package/src/Nami.ts +3 -0
- package/src/NamiFlowManager.ts +8 -0
- package/src/NamiPaywallManager.ts +3 -3
- package/src/NamiPurchaseManager.ts +0 -3
- package/src/types.ts +1 -0
- package/src/version.ts +1 -1
package/android/build.gradle
CHANGED
|
@@ -85,8 +85,8 @@ dependencies {
|
|
|
85
85
|
implementation fileTree(dir: 'libs', include: ['*.jar'])
|
|
86
86
|
implementation "org.jetbrains.kotlin:kotlin-stdlib-jdk8:$kotlin_version"
|
|
87
87
|
|
|
88
|
-
playImplementation "com.namiml:sdk-android:3.3.
|
|
89
|
-
amazonImplementation "com.namiml:sdk-amazon:3.3.
|
|
88
|
+
playImplementation "com.namiml:sdk-android:3.3.1"
|
|
89
|
+
amazonImplementation "com.namiml:sdk-amazon:3.3.1"
|
|
90
90
|
|
|
91
91
|
implementation "com.facebook.react:react-native:+" // From node_modules
|
|
92
92
|
coreLibraryDesugaring "com.android.tools:desugar_jdk_libs:2.0.4"
|
|
@@ -34,6 +34,12 @@ class NamiBridgeModule internal constructor(
|
|
|
34
34
|
promise.resolve(Nami.isInitialized())
|
|
35
35
|
}
|
|
36
36
|
|
|
37
|
+
@ReactMethod
|
|
38
|
+
fun sdkVersion(promise: Promise) {
|
|
39
|
+
val version = Nami.sdkVersion()
|
|
40
|
+
promise.resolve(version)
|
|
41
|
+
}
|
|
42
|
+
|
|
37
43
|
@ReactMethod
|
|
38
44
|
fun configure(configDict: ReadableMap, promise: Promise) {
|
|
39
45
|
logNewArchitectureStatus()
|
|
@@ -158,8 +158,7 @@ class NamiCampaignManagerBridgeModule internal constructor(
|
|
|
158
158
|
paywallEvent: NamiPaywallEvent,
|
|
159
159
|
actionCallback: Callback,
|
|
160
160
|
) {
|
|
161
|
-
val actionString = paywallEvent.action.
|
|
162
|
-
|
|
161
|
+
val actionString = paywallEvent.action.toRNActionString()
|
|
163
162
|
val purchasesArray = createPurchaseArray(paywallEvent.purchases)
|
|
164
163
|
|
|
165
164
|
val resultMap =
|
|
@@ -55,6 +55,18 @@ class NamiFlowManagerBridgeModule internal constructor(
|
|
|
55
55
|
}, 100L)
|
|
56
56
|
}
|
|
57
57
|
|
|
58
|
+
@ReactMethod
|
|
59
|
+
fun finish() {
|
|
60
|
+
Handler(Looper.getMainLooper()).postDelayed({
|
|
61
|
+
NamiFlowManager.finish()
|
|
62
|
+
}, 100L)
|
|
63
|
+
}
|
|
64
|
+
|
|
65
|
+
@ReactMethod
|
|
66
|
+
fun isFlowOpen(promise: Promise) {
|
|
67
|
+
promise.resolve(NamiFlowManager.isFlowOpen())
|
|
68
|
+
}
|
|
69
|
+
|
|
58
70
|
private fun sendEvent(eventName: String, params: WritableMap?) {
|
|
59
71
|
reactApplicationContext
|
|
60
72
|
.getJSModule(DeviceEventManagerModule.RCTDeviceEventEmitter::class.java)
|
|
@@ -24,11 +24,12 @@ class NamiPaywallManagerBridgeModule internal constructor(
|
|
|
24
24
|
private var latestPaywallActivity: Activity? = null
|
|
25
25
|
|
|
26
26
|
@ReactMethod
|
|
27
|
-
fun buySkuComplete(dict: ReadableMap
|
|
27
|
+
fun buySkuComplete(dict: ReadableMap) {
|
|
28
28
|
val product = dict.getMap("product")
|
|
29
29
|
val productId = product?.getString("id")
|
|
30
30
|
val skuRefId = product?.getString("skuId")
|
|
31
31
|
val typeString = product?.getString("type")
|
|
32
|
+
val storeType = dict.getString("storeType") ?: "GooglePlay"
|
|
32
33
|
var purchaseSuccess: NamiPurchaseSuccess? = null
|
|
33
34
|
|
|
34
35
|
if (productId != null && skuRefId != null) {
|
|
@@ -42,13 +42,6 @@ class NamiPurchaseManagerBridgeModule internal constructor(
|
|
|
42
42
|
promise.resolve(isPurchased)
|
|
43
43
|
}
|
|
44
44
|
|
|
45
|
-
@ReactMethod
|
|
46
|
-
fun consumePurchasedSku(skuRefId: String) {
|
|
47
|
-
reactContext.runOnUiQueueThread {
|
|
48
|
-
NamiPurchaseManager.consumePurchasedSKU(skuRefId)
|
|
49
|
-
}
|
|
50
|
-
}
|
|
51
|
-
|
|
52
45
|
@ReactMethod
|
|
53
46
|
fun anySkuPurchased(skuIDs: ReadableArray, promise: Promise) {
|
|
54
47
|
reactContext.runOnUiQueueThread {
|
|
@@ -15,6 +15,41 @@ import java.text.SimpleDateFormat
|
|
|
15
15
|
import java.util.Date
|
|
16
16
|
import java.util.Locale
|
|
17
17
|
import java.util.TimeZone
|
|
18
|
+
import com.namiml.paywall.model.NamiPaywallAction
|
|
19
|
+
|
|
20
|
+
fun NamiPaywallAction.toRNActionString(): String {
|
|
21
|
+
return when (this) {
|
|
22
|
+
NamiPaywallAction.NAMI_BUY_SKU -> "BUY_SKU"
|
|
23
|
+
NamiPaywallAction.NAMI_SELECT_SKU -> "SELECT_SKU"
|
|
24
|
+
NamiPaywallAction.NAMI_RESTORE_PURCHASES -> "RESTORE_PURCHASES"
|
|
25
|
+
NamiPaywallAction.NAMI_SHOW_PAYWALL -> "SHOW_PAYWALL"
|
|
26
|
+
NamiPaywallAction.NAMI_CLOSE_PAYWALL -> "CLOSE_PAYWALL"
|
|
27
|
+
NamiPaywallAction.NAMI_SIGN_IN -> "SIGN_IN"
|
|
28
|
+
NamiPaywallAction.NAMI_PURCHASE_SELECTED_SKU -> "PURCHASE_SELECTED_SKU"
|
|
29
|
+
NamiPaywallAction.NAMI_PURCHASE_SUCCESS -> "PURCHASE_SUCCESS"
|
|
30
|
+
NamiPaywallAction.NAMI_PURCHASE_FAILED -> "PURCHASE_FAILED"
|
|
31
|
+
NamiPaywallAction.NAMI_PURCHASE_CANCELLED -> "PURCHASE_CANCELLED"
|
|
32
|
+
NamiPaywallAction.NAMI_PURCHASE_PENDING -> "PURCHASE_PENDING"
|
|
33
|
+
NamiPaywallAction.NAMI_PURCHASE_UNKNOWN -> "PURCHASE_UNKNOWN"
|
|
34
|
+
NamiPaywallAction.NAMI_DEEP_LINK -> "DEEPLINK"
|
|
35
|
+
NamiPaywallAction.NAMI_TOGGLE_CHANGE -> "TOGGLE_CHANGE"
|
|
36
|
+
NamiPaywallAction.NAMI_PAGE_CHANGE -> "PAGE_CHANGE"
|
|
37
|
+
NamiPaywallAction.NAMI_SLIDE_CHANGE -> "SLIDE_CHANGE"
|
|
38
|
+
NamiPaywallAction.NAMI_COLLAPSIBLE_DRAWER_OPEN -> "COLLAPSIBLE_DRAWER_OPEN"
|
|
39
|
+
NamiPaywallAction.NAMI_COLLAPSIBLE_DRAWER_CLOSE -> "COLLAPSIBLE_DRAWER_CLOSE"
|
|
40
|
+
NamiPaywallAction.NAMI_VIDEO_STARTED -> "VIDEO_STARTED"
|
|
41
|
+
NamiPaywallAction.NAMI_VIDEO_PAUSED -> "VIDEO_PAUSED"
|
|
42
|
+
NamiPaywallAction.NAMI_VIDEO_RESUMED -> "VIDEO_RESUMED"
|
|
43
|
+
NamiPaywallAction.NAMI_VIDEO_ENDED -> "VIDEO_ENDED"
|
|
44
|
+
NamiPaywallAction.NAMI_VIDEO_CHANGED -> "VIDEO_CHANGED"
|
|
45
|
+
NamiPaywallAction.NAMI_VIDEO_MUTED -> "VIDEO_MUTED"
|
|
46
|
+
NamiPaywallAction.NAMI_VIDEO_UNMUTED -> "VIDEO_UNMUTED"
|
|
47
|
+
else -> {
|
|
48
|
+
Log.w("NamiUtil", "Unhandled NamiPaywallAction: $this. This might indicate a new enum value added in the SDK.")
|
|
49
|
+
"UNKNOWN"
|
|
50
|
+
}
|
|
51
|
+
}
|
|
52
|
+
}
|
|
18
53
|
|
|
19
54
|
fun List<*>.toWritableArray(): WritableArray {
|
|
20
55
|
val convertedArray = Arguments.createArray()
|
|
@@ -18,7 +18,6 @@ export interface Spec extends TurboModule {
|
|
|
18
18
|
}>>;
|
|
19
19
|
skuPurchased(skuId: string): Promise<boolean>;
|
|
20
20
|
anySkuPurchased(skuIds: string[]): Promise<boolean>;
|
|
21
|
-
consumePurchasedSku(skuId: string): void;
|
|
22
21
|
presentCodeRedemptionSheet(): void;
|
|
23
22
|
restorePurchases(): void;
|
|
24
23
|
registerPurchasesChangedHandler(): void;
|
package/dist/src/Nami.d.ts
CHANGED
|
@@ -8,4 +8,6 @@ export declare const NamiFlowManager: {
|
|
|
8
8
|
registerStepHandoff: (callback: (handoffTag: string, handoffData?: Record<string, unknown>) => void) => (() => void);
|
|
9
9
|
resume: () => void;
|
|
10
10
|
registerEventHandler: (callback: (payload: Record<string, unknown>) => void) => (() => void);
|
|
11
|
+
finish: () => void;
|
|
12
|
+
isFlowOpen: () => Promise<boolean>;
|
|
11
13
|
};
|
|
@@ -9,7 +9,6 @@ export declare const NamiPurchaseManager: {
|
|
|
9
9
|
allPurchases: () => Promise<NamiPurchase[]>;
|
|
10
10
|
skuPurchased: (skuId: string) => Promise<boolean>;
|
|
11
11
|
anySkuPurchased: (skuIds: string[]) => Promise<boolean>;
|
|
12
|
-
consumePurchasedSku: (skuId: string) => void;
|
|
13
12
|
presentCodeRedemptionSheet: () => void;
|
|
14
13
|
restorePurchases: () => void;
|
|
15
14
|
registerPurchasesChangedHandler: (callback: (state: NamiPurchasesState, purchases: NamiPurchase[], error: string) => void) => (() => void);
|
package/dist/src/types.d.ts
CHANGED
package/dist/src/version.d.ts
CHANGED
package/ios/Nami.m
CHANGED
|
@@ -15,6 +15,8 @@ RCT_EXTERN_METHOD(configure:(NSDictionary *)configDict
|
|
|
15
15
|
RCT_EXTERN_METHOD(sdkConfigured:(RCTPromiseResolveBlock)resolve
|
|
16
16
|
rejecter:(RCTPromiseRejectBlock)reject)
|
|
17
17
|
|
|
18
|
+
RCT_EXTERN_METHOD(sdkVersion:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
19
|
+
|
|
18
20
|
+ (BOOL)requiresMainQueueSetup {
|
|
19
21
|
return NO;
|
|
20
22
|
}
|
package/ios/Nami.swift
CHANGED
|
@@ -8,11 +8,9 @@ import Foundation
|
|
|
8
8
|
import NamiApple
|
|
9
9
|
import React
|
|
10
10
|
|
|
11
|
-
#if RCT_NEW_ARCH_ENABLED
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
extension RNNami: RCTTurboModule {}
|
|
15
|
-
#endif
|
|
11
|
+
// #if RCT_NEW_ARCH_ENABLED
|
|
12
|
+
// extension RNNami: RCTTurboModule {}
|
|
13
|
+
// #endif
|
|
16
14
|
|
|
17
15
|
@objc(RNNami)
|
|
18
16
|
class RNNami: NSObject {
|
|
@@ -75,6 +73,12 @@ class RNNami: NSObject {
|
|
|
75
73
|
resolve(Nami.sdkConfigured())
|
|
76
74
|
}
|
|
77
75
|
|
|
76
|
+
@objc(sdkVersion:rejecter:)
|
|
77
|
+
func sdkVersion(resolve: @escaping RCTPromiseResolveBlock, reject _: @escaping RCTPromiseRejectBlock) {
|
|
78
|
+
let version = Nami.sdkVersion
|
|
79
|
+
resolve(version)
|
|
80
|
+
}
|
|
81
|
+
|
|
78
82
|
func isNewArchitectureEnabled() -> Bool {
|
|
79
83
|
#if RCT_NEW_ARCH_ENABLED
|
|
80
84
|
return true
|
|
@@ -10,11 +10,9 @@ import NamiApple
|
|
|
10
10
|
import os
|
|
11
11
|
import React
|
|
12
12
|
|
|
13
|
-
#if RCT_NEW_ARCH_ENABLED
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
extension RNNamiCampaignManager: RCTTurboModule {}
|
|
17
|
-
#endif
|
|
13
|
+
// #if RCT_NEW_ARCH_ENABLED
|
|
14
|
+
// extension RNNamiCampaignManager: RCTTurboModule {}
|
|
15
|
+
// #endif
|
|
18
16
|
|
|
19
17
|
@objc(RNNamiCampaignManager)
|
|
20
18
|
class RNNamiCampaignManager: RCTEventEmitter {
|
|
@@ -9,11 +9,9 @@ import Foundation
|
|
|
9
9
|
import NamiApple
|
|
10
10
|
import React
|
|
11
11
|
|
|
12
|
-
#if RCT_NEW_ARCH_ENABLED
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
extension RNNamiCustomerManager: RCTTurboModule {}
|
|
16
|
-
#endif
|
|
12
|
+
// #if RCT_NEW_ARCH_ENABLED
|
|
13
|
+
// extension RNNamiCustomerManager: RCTTurboModule {}
|
|
14
|
+
// #endif
|
|
17
15
|
|
|
18
16
|
@objc(RNNamiCustomerManager)
|
|
19
17
|
class RNNamiCustomerManager: RCTEventEmitter {
|
|
@@ -9,10 +9,9 @@ import Foundation
|
|
|
9
9
|
import NamiApple
|
|
10
10
|
import React
|
|
11
11
|
|
|
12
|
-
#if RCT_NEW_ARCH_ENABLED
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
#endif
|
|
12
|
+
// #if RCT_NEW_ARCH_ENABLED
|
|
13
|
+
// extension RNNamiEntitlementManager: RCTTurboModule {}
|
|
14
|
+
// #endif
|
|
16
15
|
|
|
17
16
|
@objc(RNNamiEntitlementManager)
|
|
18
17
|
class RNNamiEntitlementManager: RCTEventEmitter {
|
|
@@ -12,6 +12,8 @@
|
|
|
12
12
|
RCT_EXTERN_METHOD(registerStepHandoff)
|
|
13
13
|
RCT_EXTERN_METHOD(registerEventHandler)
|
|
14
14
|
RCT_EXTERN_METHOD(resume)
|
|
15
|
+
RCT_EXTERN_METHOD(finish)
|
|
16
|
+
RCT_EXTERN_METHOD(isFlowOpen:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
15
17
|
|
|
16
18
|
+ (BOOL)requiresMainQueueSetup {
|
|
17
19
|
return NO;
|
|
@@ -9,6 +9,10 @@ import Foundation
|
|
|
9
9
|
import NamiApple
|
|
10
10
|
import React
|
|
11
11
|
|
|
12
|
+
// #if RCT_NEW_ARCH_ENABLED
|
|
13
|
+
// extension RNNamiFlowManager: RCTTurboModule {}
|
|
14
|
+
// #endif
|
|
15
|
+
|
|
12
16
|
@objc(RNNamiFlowManager)
|
|
13
17
|
class RNNamiFlowManager: RCTEventEmitter {
|
|
14
18
|
public static var shared: RNNamiFlowManager?
|
|
@@ -54,4 +58,17 @@ class RNNamiFlowManager: RCTEventEmitter {
|
|
|
54
58
|
NamiFlowManager.resume()
|
|
55
59
|
}
|
|
56
60
|
}
|
|
61
|
+
|
|
62
|
+
@objc func finish() {
|
|
63
|
+
DispatchQueue.main.async {
|
|
64
|
+
NamiFlowManager.finish()
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
@objc func isFlowOpen(_ resolve: @escaping RCTPromiseResolveBlock, rejecter _: @escaping RCTPromiseRejectBlock) {
|
|
69
|
+
DispatchQueue.main.async {
|
|
70
|
+
let isFlowOpen = NamiFlowManager.isFlowOpen()
|
|
71
|
+
resolve(isFlowOpen)
|
|
72
|
+
}
|
|
73
|
+
}
|
|
57
74
|
}
|
|
@@ -9,6 +9,10 @@ import Foundation
|
|
|
9
9
|
import NamiApple
|
|
10
10
|
import React
|
|
11
11
|
|
|
12
|
+
// #if RCT_NEW_ARCH_ENABLED
|
|
13
|
+
// extension RNNamiPaywallManager: RCTTurboModule {}
|
|
14
|
+
// #endif
|
|
15
|
+
|
|
12
16
|
@objc(RNNamiPaywallManager)
|
|
13
17
|
class RNNamiPaywallManager: RCTEventEmitter {
|
|
14
18
|
public static var shared: RNNamiPaywallManager?
|
|
@@ -44,6 +48,10 @@ class RNNamiPaywallManager: RCTEventEmitter {
|
|
|
44
48
|
let namiSku = NamiSKU(namiId: namiId, storeId: storeId, skuType: namiSkuType)
|
|
45
49
|
let priceString = dict["price"] as? String ?? "0"
|
|
46
50
|
|
|
51
|
+
if let store = dict["storeType"] as? String, store != "Apple" {
|
|
52
|
+
print("RNNamiPaywallManager - buySkuComplete called with the wrong store type \(dict)")
|
|
53
|
+
}
|
|
54
|
+
|
|
47
55
|
do {
|
|
48
56
|
if let transactionID = dict["transactionID"] as? String,
|
|
49
57
|
let originalTransactionID = dict["originalTransactionID"] as? String,
|
|
@@ -21,8 +21,6 @@ RCT_EXTERN_METHOD(skuPurchased:(NSString *)skuId resolver:(RCTPromiseResolveBloc
|
|
|
21
21
|
|
|
22
22
|
RCT_EXTERN_METHOD(anySkuPurchased:(NSArray*)skuIds resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
|
|
23
23
|
|
|
24
|
-
RCT_EXTERN_METHOD(consumePurchasedSku:(NSString *)skuId)
|
|
25
|
-
|
|
26
24
|
RCT_EXTERN_METHOD(registerPurchasesChangedHandler)
|
|
27
25
|
|
|
28
26
|
RCT_EXTERN_METHOD(registerRestorePurchasesHandler)
|
|
@@ -9,10 +9,9 @@ import Foundation
|
|
|
9
9
|
import NamiApple
|
|
10
10
|
import React
|
|
11
11
|
|
|
12
|
-
#if RCT_NEW_ARCH_ENABLED
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
#endif
|
|
12
|
+
// #if RCT_NEW_ARCH_ENABLED
|
|
13
|
+
// extension RNNamiPurchaseManager: RCTTurboModule {}
|
|
14
|
+
// #endif
|
|
16
15
|
|
|
17
16
|
@objc(RNNamiPurchaseManager)
|
|
18
17
|
class RNNamiPurchaseManager: RCTEventEmitter {
|
|
@@ -120,11 +119,6 @@ class RNNamiPurchaseManager: RCTEventEmitter {
|
|
|
120
119
|
resolve(false)
|
|
121
120
|
}
|
|
122
121
|
|
|
123
|
-
@objc(consumePurchasedSku:)
|
|
124
|
-
func consumePurchasedSku(skuId: String) {
|
|
125
|
-
NamiPurchaseManager.consumePurchasedSku(skuId: skuId)
|
|
126
|
-
}
|
|
127
|
-
|
|
128
122
|
@objc(registerPurchasesChangedHandler)
|
|
129
123
|
func registerPurchasesChangedHandler() {
|
|
130
124
|
NamiPurchaseManager.registerPurchasesChangedHandler { purchases, purchaseState, error in
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-nami-sdk",
|
|
3
|
-
"version": "3.3.
|
|
3
|
+
"version": "3.3.1",
|
|
4
4
|
"description": "React Native Module for Nami - Easy subscriptions & in-app purchases, with powerful built-in paywalls and A/B testing.",
|
|
5
5
|
"main": "index.ts",
|
|
6
6
|
"types": "dist/index.d.ts",
|
|
@@ -21,7 +21,7 @@ Pod::Spec.new do |s|
|
|
|
21
21
|
s.requires_arc = true
|
|
22
22
|
s.swift_version = '5.0' # or your supported version
|
|
23
23
|
|
|
24
|
-
s.dependency 'Nami', '3.3.
|
|
24
|
+
s.dependency 'Nami', '3.3.1.1'
|
|
25
25
|
s.dependency 'React'
|
|
26
26
|
|
|
27
27
|
s.pod_target_xcconfig = {
|
|
@@ -31,4 +31,10 @@ Pod::Spec.new do |s|
|
|
|
31
31
|
|
|
32
32
|
install_modules_dependencies(s)
|
|
33
33
|
|
|
34
|
+
if ENV['RCT_NEW_ARCH_ENABLED'] == '1' then
|
|
35
|
+
s.pod_target_xcconfig = {
|
|
36
|
+
'USE_HEADERMAP' => 'YES',
|
|
37
|
+
}
|
|
38
|
+
end
|
|
39
|
+
|
|
34
40
|
end
|
package/specs/NativeNami.ts
CHANGED
|
@@ -2,10 +2,11 @@ import type { TurboModule } from 'react-native';
|
|
|
2
2
|
import { TurboModuleRegistry } from 'react-native';
|
|
3
3
|
|
|
4
4
|
export interface Spec extends TurboModule {
|
|
5
|
-
|
|
5
|
+
finish(): void;
|
|
6
|
+
isFlowOpen(): Promise<boolean>;
|
|
6
7
|
|
|
8
|
+
registerStepHandoff(): void;
|
|
7
9
|
resume(): void;
|
|
8
|
-
|
|
9
10
|
registerEventHandler(): void;
|
|
10
11
|
}
|
|
11
12
|
|
|
@@ -23,7 +23,6 @@ export interface Spec extends TurboModule {
|
|
|
23
23
|
|
|
24
24
|
skuPurchased(skuId: string): Promise<boolean>;
|
|
25
25
|
anySkuPurchased(skuIds: string[]): Promise<boolean>;
|
|
26
|
-
consumePurchasedSku(skuId: string): void;
|
|
27
26
|
presentCodeRedemptionSheet(): void;
|
|
28
27
|
restorePurchases(): void;
|
|
29
28
|
registerPurchasesChangedHandler(): void;
|
package/src/Nami.ts
CHANGED
package/src/NamiFlowManager.ts
CHANGED
|
@@ -53,4 +53,12 @@ export const NamiFlowManager = {
|
|
|
53
53
|
RNNamiFlowManager.registerEventHandler?.();
|
|
54
54
|
return () => sub.remove();
|
|
55
55
|
},
|
|
56
|
+
|
|
57
|
+
finish: (): void => {
|
|
58
|
+
RNNamiFlowManager.finish();
|
|
59
|
+
},
|
|
60
|
+
|
|
61
|
+
isFlowOpen: async (): Promise<boolean> => {
|
|
62
|
+
return RNNamiFlowManager.isFlowOpen();
|
|
63
|
+
},
|
|
56
64
|
};
|
|
@@ -35,15 +35,15 @@ export const NamiPaywallManager = {
|
|
|
35
35
|
|
|
36
36
|
// Compatibility shims
|
|
37
37
|
buySkuCompleteApple: (purchase: NamiPurchaseSuccessApple): void => {
|
|
38
|
-
RNNamiPaywallManager.
|
|
38
|
+
RNNamiPaywallManager.buySkuComplete(purchase);
|
|
39
39
|
},
|
|
40
40
|
|
|
41
41
|
buySkuCompleteAmazon: (purchase: NamiPurchaseSuccessAmazon): void => {
|
|
42
|
-
RNNamiPaywallManager.
|
|
42
|
+
RNNamiPaywallManager.buySkuComplete(purchase);
|
|
43
43
|
},
|
|
44
44
|
|
|
45
45
|
buySkuCompleteGooglePlay: (purchase: NamiPurchaseSuccessGooglePlay): void => {
|
|
46
|
-
RNNamiPaywallManager.
|
|
46
|
+
RNNamiPaywallManager.buySkuComplete(purchase);
|
|
47
47
|
},
|
|
48
48
|
|
|
49
49
|
registerBuySkuHandler: (callback: (sku: NamiSKU) => void): (() => void) => {
|
|
@@ -47,9 +47,6 @@ export const NamiPurchaseManager = {
|
|
|
47
47
|
anySkuPurchased: async (skuIds: string[]): Promise<boolean> =>
|
|
48
48
|
await RNNamiPurchaseManager.anySkuPurchased(skuIds),
|
|
49
49
|
|
|
50
|
-
consumePurchasedSku: (skuId: string): void =>
|
|
51
|
-
RNNamiPurchaseManager.consumePurchasedSku(skuId),
|
|
52
|
-
|
|
53
50
|
presentCodeRedemptionSheet: (): void =>
|
|
54
51
|
RNNamiPurchaseManager.presentCodeRedemptionSheet(),
|
|
55
52
|
|
package/src/types.ts
CHANGED
package/src/version.ts
CHANGED