framepayments-react-native 1.0.0 → 1.0.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.
Files changed (162) hide show
  1. package/README.md +28 -8
  2. package/android/build/.transforms/3db830673120be833016e77c88c53305/results.bin +1 -0
  3. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$Companion.dex +0 -0
  4. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$tryShowCheckout$1.dex +0 -0
  5. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity.dex +0 -0
  6. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameFlowActivity$CartItemDto.dex +0 -0
  7. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameFlowActivity$Companion.dex +0 -0
  8. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameFlowActivity$parseCartItems$type$1.dex +0 -0
  9. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameFlowActivity.dex +0 -0
  10. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameSDKModule.dex +0 -0
  11. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/com/framepayments/reactnativeframe/FrameSDKPackage.dex +0 -0
  12. package/android/build/.transforms/3db830673120be833016e77c88c53305/transformed/debug/desugar_graph.bin +0 -0
  13. package/android/build/.transforms/e32bd1e24a69eac3ebaf0c3a5e659207/results.bin +1 -0
  14. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/AndroidManifest.xml +18 -0
  15. package/android/build/intermediates/aapt_friendly_merged_manifests/debug/aapt/output-metadata.json +18 -0
  16. package/android/build/intermediates/aar_metadata/debug/aar-metadata.properties +5 -0
  17. package/android/build/intermediates/annotation_processor_list/debug/annotationProcessors.json +1 -0
  18. package/android/build/intermediates/compile_library_classes_jar/debug/classes.jar +0 -0
  19. package/android/build/intermediates/compile_r_class_jar/debug/R.jar +0 -0
  20. package/android/build/intermediates/compile_symbol_list/debug/R.txt +0 -0
  21. package/android/build/intermediates/incremental/debug/packageDebugResources/compile-file-map.properties +1 -0
  22. package/android/build/intermediates/incremental/debug/packageDebugResources/merger.xml +2 -0
  23. package/android/build/intermediates/incremental/mergeDebugJniLibFolders/merger.xml +2 -0
  24. package/android/build/intermediates/incremental/mergeDebugShaders/merger.xml +2 -0
  25. package/android/build/intermediates/incremental/packageDebugAssets/merger.xml +2 -0
  26. package/android/build/intermediates/java_res/debug/out/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  27. package/android/build/intermediates/local_only_symbol_list/debug/R-def.txt +2 -0
  28. package/android/build/intermediates/manifest_merge_blame_file/debug/manifest-merger-blame-debug-report.txt +27 -0
  29. package/android/build/intermediates/merged_manifest/debug/AndroidManifest.xml +18 -0
  30. package/android/build/intermediates/navigation_json/debug/navigation.json +1 -0
  31. package/android/build/intermediates/runtime_library_classes_dir/debug/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  32. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$Companion.class +0 -0
  33. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$tryShowCheckout$1.class +0 -0
  34. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity.class +0 -0
  35. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameFlowActivity$CartItemDto.class +0 -0
  36. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameFlowActivity$Companion.class +0 -0
  37. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameFlowActivity$parseCartItems$type$1.class +0 -0
  38. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameFlowActivity.class +0 -0
  39. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameSDKModule.class +0 -0
  40. package/android/build/intermediates/runtime_library_classes_dir/debug/com/framepayments/reactnativeframe/FrameSDKPackage.class +0 -0
  41. package/android/build/intermediates/runtime_library_classes_jar/debug/classes.jar +0 -0
  42. package/android/build/intermediates/symbol_list_with_package_name/debug/package-aware-r.txt +1 -0
  43. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab +0 -0
  44. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream +0 -0
  45. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.keystream.len +0 -0
  46. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.len +0 -0
  47. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab.values.at +0 -0
  48. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i +0 -0
  49. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/inputs/source-to-output.tab_i.len +0 -0
  50. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab +0 -0
  51. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream +0 -0
  52. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.keystream.len +0 -0
  53. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.len +0 -0
  54. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab.values.at +0 -0
  55. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i +0 -0
  56. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-attributes.tab_i.len +0 -0
  57. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab +0 -0
  58. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream +0 -0
  59. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.keystream.len +0 -0
  60. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.len +0 -0
  61. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab.values.at +0 -0
  62. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i +0 -0
  63. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/class-fq-name-to-source.tab_i.len +0 -0
  64. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab +0 -0
  65. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream +0 -0
  66. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.keystream.len +0 -0
  67. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.len +0 -0
  68. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab.values.at +0 -0
  69. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i +0 -0
  70. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/constants.tab_i.len +0 -0
  71. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab +0 -0
  72. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream +0 -0
  73. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.keystream.len +0 -0
  74. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.len +0 -0
  75. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab.values.at +0 -0
  76. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i +0 -0
  77. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/internal-name-to-source.tab_i.len +0 -0
  78. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab +0 -0
  79. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream +0 -0
  80. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.keystream.len +0 -0
  81. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.len +0 -0
  82. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab.values.at +0 -0
  83. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i +0 -0
  84. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/proto.tab_i.len +0 -0
  85. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab +0 -0
  86. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream +0 -0
  87. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.keystream.len +0 -0
  88. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.len +0 -0
  89. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab.values.at +0 -0
  90. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i +0 -0
  91. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/source-to-classes.tab_i.len +0 -0
  92. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab +0 -0
  93. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream +0 -0
  94. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.keystream.len +0 -0
  95. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.len +0 -0
  96. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab.values.at +0 -0
  97. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i +0 -0
  98. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/subtypes.tab_i.len +0 -0
  99. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab +0 -0
  100. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream +0 -0
  101. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.keystream.len +0 -0
  102. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.len +0 -0
  103. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab.values.at +0 -0
  104. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i +0 -0
  105. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/jvm/kotlin/supertypes.tab_i.len +0 -0
  106. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/counters.tab +2 -0
  107. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab +0 -0
  108. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream +0 -0
  109. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.keystream.len +0 -0
  110. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.len +0 -0
  111. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab.values.at +0 -0
  112. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i +0 -0
  113. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/file-to-id.tab_i.len +0 -0
  114. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab +0 -0
  115. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream +0 -0
  116. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.keystream.len +0 -0
  117. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.len +0 -0
  118. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab.values.at +0 -0
  119. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i +0 -0
  120. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/id-to-file.tab_i.len +0 -0
  121. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab +0 -0
  122. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream +0 -0
  123. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.keystream.len +0 -0
  124. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.len +0 -0
  125. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab.values.at +0 -0
  126. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i +0 -0
  127. package/android/build/kotlin/compileDebugKotlin/cacheable/caches-jvm/lookups/lookups.tab_i.len +0 -0
  128. package/android/build/kotlin/compileDebugKotlin/cacheable/last-build.bin +0 -0
  129. package/android/build/kotlin/compileDebugKotlin/classpath-snapshot/shrunk-classpath-snapshot.bin +0 -0
  130. package/android/build/kotlin/compileDebugKotlin/local-state/build-history.bin +0 -0
  131. package/android/build/outputs/logs/manifest-merger-debug-report.txt +35 -0
  132. package/android/build/tmp/kotlin-classes/debug/META-INF/framepayments-react-native_debug.kotlin_module +0 -0
  133. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$Companion.class +0 -0
  134. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity$tryShowCheckout$1.class +0 -0
  135. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameCheckoutActivity.class +0 -0
  136. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity$CartItemDto.class +0 -0
  137. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity$Companion.class +0 -0
  138. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity$parseCartItems$type$1.class +0 -0
  139. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameFlowActivity.class +0 -0
  140. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameSDKModule.class +0 -0
  141. package/android/build/tmp/kotlin-classes/debug/com/framepayments/reactnativeframe/FrameSDKPackage.class +0 -0
  142. package/android/build.gradle +6 -2
  143. package/android/src/main/AndroidManifest.xml +2 -1
  144. package/android/src/main/java/com/framepayments/reactnativeframe/FrameCheckoutActivity.kt +44 -0
  145. package/android/src/main/java/com/framepayments/reactnativeframe/FrameSDKModule.kt +14 -10
  146. package/ios/FramePreloader.swift +28 -0
  147. package/ios/FrameSDKBridge.m +57 -1
  148. package/ios/FrameSDKBridge.swift +35 -54
  149. package/ios/FrameVCHelper.h +12 -0
  150. package/ios/FrameVCHelper.m +11 -0
  151. package/lib/__tests__/native.test.d.ts +32 -0
  152. package/lib/__tests__/native.test.d.ts.map +1 -0
  153. package/lib/__tests__/native.test.js +101 -0
  154. package/lib/index.d.ts +9 -1
  155. package/lib/index.d.ts.map +1 -1
  156. package/lib/index.js +4 -1
  157. package/lib/native.d.ts +1 -1
  158. package/lib/native.d.ts.map +1 -1
  159. package/lib/native.js +4 -3
  160. package/package.json +11 -8
  161. package/src/index.ts +6 -1
  162. package/src/native.ts +7 -4
