react-native-iap 14.5.1-rc.1 → 14.6.0-rc.2
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/README.md +1 -0
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +198 -36
- package/ios/HybridRnIap.swift +32 -2
- package/lib/module/hooks/useIAP.js +1 -6
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +228 -10
- package/lib/module/index.js.map +1 -1
- package/lib/module/types.js +116 -0
- package/lib/module/types.js.map +1 -1
- package/lib/typescript/plugin/src/withIAP.d.ts +6 -0
- package/lib/typescript/plugin/src/withIAP.d.ts.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts +5 -7
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +144 -2
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +90 -8
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +194 -10
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +62 -0
- package/nitrogen/generated/android/c++/JExternalLinkLaunchModeAndroid.hpp +62 -0
- package/nitrogen/generated/android/c++/JExternalLinkTypeAndroid.hpp +62 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +88 -4
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +4 -0
- package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +62 -0
- package/nitrogen/generated/android/c++/JNitroBillingProgramReportingDetailsAndroid.hpp +63 -0
- package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +75 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationAppleOptions.hpp +57 -0
- package/nitrogen/generated/android/c++/{JNitroReceiptValidationAndroidOptions.hpp → JNitroReceiptValidationGoogleOptions.hpp} +18 -14
- package/nitrogen/generated/android/c++/JNitroReceiptValidationHorizonOptions.hpp +65 -0
- package/nitrogen/generated/android/c++/JNitroReceiptValidationParams.hpp +19 -11
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingProgramAndroid.kt +22 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalLinkLaunchModeAndroid.kt +22 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ExternalLinkTypeAndroid.kt +22 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +16 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramReportingDetailsAndroid.kt +39 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +45 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationAppleOptions.kt +36 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/{NitroReceiptValidationAndroidOptions.kt → NitroReceiptValidationGoogleOptions.kt} +9 -6
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationHorizonOptions.kt +42 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroReceiptValidationParams.kt +7 -4
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +16 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +141 -10
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +27 -3
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +57 -3
- package/nitrogen/generated/ios/swift/BillingProgramAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/ExternalLinkLaunchModeAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/ExternalLinkTypeAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroBillingProgramAvailabilityResultAndroid.swift +47 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroBillingProgramReportingDetailsAndroid.swift +47 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +4 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +68 -0
- package/nitrogen/generated/ios/swift/NitroBillingProgramAvailabilityResultAndroid.swift +46 -0
- package/nitrogen/generated/ios/swift/NitroBillingProgramReportingDetailsAndroid.swift +46 -0
- package/nitrogen/generated/ios/swift/NitroLaunchExternalLinkParamsAndroid.swift +68 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationAppleOptions.swift +35 -0
- package/nitrogen/generated/ios/swift/{NitroReceiptValidationAndroidOptions.swift → NitroReceiptValidationGoogleOptions.swift} +21 -10
- package/nitrogen/generated/ios/swift/NitroReceiptValidationHorizonOptions.swift +57 -0
- package/nitrogen/generated/ios/swift/NitroReceiptValidationParams.swift +46 -11
- package/nitrogen/generated/shared/c++/BillingProgramAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/ExternalLinkLaunchModeAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/ExternalLinkTypeAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +4 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +16 -0
- package/nitrogen/generated/shared/c++/NitroBillingProgramAvailabilityResultAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/NitroBillingProgramReportingDetailsAndroid.hpp +81 -0
- package/nitrogen/generated/shared/c++/NitroLaunchExternalLinkParamsAndroid.hpp +95 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationAppleOptions.hpp +75 -0
- package/nitrogen/generated/shared/c++/{NitroReceiptValidationAndroidOptions.hpp → NitroReceiptValidationGoogleOptions.hpp} +18 -14
- package/nitrogen/generated/shared/c++/NitroReceiptValidationHorizonOptions.hpp +83 -0
- package/nitrogen/generated/shared/c++/NitroReceiptValidationParams.hpp +22 -13
- package/openiap-versions.json +3 -3
- package/package.json +1 -1
- package/plugin/build/withIAP.d.ts +6 -0
- package/plugin/build/withIAP.js +46 -2
- package/plugin/src/withIAP.ts +67 -2
- package/src/hooks/useIAP.ts +8 -23
- package/src/index.ts +297 -14
- package/src/specs/RnIap.nitro.ts +125 -10
- package/src/types.ts +207 -10
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JBillingProgramAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "BillingProgramAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::iap {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "BillingProgramAndroid" and the the Kotlin enum "BillingProgramAndroid".
|
|
19
|
+
*/
|
|
20
|
+
struct JBillingProgramAndroid final: public jni::JavaClass<JBillingProgramAndroid> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/BillingProgramAndroid;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum BillingProgramAndroid.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
BillingProgramAndroid toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<BillingProgramAndroid>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JBillingProgramAndroid> fromCpp(BillingProgramAndroid value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldUNSPECIFIED = clazz->getStaticField<JBillingProgramAndroid>("UNSPECIFIED");
|
|
45
|
+
static const auto fieldEXTERNAL_CONTENT_LINK = clazz->getStaticField<JBillingProgramAndroid>("EXTERNAL_CONTENT_LINK");
|
|
46
|
+
static const auto fieldEXTERNAL_OFFER = clazz->getStaticField<JBillingProgramAndroid>("EXTERNAL_OFFER");
|
|
47
|
+
|
|
48
|
+
switch (value) {
|
|
49
|
+
case BillingProgramAndroid::UNSPECIFIED:
|
|
50
|
+
return clazz->getStaticFieldValue(fieldUNSPECIFIED);
|
|
51
|
+
case BillingProgramAndroid::EXTERNAL_CONTENT_LINK:
|
|
52
|
+
return clazz->getStaticFieldValue(fieldEXTERNAL_CONTENT_LINK);
|
|
53
|
+
case BillingProgramAndroid::EXTERNAL_OFFER:
|
|
54
|
+
return clazz->getStaticFieldValue(fieldEXTERNAL_OFFER);
|
|
55
|
+
default:
|
|
56
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
57
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JExternalLinkLaunchModeAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "ExternalLinkLaunchModeAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::iap {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "ExternalLinkLaunchModeAndroid" and the the Kotlin enum "ExternalLinkLaunchModeAndroid".
|
|
19
|
+
*/
|
|
20
|
+
struct JExternalLinkLaunchModeAndroid final: public jni::JavaClass<JExternalLinkLaunchModeAndroid> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/ExternalLinkLaunchModeAndroid;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum ExternalLinkLaunchModeAndroid.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
ExternalLinkLaunchModeAndroid toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<ExternalLinkLaunchModeAndroid>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JExternalLinkLaunchModeAndroid> fromCpp(ExternalLinkLaunchModeAndroid value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldUNSPECIFIED = clazz->getStaticField<JExternalLinkLaunchModeAndroid>("UNSPECIFIED");
|
|
45
|
+
static const auto fieldLAUNCH_IN_EXTERNAL_BROWSER_OR_APP = clazz->getStaticField<JExternalLinkLaunchModeAndroid>("LAUNCH_IN_EXTERNAL_BROWSER_OR_APP");
|
|
46
|
+
static const auto fieldCALLER_WILL_LAUNCH_LINK = clazz->getStaticField<JExternalLinkLaunchModeAndroid>("CALLER_WILL_LAUNCH_LINK");
|
|
47
|
+
|
|
48
|
+
switch (value) {
|
|
49
|
+
case ExternalLinkLaunchModeAndroid::UNSPECIFIED:
|
|
50
|
+
return clazz->getStaticFieldValue(fieldUNSPECIFIED);
|
|
51
|
+
case ExternalLinkLaunchModeAndroid::LAUNCH_IN_EXTERNAL_BROWSER_OR_APP:
|
|
52
|
+
return clazz->getStaticFieldValue(fieldLAUNCH_IN_EXTERNAL_BROWSER_OR_APP);
|
|
53
|
+
case ExternalLinkLaunchModeAndroid::CALLER_WILL_LAUNCH_LINK:
|
|
54
|
+
return clazz->getStaticFieldValue(fieldCALLER_WILL_LAUNCH_LINK);
|
|
55
|
+
default:
|
|
56
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
57
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JExternalLinkTypeAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "ExternalLinkTypeAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::iap {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "ExternalLinkTypeAndroid" and the the Kotlin enum "ExternalLinkTypeAndroid".
|
|
19
|
+
*/
|
|
20
|
+
struct JExternalLinkTypeAndroid final: public jni::JavaClass<JExternalLinkTypeAndroid> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/ExternalLinkTypeAndroid;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum ExternalLinkTypeAndroid.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
ExternalLinkTypeAndroid toCpp() const {
|
|
31
|
+
static const auto clazz = javaClassStatic();
|
|
32
|
+
static const auto fieldOrdinal = clazz->getField<int>("value");
|
|
33
|
+
int ordinal = this->getFieldValue(fieldOrdinal);
|
|
34
|
+
return static_cast<ExternalLinkTypeAndroid>(ordinal);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
public:
|
|
38
|
+
/**
|
|
39
|
+
* Create a Java/Kotlin-based enum with the given C++ enum's value.
|
|
40
|
+
*/
|
|
41
|
+
[[maybe_unused]]
|
|
42
|
+
static jni::alias_ref<JExternalLinkTypeAndroid> fromCpp(ExternalLinkTypeAndroid value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
static const auto fieldUNSPECIFIED = clazz->getStaticField<JExternalLinkTypeAndroid>("UNSPECIFIED");
|
|
45
|
+
static const auto fieldLINK_TO_DIGITAL_CONTENT_OFFER = clazz->getStaticField<JExternalLinkTypeAndroid>("LINK_TO_DIGITAL_CONTENT_OFFER");
|
|
46
|
+
static const auto fieldLINK_TO_APP_DOWNLOAD = clazz->getStaticField<JExternalLinkTypeAndroid>("LINK_TO_APP_DOWNLOAD");
|
|
47
|
+
|
|
48
|
+
switch (value) {
|
|
49
|
+
case ExternalLinkTypeAndroid::UNSPECIFIED:
|
|
50
|
+
return clazz->getStaticFieldValue(fieldUNSPECIFIED);
|
|
51
|
+
case ExternalLinkTypeAndroid::LINK_TO_DIGITAL_CONTENT_OFFER:
|
|
52
|
+
return clazz->getStaticFieldValue(fieldLINK_TO_DIGITAL_CONTENT_OFFER);
|
|
53
|
+
case ExternalLinkTypeAndroid::LINK_TO_APP_DOWNLOAD:
|
|
54
|
+
return clazz->getStaticFieldValue(fieldLINK_TO_APP_DOWNLOAD);
|
|
55
|
+
default:
|
|
56
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
57
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
} // namespace margelo::nitro::iap
|
|
@@ -65,6 +65,12 @@ namespace margelo::nitro::iap { enum class IapkitPurchaseState; }
|
|
|
65
65
|
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithProviderError; }
|
|
66
66
|
// Forward declaration of `PurchaseVerificationProvider` to properly resolve imports.
|
|
67
67
|
namespace margelo::nitro::iap { enum class PurchaseVerificationProvider; }
|
|
68
|
+
// Forward declaration of `NitroBillingProgramAvailabilityResultAndroid` to properly resolve imports.
|
|
69
|
+
namespace margelo::nitro::iap { struct NitroBillingProgramAvailabilityResultAndroid; }
|
|
70
|
+
// Forward declaration of `BillingProgramAndroid` to properly resolve imports.
|
|
71
|
+
namespace margelo::nitro::iap { enum class BillingProgramAndroid; }
|
|
72
|
+
// Forward declaration of `NitroBillingProgramReportingDetailsAndroid` to properly resolve imports.
|
|
73
|
+
namespace margelo::nitro::iap { struct NitroBillingProgramReportingDetailsAndroid; }
|
|
68
74
|
// Forward declaration of `ExternalPurchaseNoticeResultIOS` to properly resolve imports.
|
|
69
75
|
namespace margelo::nitro::iap { struct ExternalPurchaseNoticeResultIOS; }
|
|
70
76
|
// Forward declaration of `ExternalPurchaseNoticeAction` to properly resolve imports.
|
|
@@ -99,8 +105,12 @@ namespace margelo::nitro::iap { struct NitroFinishTransactionIosParams; }
|
|
|
99
105
|
namespace margelo::nitro::iap { struct NitroFinishTransactionAndroidParams; }
|
|
100
106
|
// Forward declaration of `NitroReceiptValidationParams` to properly resolve imports.
|
|
101
107
|
namespace margelo::nitro::iap { struct NitroReceiptValidationParams; }
|
|
102
|
-
// Forward declaration of `
|
|
103
|
-
namespace margelo::nitro::iap { struct
|
|
108
|
+
// Forward declaration of `NitroReceiptValidationAppleOptions` to properly resolve imports.
|
|
109
|
+
namespace margelo::nitro::iap { struct NitroReceiptValidationAppleOptions; }
|
|
110
|
+
// Forward declaration of `NitroReceiptValidationGoogleOptions` to properly resolve imports.
|
|
111
|
+
namespace margelo::nitro::iap { struct NitroReceiptValidationGoogleOptions; }
|
|
112
|
+
// Forward declaration of `NitroReceiptValidationHorizonOptions` to properly resolve imports.
|
|
113
|
+
namespace margelo::nitro::iap { struct NitroReceiptValidationHorizonOptions; }
|
|
104
114
|
// Forward declaration of `NitroVerifyPurchaseWithProviderProps` to properly resolve imports.
|
|
105
115
|
namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithProviderProps; }
|
|
106
116
|
// Forward declaration of `NitroVerifyPurchaseWithIapkitProps` to properly resolve imports.
|
|
@@ -113,6 +123,12 @@ namespace margelo::nitro::iap { struct NitroVerifyPurchaseWithIapkitGoogleProps;
|
|
|
113
123
|
namespace margelo::nitro::iap { struct NitroDeepLinkOptionsAndroid; }
|
|
114
124
|
// Forward declaration of `UserChoiceBillingDetails` to properly resolve imports.
|
|
115
125
|
namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
126
|
+
// Forward declaration of `NitroLaunchExternalLinkParamsAndroid` to properly resolve imports.
|
|
127
|
+
namespace margelo::nitro::iap { struct NitroLaunchExternalLinkParamsAndroid; }
|
|
128
|
+
// Forward declaration of `ExternalLinkLaunchModeAndroid` to properly resolve imports.
|
|
129
|
+
namespace margelo::nitro::iap { enum class ExternalLinkLaunchModeAndroid; }
|
|
130
|
+
// Forward declaration of `ExternalLinkTypeAndroid` to properly resolve imports.
|
|
131
|
+
namespace margelo::nitro::iap { enum class ExternalLinkTypeAndroid; }
|
|
116
132
|
|
|
117
133
|
#include <NitroModules/Promise.hpp>
|
|
118
134
|
#include <NitroModules/JPromise.hpp>
|
|
@@ -182,6 +198,12 @@ namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
|
182
198
|
#include "JNitroVerifyPurchaseWithProviderError.hpp"
|
|
183
199
|
#include "PurchaseVerificationProvider.hpp"
|
|
184
200
|
#include "JPurchaseVerificationProvider.hpp"
|
|
201
|
+
#include "NitroBillingProgramAvailabilityResultAndroid.hpp"
|
|
202
|
+
#include "JNitroBillingProgramAvailabilityResultAndroid.hpp"
|
|
203
|
+
#include "BillingProgramAndroid.hpp"
|
|
204
|
+
#include "JBillingProgramAndroid.hpp"
|
|
205
|
+
#include "NitroBillingProgramReportingDetailsAndroid.hpp"
|
|
206
|
+
#include "JNitroBillingProgramReportingDetailsAndroid.hpp"
|
|
185
207
|
#include "ExternalPurchaseNoticeResultIOS.hpp"
|
|
186
208
|
#include "JExternalPurchaseNoticeResultIOS.hpp"
|
|
187
209
|
#include "ExternalPurchaseNoticeAction.hpp"
|
|
@@ -221,8 +243,12 @@ namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
|
221
243
|
#include "JFunc_void_NitroProduct.hpp"
|
|
222
244
|
#include "NitroReceiptValidationParams.hpp"
|
|
223
245
|
#include "JNitroReceiptValidationParams.hpp"
|
|
224
|
-
#include "
|
|
225
|
-
#include "
|
|
246
|
+
#include "NitroReceiptValidationAppleOptions.hpp"
|
|
247
|
+
#include "JNitroReceiptValidationAppleOptions.hpp"
|
|
248
|
+
#include "NitroReceiptValidationGoogleOptions.hpp"
|
|
249
|
+
#include "JNitroReceiptValidationGoogleOptions.hpp"
|
|
250
|
+
#include "NitroReceiptValidationHorizonOptions.hpp"
|
|
251
|
+
#include "JNitroReceiptValidationHorizonOptions.hpp"
|
|
226
252
|
#include "NitroVerifyPurchaseWithProviderProps.hpp"
|
|
227
253
|
#include "JNitroVerifyPurchaseWithProviderProps.hpp"
|
|
228
254
|
#include "NitroVerifyPurchaseWithIapkitProps.hpp"
|
|
@@ -236,6 +262,12 @@ namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
|
236
262
|
#include "UserChoiceBillingDetails.hpp"
|
|
237
263
|
#include "JFunc_void_UserChoiceBillingDetails.hpp"
|
|
238
264
|
#include "JUserChoiceBillingDetails.hpp"
|
|
265
|
+
#include "NitroLaunchExternalLinkParamsAndroid.hpp"
|
|
266
|
+
#include "JNitroLaunchExternalLinkParamsAndroid.hpp"
|
|
267
|
+
#include "ExternalLinkLaunchModeAndroid.hpp"
|
|
268
|
+
#include "JExternalLinkLaunchModeAndroid.hpp"
|
|
269
|
+
#include "ExternalLinkTypeAndroid.hpp"
|
|
270
|
+
#include "JExternalLinkTypeAndroid.hpp"
|
|
239
271
|
|
|
240
272
|
namespace margelo::nitro::iap {
|
|
241
273
|
|
|
@@ -946,6 +978,58 @@ namespace margelo::nitro::iap {
|
|
|
946
978
|
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JFunc_void_UserChoiceBillingDetails::javaobject> /* listener */)>("removeUserChoiceBillingListenerAndroid_cxx");
|
|
947
979
|
method(_javaPart, JFunc_void_UserChoiceBillingDetails_cxx::fromCpp(listener));
|
|
948
980
|
}
|
|
981
|
+
void JHybridRnIapSpec::enableBillingProgramAndroid(BillingProgramAndroid program) {
|
|
982
|
+
static const auto method = javaClassStatic()->getMethod<void(jni::alias_ref<JBillingProgramAndroid> /* program */)>("enableBillingProgramAndroid");
|
|
983
|
+
method(_javaPart, JBillingProgramAndroid::fromCpp(program));
|
|
984
|
+
}
|
|
985
|
+
std::shared_ptr<Promise<NitroBillingProgramAvailabilityResultAndroid>> JHybridRnIapSpec::isBillingProgramAvailableAndroid(BillingProgramAndroid program) {
|
|
986
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBillingProgramAndroid> /* program */)>("isBillingProgramAvailableAndroid");
|
|
987
|
+
auto __result = method(_javaPart, JBillingProgramAndroid::fromCpp(program));
|
|
988
|
+
return [&]() {
|
|
989
|
+
auto __promise = Promise<NitroBillingProgramAvailabilityResultAndroid>::create();
|
|
990
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
991
|
+
auto __result = jni::static_ref_cast<JNitroBillingProgramAvailabilityResultAndroid>(__boxedResult);
|
|
992
|
+
__promise->resolve(__result->toCpp());
|
|
993
|
+
});
|
|
994
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
995
|
+
jni::JniException __jniError(__throwable);
|
|
996
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
997
|
+
});
|
|
998
|
+
return __promise;
|
|
999
|
+
}();
|
|
1000
|
+
}
|
|
1001
|
+
std::shared_ptr<Promise<NitroBillingProgramReportingDetailsAndroid>> JHybridRnIapSpec::createBillingProgramReportingDetailsAndroid(BillingProgramAndroid program) {
|
|
1002
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBillingProgramAndroid> /* program */)>("createBillingProgramReportingDetailsAndroid");
|
|
1003
|
+
auto __result = method(_javaPart, JBillingProgramAndroid::fromCpp(program));
|
|
1004
|
+
return [&]() {
|
|
1005
|
+
auto __promise = Promise<NitroBillingProgramReportingDetailsAndroid>::create();
|
|
1006
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
1007
|
+
auto __result = jni::static_ref_cast<JNitroBillingProgramReportingDetailsAndroid>(__boxedResult);
|
|
1008
|
+
__promise->resolve(__result->toCpp());
|
|
1009
|
+
});
|
|
1010
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
1011
|
+
jni::JniException __jniError(__throwable);
|
|
1012
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
1013
|
+
});
|
|
1014
|
+
return __promise;
|
|
1015
|
+
}();
|
|
1016
|
+
}
|
|
1017
|
+
std::shared_ptr<Promise<bool>> JHybridRnIapSpec::launchExternalLinkAndroid(const NitroLaunchExternalLinkParamsAndroid& params) {
|
|
1018
|
+
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroLaunchExternalLinkParamsAndroid> /* params */)>("launchExternalLinkAndroid");
|
|
1019
|
+
auto __result = method(_javaPart, JNitroLaunchExternalLinkParamsAndroid::fromCpp(params));
|
|
1020
|
+
return [&]() {
|
|
1021
|
+
auto __promise = Promise<bool>::create();
|
|
1022
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
1023
|
+
auto __result = jni::static_ref_cast<jni::JBoolean>(__boxedResult);
|
|
1024
|
+
__promise->resolve(static_cast<bool>(__result->value()));
|
|
1025
|
+
});
|
|
1026
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
1027
|
+
jni::JniException __jniError(__throwable);
|
|
1028
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
1029
|
+
});
|
|
1030
|
+
return __promise;
|
|
1031
|
+
}();
|
|
1032
|
+
}
|
|
949
1033
|
std::shared_ptr<Promise<bool>> JHybridRnIapSpec::canPresentExternalPurchaseNoticeIOS() {
|
|
950
1034
|
static const auto method = javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>()>("canPresentExternalPurchaseNoticeIOS");
|
|
951
1035
|
auto __result = method(_javaPart);
|
|
@@ -97,6 +97,10 @@ namespace margelo::nitro::iap {
|
|
|
97
97
|
std::shared_ptr<Promise<std::optional<std::string>>> createAlternativeBillingTokenAndroid(const std::optional<std::string>& sku) override;
|
|
98
98
|
void addUserChoiceBillingListenerAndroid(const std::function<void(const UserChoiceBillingDetails& /* details */)>& listener) override;
|
|
99
99
|
void removeUserChoiceBillingListenerAndroid(const std::function<void(const UserChoiceBillingDetails& /* details */)>& listener) override;
|
|
100
|
+
void enableBillingProgramAndroid(BillingProgramAndroid program) override;
|
|
101
|
+
std::shared_ptr<Promise<NitroBillingProgramAvailabilityResultAndroid>> isBillingProgramAvailableAndroid(BillingProgramAndroid program) override;
|
|
102
|
+
std::shared_ptr<Promise<NitroBillingProgramReportingDetailsAndroid>> createBillingProgramReportingDetailsAndroid(BillingProgramAndroid program) override;
|
|
103
|
+
std::shared_ptr<Promise<bool>> launchExternalLinkAndroid(const NitroLaunchExternalLinkParamsAndroid& params) override;
|
|
100
104
|
std::shared_ptr<Promise<bool>> canPresentExternalPurchaseNoticeIOS() override;
|
|
101
105
|
std::shared_ptr<Promise<ExternalPurchaseNoticeResultIOS>> presentExternalPurchaseNoticeSheetIOS() override;
|
|
102
106
|
std::shared_ptr<Promise<ExternalPurchaseLinkResultIOS>> presentExternalPurchaseLinkIOS(const std::string& url) override;
|
|
@@ -0,0 +1,62 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroBillingProgramAvailabilityResultAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroBillingProgramAvailabilityResultAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
#include "BillingProgramAndroid.hpp"
|
|
14
|
+
#include "JBillingProgramAndroid.hpp"
|
|
15
|
+
|
|
16
|
+
namespace margelo::nitro::iap {
|
|
17
|
+
|
|
18
|
+
using namespace facebook;
|
|
19
|
+
|
|
20
|
+
/**
|
|
21
|
+
* The C++ JNI bridge between the C++ struct "NitroBillingProgramAvailabilityResultAndroid" and the the Kotlin data class "NitroBillingProgramAvailabilityResultAndroid".
|
|
22
|
+
*/
|
|
23
|
+
struct JNitroBillingProgramAvailabilityResultAndroid final: public jni::JavaClass<JNitroBillingProgramAvailabilityResultAndroid> {
|
|
24
|
+
public:
|
|
25
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid;";
|
|
26
|
+
|
|
27
|
+
public:
|
|
28
|
+
/**
|
|
29
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroBillingProgramAvailabilityResultAndroid by copying all values to C++.
|
|
30
|
+
*/
|
|
31
|
+
[[maybe_unused]]
|
|
32
|
+
[[nodiscard]]
|
|
33
|
+
NitroBillingProgramAvailabilityResultAndroid toCpp() const {
|
|
34
|
+
static const auto clazz = javaClassStatic();
|
|
35
|
+
static const auto fieldBillingProgram = clazz->getField<JBillingProgramAndroid>("billingProgram");
|
|
36
|
+
jni::local_ref<JBillingProgramAndroid> billingProgram = this->getFieldValue(fieldBillingProgram);
|
|
37
|
+
static const auto fieldIsAvailable = clazz->getField<jboolean>("isAvailable");
|
|
38
|
+
jboolean isAvailable = this->getFieldValue(fieldIsAvailable);
|
|
39
|
+
return NitroBillingProgramAvailabilityResultAndroid(
|
|
40
|
+
billingProgram->toCpp(),
|
|
41
|
+
static_cast<bool>(isAvailable)
|
|
42
|
+
);
|
|
43
|
+
}
|
|
44
|
+
|
|
45
|
+
public:
|
|
46
|
+
/**
|
|
47
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
48
|
+
*/
|
|
49
|
+
[[maybe_unused]]
|
|
50
|
+
static jni::local_ref<JNitroBillingProgramAvailabilityResultAndroid::javaobject> fromCpp(const NitroBillingProgramAvailabilityResultAndroid& value) {
|
|
51
|
+
using JSignature = JNitroBillingProgramAvailabilityResultAndroid(jni::alias_ref<JBillingProgramAndroid>, jboolean);
|
|
52
|
+
static const auto clazz = javaClassStatic();
|
|
53
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
54
|
+
return create(
|
|
55
|
+
clazz,
|
|
56
|
+
JBillingProgramAndroid::fromCpp(value.billingProgram),
|
|
57
|
+
value.isAvailable
|
|
58
|
+
);
|
|
59
|
+
}
|
|
60
|
+
};
|
|
61
|
+
|
|
62
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,63 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroBillingProgramReportingDetailsAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroBillingProgramReportingDetailsAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
#include "BillingProgramAndroid.hpp"
|
|
14
|
+
#include "JBillingProgramAndroid.hpp"
|
|
15
|
+
#include <string>
|
|
16
|
+
|
|
17
|
+
namespace margelo::nitro::iap {
|
|
18
|
+
|
|
19
|
+
using namespace facebook;
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* The C++ JNI bridge between the C++ struct "NitroBillingProgramReportingDetailsAndroid" and the the Kotlin data class "NitroBillingProgramReportingDetailsAndroid".
|
|
23
|
+
*/
|
|
24
|
+
struct JNitroBillingProgramReportingDetailsAndroid final: public jni::JavaClass<JNitroBillingProgramReportingDetailsAndroid> {
|
|
25
|
+
public:
|
|
26
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroBillingProgramReportingDetailsAndroid;";
|
|
27
|
+
|
|
28
|
+
public:
|
|
29
|
+
/**
|
|
30
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroBillingProgramReportingDetailsAndroid by copying all values to C++.
|
|
31
|
+
*/
|
|
32
|
+
[[maybe_unused]]
|
|
33
|
+
[[nodiscard]]
|
|
34
|
+
NitroBillingProgramReportingDetailsAndroid toCpp() const {
|
|
35
|
+
static const auto clazz = javaClassStatic();
|
|
36
|
+
static const auto fieldBillingProgram = clazz->getField<JBillingProgramAndroid>("billingProgram");
|
|
37
|
+
jni::local_ref<JBillingProgramAndroid> billingProgram = this->getFieldValue(fieldBillingProgram);
|
|
38
|
+
static const auto fieldExternalTransactionToken = clazz->getField<jni::JString>("externalTransactionToken");
|
|
39
|
+
jni::local_ref<jni::JString> externalTransactionToken = this->getFieldValue(fieldExternalTransactionToken);
|
|
40
|
+
return NitroBillingProgramReportingDetailsAndroid(
|
|
41
|
+
billingProgram->toCpp(),
|
|
42
|
+
externalTransactionToken->toStdString()
|
|
43
|
+
);
|
|
44
|
+
}
|
|
45
|
+
|
|
46
|
+
public:
|
|
47
|
+
/**
|
|
48
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
49
|
+
*/
|
|
50
|
+
[[maybe_unused]]
|
|
51
|
+
static jni::local_ref<JNitroBillingProgramReportingDetailsAndroid::javaobject> fromCpp(const NitroBillingProgramReportingDetailsAndroid& value) {
|
|
52
|
+
using JSignature = JNitroBillingProgramReportingDetailsAndroid(jni::alias_ref<JBillingProgramAndroid>, jni::alias_ref<jni::JString>);
|
|
53
|
+
static const auto clazz = javaClassStatic();
|
|
54
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
55
|
+
return create(
|
|
56
|
+
clazz,
|
|
57
|
+
JBillingProgramAndroid::fromCpp(value.billingProgram),
|
|
58
|
+
jni::make_jstring(value.externalTransactionToken)
|
|
59
|
+
);
|
|
60
|
+
}
|
|
61
|
+
};
|
|
62
|
+
|
|
63
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroLaunchExternalLinkParamsAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroLaunchExternalLinkParamsAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
#include "BillingProgramAndroid.hpp"
|
|
14
|
+
#include "ExternalLinkLaunchModeAndroid.hpp"
|
|
15
|
+
#include "ExternalLinkTypeAndroid.hpp"
|
|
16
|
+
#include "JBillingProgramAndroid.hpp"
|
|
17
|
+
#include "JExternalLinkLaunchModeAndroid.hpp"
|
|
18
|
+
#include "JExternalLinkTypeAndroid.hpp"
|
|
19
|
+
#include <string>
|
|
20
|
+
|
|
21
|
+
namespace margelo::nitro::iap {
|
|
22
|
+
|
|
23
|
+
using namespace facebook;
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* The C++ JNI bridge between the C++ struct "NitroLaunchExternalLinkParamsAndroid" and the the Kotlin data class "NitroLaunchExternalLinkParamsAndroid".
|
|
27
|
+
*/
|
|
28
|
+
struct JNitroLaunchExternalLinkParamsAndroid final: public jni::JavaClass<JNitroLaunchExternalLinkParamsAndroid> {
|
|
29
|
+
public:
|
|
30
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid;";
|
|
31
|
+
|
|
32
|
+
public:
|
|
33
|
+
/**
|
|
34
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroLaunchExternalLinkParamsAndroid by copying all values to C++.
|
|
35
|
+
*/
|
|
36
|
+
[[maybe_unused]]
|
|
37
|
+
[[nodiscard]]
|
|
38
|
+
NitroLaunchExternalLinkParamsAndroid toCpp() const {
|
|
39
|
+
static const auto clazz = javaClassStatic();
|
|
40
|
+
static const auto fieldBillingProgram = clazz->getField<JBillingProgramAndroid>("billingProgram");
|
|
41
|
+
jni::local_ref<JBillingProgramAndroid> billingProgram = this->getFieldValue(fieldBillingProgram);
|
|
42
|
+
static const auto fieldLaunchMode = clazz->getField<JExternalLinkLaunchModeAndroid>("launchMode");
|
|
43
|
+
jni::local_ref<JExternalLinkLaunchModeAndroid> launchMode = this->getFieldValue(fieldLaunchMode);
|
|
44
|
+
static const auto fieldLinkType = clazz->getField<JExternalLinkTypeAndroid>("linkType");
|
|
45
|
+
jni::local_ref<JExternalLinkTypeAndroid> linkType = this->getFieldValue(fieldLinkType);
|
|
46
|
+
static const auto fieldLinkUri = clazz->getField<jni::JString>("linkUri");
|
|
47
|
+
jni::local_ref<jni::JString> linkUri = this->getFieldValue(fieldLinkUri);
|
|
48
|
+
return NitroLaunchExternalLinkParamsAndroid(
|
|
49
|
+
billingProgram->toCpp(),
|
|
50
|
+
launchMode->toCpp(),
|
|
51
|
+
linkType->toCpp(),
|
|
52
|
+
linkUri->toStdString()
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
public:
|
|
57
|
+
/**
|
|
58
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
59
|
+
*/
|
|
60
|
+
[[maybe_unused]]
|
|
61
|
+
static jni::local_ref<JNitroLaunchExternalLinkParamsAndroid::javaobject> fromCpp(const NitroLaunchExternalLinkParamsAndroid& value) {
|
|
62
|
+
using JSignature = JNitroLaunchExternalLinkParamsAndroid(jni::alias_ref<JBillingProgramAndroid>, jni::alias_ref<JExternalLinkLaunchModeAndroid>, jni::alias_ref<JExternalLinkTypeAndroid>, jni::alias_ref<jni::JString>);
|
|
63
|
+
static const auto clazz = javaClassStatic();
|
|
64
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
65
|
+
return create(
|
|
66
|
+
clazz,
|
|
67
|
+
JBillingProgramAndroid::fromCpp(value.billingProgram),
|
|
68
|
+
JExternalLinkLaunchModeAndroid::fromCpp(value.launchMode),
|
|
69
|
+
JExternalLinkTypeAndroid::fromCpp(value.linkType),
|
|
70
|
+
jni::make_jstring(value.linkUri)
|
|
71
|
+
);
|
|
72
|
+
}
|
|
73
|
+
};
|
|
74
|
+
|
|
75
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroReceiptValidationAppleOptions.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © 2025 Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroReceiptValidationAppleOptions.hpp"
|
|
12
|
+
|
|
13
|
+
#include <string>
|
|
14
|
+
|
|
15
|
+
namespace margelo::nitro::iap {
|
|
16
|
+
|
|
17
|
+
using namespace facebook;
|
|
18
|
+
|
|
19
|
+
/**
|
|
20
|
+
* The C++ JNI bridge between the C++ struct "NitroReceiptValidationAppleOptions" and the the Kotlin data class "NitroReceiptValidationAppleOptions".
|
|
21
|
+
*/
|
|
22
|
+
struct JNitroReceiptValidationAppleOptions final: public jni::JavaClass<JNitroReceiptValidationAppleOptions> {
|
|
23
|
+
public:
|
|
24
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroReceiptValidationAppleOptions;";
|
|
25
|
+
|
|
26
|
+
public:
|
|
27
|
+
/**
|
|
28
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroReceiptValidationAppleOptions by copying all values to C++.
|
|
29
|
+
*/
|
|
30
|
+
[[maybe_unused]]
|
|
31
|
+
[[nodiscard]]
|
|
32
|
+
NitroReceiptValidationAppleOptions toCpp() const {
|
|
33
|
+
static const auto clazz = javaClassStatic();
|
|
34
|
+
static const auto fieldSku = clazz->getField<jni::JString>("sku");
|
|
35
|
+
jni::local_ref<jni::JString> sku = this->getFieldValue(fieldSku);
|
|
36
|
+
return NitroReceiptValidationAppleOptions(
|
|
37
|
+
sku->toStdString()
|
|
38
|
+
);
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
public:
|
|
42
|
+
/**
|
|
43
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
44
|
+
*/
|
|
45
|
+
[[maybe_unused]]
|
|
46
|
+
static jni::local_ref<JNitroReceiptValidationAppleOptions::javaobject> fromCpp(const NitroReceiptValidationAppleOptions& value) {
|
|
47
|
+
using JSignature = JNitroReceiptValidationAppleOptions(jni::alias_ref<jni::JString>);
|
|
48
|
+
static const auto clazz = javaClassStatic();
|
|
49
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
50
|
+
return create(
|
|
51
|
+
clazz,
|
|
52
|
+
jni::make_jstring(value.sku)
|
|
53
|
+
);
|
|
54
|
+
}
|
|
55
|
+
};
|
|
56
|
+
|
|
57
|
+
} // namespace margelo::nitro::iap
|