react-native-iap 14.3.8 → 14.4.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/NitroIap.podspec +11 -1
- package/README.md +2 -3
- package/android/build.gradle +24 -1
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +374 -119
- package/android/src/main/java/com/margelo/nitro/iap/RnIapLog.kt +64 -0
- package/ios/HybridRnIap.swift +525 -362
- package/ios/RnIapHelper.swift +224 -0
- package/ios/RnIapLog.swift +127 -0
- package/lib/module/hooks/useIAP.js +2 -34
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +52 -2
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/plugin/src/withIAP.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts +0 -12
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +3 -0
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +24 -0
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +8 -6
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +64 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +4 -0
- package/nitrogen/generated/android/c++/JIapPlatform.hpp +3 -3
- package/nitrogen/generated/android/c++/JPurchaseAndroid.hpp +6 -2
- package/nitrogen/generated/android/c++/JPurchaseIOS.hpp +4 -0
- package/nitrogen/generated/android/c++/JPurchaseState.hpp +6 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +16 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/IapPlatform.kt +2 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseAndroid.kt +4 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseIOS.kt +3 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/PurchaseState.kt +5 -5
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +32 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +4 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +82 -0
- package/nitrogen/generated/ios/swift/IapPlatform.swift +4 -4
- package/nitrogen/generated/ios/swift/PurchaseAndroid.swift +32 -2
- package/nitrogen/generated/ios/swift/PurchaseIOS.swift +13 -2
- package/nitrogen/generated/ios/swift/PurchaseState.swift +8 -8
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +4 -0
- package/nitrogen/generated/shared/c++/IapPlatform.hpp +5 -5
- package/nitrogen/generated/shared/c++/PurchaseAndroid.hpp +6 -2
- package/nitrogen/generated/shared/c++/PurchaseIOS.hpp +5 -1
- package/nitrogen/generated/shared/c++/PurchaseState.hpp +11 -11
- package/openiap-versions.json +5 -0
- package/package.json +3 -2
- package/plugin/build/withIAP.js +35 -3
- package/plugin/src/withIAP.ts +44 -3
- package/src/hooks/useIAP.ts +3 -71
- package/src/index.ts +61 -2
- package/src/specs/RnIap.nitro.ts +28 -0
- package/src/types.ts +8 -6
package/NitroIap.podspec
CHANGED
|
@@ -1,6 +1,16 @@
|
|
|
1
1
|
require "json"
|
|
2
2
|
|
|
3
3
|
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
+
versions_path = File.join(__dir__, "openiap-versions.json")
|
|
5
|
+
unless File.exist?(versions_path)
|
|
6
|
+
raise "NitroIap: Missing openiap-versions.json. Add the file to manage native dependency versions."
|
|
7
|
+
end
|
|
8
|
+
|
|
9
|
+
versions = JSON.parse(File.read(versions_path))
|
|
10
|
+
apple_version = versions["apple"]
|
|
11
|
+
unless apple_version.is_a?(String) && !apple_version.strip.empty?
|
|
12
|
+
raise "NitroIap: 'apple' version missing or invalid in openiap-versions.json"
|
|
13
|
+
end
|
|
4
14
|
|
|
5
15
|
Pod::Spec.new do |s|
|
|
6
16
|
s.name = "NitroIap"
|
|
@@ -32,7 +42,7 @@ Pod::Spec.new do |s|
|
|
|
32
42
|
s.dependency 'React-jsi'
|
|
33
43
|
s.dependency 'React-callinvoker'
|
|
34
44
|
# OpenIAP Apple for StoreKit 2 integration
|
|
35
|
-
s.dependency 'openiap',
|
|
45
|
+
s.dependency 'openiap', apple_version
|
|
36
46
|
|
|
37
47
|
install_modules_dependencies(s)
|
|
38
48
|
end
|
package/README.md
CHANGED
|
@@ -4,7 +4,6 @@
|
|
|
4
4
|
<img src="https://hyochan.github.io/react-native-iap/img/icon.png" alt="React Native IAP Logo" width="150" />
|
|
5
5
|
|
|
6
6
|
[](https://npmjs.org/package/react-native-iap)
|
|
7
|
-
[](https://npmjs.org/package/react-native-iap)
|
|
8
7
|
[](https://npmjs.org/package/react-native-iap)
|
|
9
8
|
[](https://opencollective.com/react-native-iap)
|
|
10
9
|
[](https://github.com/hyochan/react-native-iap/actions/workflows/ci-test.yml)
|
|
@@ -90,11 +89,11 @@ Before installing React Native IAP, make sure you have:
|
|
|
90
89
|
|
|
91
90
|
#### Android Configuration
|
|
92
91
|
|
|
93
|
-
Add the OpenIAP Google library to your `android/app/build.gradle` dependencies:
|
|
92
|
+
Add the OpenIAP Google library to your `android/app/build.gradle` dependencies. React Native IAP pins the native module versions in `openiap-versions.json` so Android, iOS, and tooling stay in sync:
|
|
94
93
|
|
|
95
94
|
```gradle
|
|
96
95
|
dependencies {
|
|
97
|
-
implementation "io.github.hyochan.openiap:openiap-google:1.
|
|
96
|
+
implementation "io.github.hyochan.openiap:openiap-google:1.2.6"
|
|
98
97
|
}
|
|
99
98
|
```
|
|
100
99
|
|
package/android/build.gradle
CHANGED
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
import groovy.json.JsonSlurper
|
|
2
|
+
|
|
1
3
|
buildscript {
|
|
2
4
|
repositories {
|
|
3
5
|
google()
|
|
@@ -19,6 +21,27 @@ def isNewArchitectureEnabled() {
|
|
|
19
21
|
return rootProject.hasProperty("newArchEnabled") && rootProject.getProperty("newArchEnabled") == "true"
|
|
20
22
|
}
|
|
21
23
|
|
|
24
|
+
def resolveOpenIapVersionsFile() {
|
|
25
|
+
def candidates = [
|
|
26
|
+
new File(projectDir.parentFile, 'openiap-versions.json'),
|
|
27
|
+
new File(rootDir.parentFile ?: rootDir, 'openiap-versions.json'),
|
|
28
|
+
new File(rootProject.projectDir.parentFile ?: rootProject.projectDir, 'openiap-versions.json')
|
|
29
|
+
]
|
|
30
|
+
return candidates.find { it.exists() }
|
|
31
|
+
}
|
|
32
|
+
|
|
33
|
+
def openiapVersionsFile = resolveOpenIapVersionsFile()
|
|
34
|
+
if (openiapVersionsFile == null) {
|
|
35
|
+
throw new GradleException("react-native-iap: Unable to locate openiap-versions.json")
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
def openiapVersions = new JsonSlurper().parse(openiapVersionsFile)
|
|
39
|
+
def googleVersion = (openiapVersions instanceof Map) ? openiapVersions.google : null
|
|
40
|
+
if (!(googleVersion instanceof String) || !googleVersion.trim()) {
|
|
41
|
+
throw new GradleException("react-native-iap: 'google' version missing or invalid in openiap-versions.json")
|
|
42
|
+
}
|
|
43
|
+
def googleVersionString = googleVersion.trim()
|
|
44
|
+
|
|
22
45
|
apply plugin: "com.android.library"
|
|
23
46
|
apply plugin: 'org.jetbrains.kotlin.android'
|
|
24
47
|
|
|
@@ -155,7 +178,7 @@ dependencies {
|
|
|
155
178
|
|
|
156
179
|
// Kotlin coroutines
|
|
157
180
|
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.9.0'
|
|
158
|
-
implementation
|
|
181
|
+
implementation "io.github.hyochan.openiap:openiap-google:${googleVersionString}"
|
|
159
182
|
}
|
|
160
183
|
|
|
161
184
|
configurations.all {
|