package/README.md CHANGED
@@ -13,9 +13,9 @@ React Native SDK for [Frame Payments](https://framepayments.com). It bridges the
13
13
  ## Installation
14
14
 
15
15
  ```bash
16
- npm install @framepayments/react-native-frame
16
+ npm install framepayments-react-native
17
17
  # or
18
- yarn add @framepayments/react-native-frame
18
+ yarn add framepayments-react-native
19
19
  ```
20
20
 
21
21
  ### iOS
@@ -26,11 +26,27 @@ yarn add @framepayments/react-native-frame
26
26
  ```
27
27
  Add the **Frame-iOS** package and choose the version or branch you need. The React Native SDK’s native code depends on it; CocoaPods cannot pull it in automatically.
28
28
 
29
- 2. **Install pods**:
29
+ 2. **Preload Frame on the main thread** (required): Add this to your `AppDelegate.m` or `AppDelegate.mm` **before** calling `[super application:didFinishLaunchingWithOptions:]`:
30
+ ```objc
31
+ #import "YourAppName-Swift.h" // Use your app's module name
32
+ // ...
33
+ - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
34
+ {
35
+ [FramePreloader preloadOnMainThread]; // Prevents "Helpers are not supported by the default hub" crash
36
+ return [super application:application didFinishLaunchingWithOptions:launchOptions];
37
+ }
38
+ ```
39
+ `FramePreloader` is part of the SDK and loads Frame/Evervault/Sift on the main thread before the React Native bridge initializes.
40
+
41
+ **If your app has a different module name than the example** (e.g. not `FrameExampleTemp`), add `FRAME_SWIFT_HEADER="YourApp-Swift.h"` to your app target's **Preprocessor Macros** in Xcode build settings. The native bridge uses this to import the Swift header.
42
+
43
+ 3. **Install pods**:
30
44
  ```bash
31
45
  cd ios && pod install && cd ..
32
46
  ```
33
47
 
48
+ 4. Run the app (e.g. `npx react-native run-ios`). The example app already includes this setup.
49
+
34
50
  ### Android
35
51
 
36
52
  No extra steps; autolinking includes the native module.
@@ -39,15 +55,15 @@ No extra steps; autolinking includes the native module.
39
55
 
40
56
  ### 1. Initialize
41
57
 
42
- Call once at app startup (e.g. in your root component or App.js).
58
+ Call once at app startup (e.g. in your root component or App.js). Returns a Promise; await or catch to handle native init errors.
43
59
 
44
60
  ```ts
45
- import Frame from '@framepayments/react-native-frame';
61
+ import Frame from 'framepayments-react-native';
46
62
 
47
63
  Frame.initialize({
48
64
  apiKey: 'YOUR_FRAME_SECRET_KEY',
49
65
  debugMode: false, // set true for development
50
- });
66
+ }).catch((e) => console.warn('Frame init failed:', e.message));
51
67
  ```
52
68
 
53
69
  ### 2. Present Checkout
@@ -113,12 +129,16 @@ const customers = await frame.customers.list();
113
129
  - **Production**: Disable `debugMode` in production to avoid logging sensitive data.
114
130
  - Payment card data is handled by the native Frame SDKs (Evervault, etc.) and never touches your JS bundle.
115
131
 
132
+ ## Troubleshooting (iOS)
133
+
134
+ - **"Helpers are not supported by the default hub"** – This occurs when Frame/Evervault loads on a background thread during React Native bridge init. **Fix:** Call `[FramePreloader preloadOnMainThread]` in your `AppDelegate` before `[super application:didFinishLaunchingWithOptions:]` (see [Installation – iOS](#ios) step 2). Also ensure the **Frame-iOS** Swift package is added in Xcode (**File → Add Package Dependencies** → `https://github.com/Frame-Payments/frame-ios`).
135
+
116
136
  ## Running the example
117
137
 
118
138
  The [example](./example) folder contains a sample app (App.tsx, package.json) that uses the SDK for init, presentCheckout, presentCart, and frame-node for listing customers.
119
139
 
120
- 1. **From this repo (local SDK):** Create a new React Native app (e.g. `npx react-native init FrameExample`), then copy `example/App.tsx` into it and add the dependency: `"@framepayments/react-native-frame": "file:/path/to/frame-react-native"`. Run `npm install`. On iOS: add Frame-iOS via SPM in Xcode (see [Installation – iOS](#ios) above), then `cd ios && pod install`. See [example/README.md](./example/README.md) for details.
121
- 2. **Using the published package:** Install `@framepayments/react-native-frame` and `framepayments` in your app and use the same patterns as in `example/App.tsx`.
140
+ 1. **From this repo (local SDK):** Create a new React Native app (e.g. `npx react-native init FrameExample`), then copy `example/App.tsx` into it and add the dependency: `"framepayments-react-native": "file:/path/to/frame-react-native"`. Run `npm install`. On iOS: add Frame-iOS via SPM in Xcode (see [Installation – iOS](#ios) above), then `cd ios && pod install`. See [example/README.md](./example/README.md) for details.
141
+ 2. **Using the published package:** Install `framepayments-react-native` and `framepayments` in your app and use the same patterns as in `example/App.tsx`.
122
142
 
123
143
  ## Release checklist
124
144
 
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ package="com.framepayments.reactnativeframe" >
4
+
5
+ <uses-sdk android:minSdkVersion="26" />
6
+
7
+ <application>
8
+ <activity
9
+ android:name="com.framepayments.reactnativeframe.FrameCheckoutActivity"
10
+ android:exported="false"
11
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
12
+ <activity
13
+ android:name="com.framepayments.reactnativeframe.FrameFlowActivity"
14
+ android:exported="false"
15
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
16
+ </application>
17
+
18
+ </manifest>
@@ -0,0 +1,18 @@
1
+ {
2
+ "version": 3,
3
+ "artifactType": {
4
+ "type": "AAPT_FRIENDLY_MERGED_MANIFESTS",
5
+ "kind": "Directory"
6
+ },
7
+ "applicationId": "com.framepayments.reactnativeframe",
8
+ "variantName": "debug",
9
+ "elements": [
10
+ {
11
+ "type": "SINGLE",
12
+ "filters": [],
13
+ "attributes": [],
14
+ "outputFile": "AndroidManifest.xml"
15
+ }
16
+ ],
17
+ "elementType": "File"
18
+ }
@@ -0,0 +1,5 @@
1
+ aarFormatVersion=1.0
2
+ aarMetadataVersion=1.0
3
+ minCompileSdk=1
4
+ minCompileSdkExtension=0
5
+ minAndroidGradlePluginVersion=1.0.0
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="main" generated-set="main$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="debug" generated-set="debug$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/debug/res"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated$Generated" generated="true" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/build/generated/res/resValues/debug"/></dataSet><dataSet aapt-namespace="http://schemas.android.com/apk/res-auto" config="generated" generated-set="generated$Generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/build/generated/res/resValues/debug"/></dataSet><mergedItems/></merger>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/jniLibs"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/debug/jniLibs"/></dataSet></merger>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/shaders"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/debug/shaders"/></dataSet></merger>
@@ -0,0 +1,2 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <merger version="3"><dataSet config="main" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/assets"/></dataSet><dataSet config="debug" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/debug/assets"/></dataSet><dataSet config="generated" ignore_pattern="!.svn:!.git:!.ds_store:!*.scc:.*:&lt;dir>_*:!CVS:!thumbs.db:!picasa.ini:!*~"><source path="/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/build/intermediates/shader_assets/debug/out"/></dataSet></merger>
@@ -0,0 +1,2 @@
1
+ R_DEF: Internal format may change without notice
2
+ local
@@ -0,0 +1,27 @@
1
+ 1<?xml version="1.0" encoding="utf-8"?>
2
+ 2<manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ 3 package="com.framepayments.reactnativeframe" >
4
+ 4
5
+ 5 <uses-sdk android:minSdkVersion="26" />
6
+ 6
7
+ 7 <application>
8
+ 7-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:3:3-12:17
9
+ 8 <activity
10
+ 8-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:4:5-7:34
11
+ 9 android:name="com.framepayments.reactnativeframe.FrameCheckoutActivity"
12
+ 9-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:5:7-78
13
+ 10 android:exported="false"
14
+ 10-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:7:7-31
15
+ 11 android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
16
+ 11-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:6:7-63
17
+ 12 <activity
18
+ 12-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:8:5-11:34
19
+ 13 android:name="com.framepayments.reactnativeframe.FrameFlowActivity"
20
+ 13-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:9:7-74
21
+ 14 android:exported="false"
22
+ 14-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:11:7-31
23
+ 15 android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
24
+ 15-->/Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:10:7-63
25
+ 16 </application>
26
+ 17
27
+ 18</manifest>
@@ -0,0 +1,18 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <manifest xmlns:android="http://schemas.android.com/apk/res/android"
3
+ package="com.framepayments.reactnativeframe" >
4
+
5
+ <uses-sdk android:minSdkVersion="26" />
6
+
7
+ <application>
8
+ <activity
9
+ android:name="com.framepayments.reactnativeframe.FrameCheckoutActivity"
10
+ android:exported="false"
11
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
12
+ <activity
13
+ android:name="com.framepayments.reactnativeframe.FrameFlowActivity"
14
+ android:exported="false"
15
+ android:theme="@style/Theme.AppCompat.Light.NoActionBar" />
16
+ </application>
17
+
18
+ </manifest>
@@ -0,0 +1 @@
1
+ com.framepayments.reactnativeframe
@@ -0,0 +1,35 @@
1
+ -- Merging decision tree log ---
2
+ manifest
3
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:1-13:12
4
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:1-13:12
5
+ package
6
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:2:5-49
7
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml
8
+ xmlns:android
9
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:1:11-69
10
+ application
11
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:3:3-12:17
12
+ activity#com.framepayments.reactnativeframe.FrameCheckoutActivity
13
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:4:5-7:34
14
+ android:exported
15
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:7:7-31
16
+ android:theme
17
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:6:7-63
18
+ android:name
19
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:5:7-78
20
+ activity#com.framepayments.reactnativeframe.FrameFlowActivity
21
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:8:5-11:34
22
+ android:exported
23
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:11:7-31
24
+ android:theme
25
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:10:7-63
26
+ android:name
27
+ ADDED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml:9:7-74
28
+ uses-sdk
29
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml reason: use-sdk injection requested
30
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml
31
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml
32
+ android:targetSdkVersion
33
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml
34
+ android:minSdkVersion
35
+ INJECTED from /Users/erictownsend/Documents/GitHub/frame-react-native/example/node_modules/framepayments-react-native/android/src/main/AndroidManifest.xml