react-native-iap 15.4.0-rc.2 → 15.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/README.md +23 -25
- package/android/src/main/java/com/margelo/nitro/iap/HybridRnIap.kt +250 -168
- package/android/src/main/java/com/margelo/nitro/iap/ProductSerialization.kt +98 -0
- package/ios/HybridRnIap.swift +19 -1
- package/ios/RnIapHelper.swift +30 -2
- package/lib/module/hooks/useIAP.js +19 -3
- package/lib/module/hooks/useIAP.js.map +1 -1
- package/lib/module/index.js +104 -18
- package/lib/module/index.js.map +1 -1
- package/lib/module/index.kepler.js +3 -0
- package/lib/module/index.kepler.js.map +1 -1
- package/lib/module/types.js +67 -6
- package/lib/module/types.js.map +1 -1
- package/lib/module/utils/type-bridge.js +22 -3
- package/lib/module/utils/type-bridge.js.map +1 -1
- package/lib/module/vega-adapter.js +24 -2
- package/lib/module/vega-adapter.js.map +1 -1
- package/lib/typescript/src/hooks/useIAP.d.ts +25 -2
- package/lib/typescript/src/hooks/useIAP.d.ts.map +1 -1
- package/lib/typescript/src/index.d.ts +50 -10
- package/lib/typescript/src/index.d.ts.map +1 -1
- package/lib/typescript/src/index.kepler.d.ts +3 -0
- package/lib/typescript/src/index.kepler.d.ts.map +1 -1
- package/lib/typescript/src/specs/RnIap.nitro.d.ts +79 -9
- package/lib/typescript/src/specs/RnIap.nitro.d.ts.map +1 -1
- package/lib/typescript/src/types.d.ts +223 -35
- package/lib/typescript/src/types.d.ts.map +1 -1
- package/lib/typescript/src/utils/type-bridge.d.ts.map +1 -1
- package/lib/typescript/src/vega-adapter.d.ts.map +1 -1
- package/nitrogen/generated/android/NitroIap+autolinking.cmake +3 -0
- package/nitrogen/generated/android/c++/JBillingChoiceImageLayoutAndroid.hpp +61 -0
- package/nitrogen/generated/android/c++/JBillingChoiceScreenTypeAndroid.hpp +61 -0
- package/nitrogen/generated/android/c++/JBillingProgramAndroid.hpp +3 -0
- package/nitrogen/generated/android/c++/JDeveloperBillingLaunchModeAndroid.hpp +61 -0
- package/nitrogen/generated/android/c++/JDeveloperBillingOptionParamsAndroid.hpp +78 -0
- package/nitrogen/generated/android/c++/JDeveloperBillingTypeAndroid.hpp +61 -0
- package/nitrogen/generated/android/c++/JDeveloperProvidedBillingDetailsAndroid.hpp +45 -5
- package/nitrogen/generated/android/c++/JDeveloperProvidedBillingProductAndroid.hpp +72 -0
- package/nitrogen/generated/android/c++/JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp +10 -0
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.cpp +118 -3
- package/nitrogen/generated/android/c++/JHybridRnIapSpec.hpp +4 -1
- package/nitrogen/generated/android/c++/JInAppMessageCategoryAndroid.hpp +58 -0
- package/nitrogen/generated/android/c++/JInAppMessageResponseCodeAndroid.hpp +58 -0
- package/nitrogen/generated/android/c++/JInitConnectionConfig.hpp +7 -1
- package/nitrogen/generated/android/c++/JNitroBillingChoiceInfoAndroid.hpp +66 -0
- package/nitrogen/generated/android/c++/JNitroBillingProgramAvailabilityResultAndroid.hpp +18 -3
- package/nitrogen/generated/android/c++/JNitroBillingProgramInformationDialogParamsAndroid.hpp +63 -0
- package/nitrogen/generated/android/c++/JNitroBillingResultAndroid.hpp +72 -0
- package/nitrogen/generated/android/c++/JNitroGetBillingChoiceInfoParamsAndroid.hpp +74 -0
- package/nitrogen/generated/android/c++/JNitroInAppMessageParamsAndroid.hpp +64 -0
- package/nitrogen/generated/android/c++/JNitroInAppMessageResultAndroid.hpp +68 -0
- package/nitrogen/generated/android/c++/JNitroLaunchExternalLinkParamsAndroid.hpp +10 -1
- package/nitrogen/generated/android/c++/JNitroOneTimePurchaseOfferDetail.hpp +5 -1
- package/nitrogen/generated/android/c++/JNitroProduct.hpp +13 -1
- package/nitrogen/generated/android/c++/JNitroPurchaseRequest.hpp +7 -0
- package/nitrogen/generated/android/c++/JNitroRequestPurchaseAndroid.hpp +16 -1
- package/nitrogen/generated/android/c++/JProductType.hpp +58 -0
- package/nitrogen/generated/android/c++/JSubResponseCodeAndroid.hpp +61 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.cpp +35 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_Array_InAppMessageCategoryAndroid_.hpp +81 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp +78 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_InitConnectionConfig.hpp +2 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.cpp +26 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroInAppMessageParamsAndroid.hpp +76 -0
- package/nitrogen/generated/android/c++/JVariant_NullType_NitroRequestPurchaseAndroid.hpp +7 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceImageLayoutAndroid.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingChoiceScreenTypeAndroid.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/BillingProgramAndroid.kt +2 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingLaunchModeAndroid.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingOptionParamsAndroid.kt +47 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperBillingTypeAndroid.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingDetailsAndroid.kt +13 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/DeveloperProvidedBillingProductAndroid.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/HybridRnIapSpec.kt +13 -1
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageCategoryAndroid.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InAppMessageResponseCodeAndroid.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/InitConnectionConfig.kt +5 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingChoiceInfoAndroid.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramAvailabilityResultAndroid.kt +10 -4
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingProgramInformationDialogParamsAndroid.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroBillingResultAndroid.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroGetBillingChoiceInfoParamsAndroid.kt +44 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageParamsAndroid.kt +38 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroInAppMessageResultAndroid.kt +41 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroLaunchExternalLinkParamsAndroid.kt +6 -3
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroOneTimePurchaseOfferDetail.kt +5 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroProduct.kt +11 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/NitroRequestPurchaseAndroid.kt +8 -2
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/ProductType.kt +23 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/SubResponseCodeAndroid.kt +24 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_Array_InAppMessageCategoryAndroid_.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_DeveloperBillingOptionParamsAndroid.kt +53 -0
- package/nitrogen/generated/android/kotlin/com/margelo/nitro/iap/Variant_NullType_NitroInAppMessageParamsAndroid.kt +53 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.cpp +24 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Bridge.hpp +382 -0
- package/nitrogen/generated/ios/NitroIap-Swift-Cxx-Umbrella.hpp +48 -0
- package/nitrogen/generated/ios/c++/HybridRnIapSpecSwift.hpp +74 -2
- package/nitrogen/generated/ios/swift/BillingChoiceImageLayoutAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/BillingChoiceScreenTypeAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/BillingProgramAndroid.swift +4 -0
- package/nitrogen/generated/ios/swift/DeveloperBillingLaunchModeAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/DeveloperBillingOptionParamsAndroid.swift +114 -0
- package/nitrogen/generated/ios/swift/DeveloperBillingTypeAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/DeveloperProvidedBillingDetailsAndroid.swift +121 -4
- package/nitrogen/generated/ios/swift/DeveloperProvidedBillingProductAndroid.swift +71 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroBillingChoiceInfoAndroid.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroBillingResultAndroid.swift +46 -0
- package/nitrogen/generated/ios/swift/Func_void_NitroInAppMessageResultAndroid.swift +46 -0
- package/nitrogen/generated/ios/swift/HybridRnIapSpec.swift +4 -1
- package/nitrogen/generated/ios/swift/HybridRnIapSpec_cxx.swift +78 -2
- package/nitrogen/generated/ios/swift/InAppMessageCategoryAndroid.swift +40 -0
- package/nitrogen/generated/ios/swift/InAppMessageResponseCodeAndroid.swift +40 -0
- package/nitrogen/generated/ios/swift/InitConnectionConfig.swift +12 -1
- package/nitrogen/generated/ios/swift/NitroBillingChoiceInfoAndroid.swift +66 -0
- package/nitrogen/generated/ios/swift/NitroBillingProgramAvailabilityResultAndroid.swift +50 -2
- package/nitrogen/generated/ios/swift/NitroBillingProgramInformationDialogParamsAndroid.swift +34 -0
- package/nitrogen/generated/ios/swift/NitroBillingResultAndroid.swift +77 -0
- package/nitrogen/generated/ios/swift/NitroGetBillingChoiceInfoParamsAndroid.swift +71 -0
- package/nitrogen/generated/ios/swift/NitroInAppMessageParamsAndroid.swift +67 -0
- package/nitrogen/generated/ios/swift/NitroInAppMessageResultAndroid.swift +66 -0
- package/nitrogen/generated/ios/swift/NitroLaunchExternalLinkParamsAndroid.swift +39 -2
- package/nitrogen/generated/ios/swift/NitroOneTimePurchaseOfferDetail.swift +39 -2
- package/nitrogen/generated/ios/swift/NitroProduct.swift +113 -2
- package/nitrogen/generated/ios/swift/NitroRequestPurchaseAndroid.swift +75 -1
- package/nitrogen/generated/ios/swift/ProductType.swift +40 -0
- package/nitrogen/generated/ios/swift/SubResponseCodeAndroid.swift +44 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_DeveloperBillingOptionParamsAndroid.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType_NitroInAppMessageParamsAndroid.swift +18 -0
- package/nitrogen/generated/ios/swift/Variant_NullType__InAppMessageCategoryAndroid_.swift +18 -0
- package/nitrogen/generated/shared/c++/BillingChoiceImageLayoutAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/BillingChoiceScreenTypeAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/BillingProgramAndroid.hpp +4 -0
- package/nitrogen/generated/shared/c++/DeveloperBillingLaunchModeAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/DeveloperBillingOptionParamsAndroid.hpp +103 -0
- package/nitrogen/generated/shared/c++/DeveloperBillingTypeAndroid.hpp +80 -0
- package/nitrogen/generated/shared/c++/DeveloperProvidedBillingDetailsAndroid.hpp +24 -6
- package/nitrogen/generated/shared/c++/DeveloperProvidedBillingProductAndroid.hpp +96 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.cpp +3 -0
- package/nitrogen/generated/shared/c++/HybridRnIapSpec.hpp +25 -1
- package/nitrogen/generated/shared/c++/InAppMessageCategoryAndroid.hpp +76 -0
- package/nitrogen/generated/shared/c++/InAppMessageResponseCodeAndroid.hpp +76 -0
- package/nitrogen/generated/shared/c++/InitConnectionConfig.hpp +8 -1
- package/nitrogen/generated/shared/c++/NitroBillingChoiceInfoAndroid.hpp +90 -0
- package/nitrogen/generated/shared/c++/NitroBillingProgramAvailabilityResultAndroid.hpp +16 -2
- package/nitrogen/generated/shared/c++/NitroBillingProgramInformationDialogParamsAndroid.hpp +89 -0
- package/nitrogen/generated/shared/c++/NitroBillingResultAndroid.hpp +96 -0
- package/nitrogen/generated/shared/c++/NitroGetBillingChoiceInfoParamsAndroid.hpp +99 -0
- package/nitrogen/generated/shared/c++/NitroInAppMessageParamsAndroid.hpp +88 -0
- package/nitrogen/generated/shared/c++/NitroInAppMessageResultAndroid.hpp +92 -0
- package/nitrogen/generated/shared/c++/NitroLaunchExternalLinkParamsAndroid.hpp +9 -2
- package/nitrogen/generated/shared/c++/NitroOneTimePurchaseOfferDetail.hpp +5 -1
- package/nitrogen/generated/shared/c++/NitroProduct.hpp +13 -1
- package/nitrogen/generated/shared/c++/NitroRequestPurchaseAndroid.hpp +12 -1
- package/nitrogen/generated/shared/c++/ProductType.hpp +76 -0
- package/nitrogen/generated/shared/c++/SubResponseCodeAndroid.hpp +80 -0
- package/openiap-versions.json +3 -3
- package/package.json +1 -1
- package/src/hooks/useIAP.ts +63 -0
- package/src/index.kepler.ts +9 -0
- package/src/index.ts +223 -95
- package/src/specs/RnIap.nitro.ts +116 -8
- package/src/types.ts +238 -35
- package/src/utils/type-bridge.ts +26 -2
- package/src/vega-adapter.ts +46 -11
|
@@ -10,7 +10,17 @@
|
|
|
10
10
|
#include <fbjni/fbjni.h>
|
|
11
11
|
#include "DeveloperProvidedBillingDetailsAndroid.hpp"
|
|
12
12
|
|
|
13
|
+
#include "DeveloperProvidedBillingProductAndroid.hpp"
|
|
14
|
+
#include "JDeveloperProvidedBillingProductAndroid.hpp"
|
|
15
|
+
#include "JProductType.hpp"
|
|
16
|
+
#include "JVariant_NullType_String.hpp"
|
|
17
|
+
#include "ProductType.hpp"
|
|
18
|
+
#include <NitroModules/JNull.hpp>
|
|
19
|
+
#include <NitroModules/Null.hpp>
|
|
20
|
+
#include <optional>
|
|
13
21
|
#include <string>
|
|
22
|
+
#include <variant>
|
|
23
|
+
#include <vector>
|
|
14
24
|
|
|
15
25
|
namespace margelo::nitro::iap {
|
|
16
26
|
|
|
@@ -31,10 +41,28 @@ namespace margelo::nitro::iap {
|
|
|
31
41
|
[[nodiscard]]
|
|
32
42
|
DeveloperProvidedBillingDetailsAndroid toCpp() const {
|
|
33
43
|
static const auto clazz = javaClassStatic();
|
|
34
|
-
static const auto fieldExternalTransactionToken = clazz->getField<
|
|
35
|
-
jni::local_ref<
|
|
44
|
+
static const auto fieldExternalTransactionToken = clazz->getField<JVariant_NullType_String>("externalTransactionToken");
|
|
45
|
+
jni::local_ref<JVariant_NullType_String> externalTransactionToken = this->getFieldValue(fieldExternalTransactionToken);
|
|
46
|
+
static const auto fieldLinkUri = clazz->getField<JVariant_NullType_String>("linkUri");
|
|
47
|
+
jni::local_ref<JVariant_NullType_String> linkUri = this->getFieldValue(fieldLinkUri);
|
|
48
|
+
static const auto fieldOriginalExternalTransactionId = clazz->getField<JVariant_NullType_String>("originalExternalTransactionId");
|
|
49
|
+
jni::local_ref<JVariant_NullType_String> originalExternalTransactionId = this->getFieldValue(fieldOriginalExternalTransactionId);
|
|
50
|
+
static const auto fieldProducts = clazz->getField<jni::JArrayClass<JDeveloperProvidedBillingProductAndroid>>("products");
|
|
51
|
+
jni::local_ref<jni::JArrayClass<JDeveloperProvidedBillingProductAndroid>> products = this->getFieldValue(fieldProducts);
|
|
36
52
|
return DeveloperProvidedBillingDetailsAndroid(
|
|
37
|
-
externalTransactionToken->
|
|
53
|
+
externalTransactionToken != nullptr ? std::make_optional(externalTransactionToken->toCpp()) : std::nullopt,
|
|
54
|
+
linkUri != nullptr ? std::make_optional(linkUri->toCpp()) : std::nullopt,
|
|
55
|
+
originalExternalTransactionId != nullptr ? std::make_optional(originalExternalTransactionId->toCpp()) : std::nullopt,
|
|
56
|
+
[&]() {
|
|
57
|
+
size_t __size = products->size();
|
|
58
|
+
std::vector<DeveloperProvidedBillingProductAndroid> __vector;
|
|
59
|
+
__vector.reserve(__size);
|
|
60
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
61
|
+
auto __element = products->getElement(__i);
|
|
62
|
+
__vector.push_back(__element->toCpp());
|
|
63
|
+
}
|
|
64
|
+
return __vector;
|
|
65
|
+
}()
|
|
38
66
|
);
|
|
39
67
|
}
|
|
40
68
|
|
|
@@ -44,12 +72,24 @@ namespace margelo::nitro::iap {
|
|
|
44
72
|
*/
|
|
45
73
|
[[maybe_unused]]
|
|
46
74
|
static jni::local_ref<JDeveloperProvidedBillingDetailsAndroid::javaobject> fromCpp(const DeveloperProvidedBillingDetailsAndroid& value) {
|
|
47
|
-
using JSignature = JDeveloperProvidedBillingDetailsAndroid(jni::alias_ref<jni::
|
|
75
|
+
using JSignature = JDeveloperProvidedBillingDetailsAndroid(jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<jni::JArrayClass<JDeveloperProvidedBillingProductAndroid>>);
|
|
48
76
|
static const auto clazz = javaClassStatic();
|
|
49
77
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
50
78
|
return create(
|
|
51
79
|
clazz,
|
|
52
|
-
|
|
80
|
+
value.externalTransactionToken.has_value() ? JVariant_NullType_String::fromCpp(value.externalTransactionToken.value()) : nullptr,
|
|
81
|
+
value.linkUri.has_value() ? JVariant_NullType_String::fromCpp(value.linkUri.value()) : nullptr,
|
|
82
|
+
value.originalExternalTransactionId.has_value() ? JVariant_NullType_String::fromCpp(value.originalExternalTransactionId.value()) : nullptr,
|
|
83
|
+
[&]() {
|
|
84
|
+
size_t __size = value.products.size();
|
|
85
|
+
jni::local_ref<jni::JArrayClass<JDeveloperProvidedBillingProductAndroid>> __array = jni::JArrayClass<JDeveloperProvidedBillingProductAndroid>::newArray(__size);
|
|
86
|
+
for (size_t __i = 0; __i < __size; __i++) {
|
|
87
|
+
const auto& __element = value.products[__i];
|
|
88
|
+
auto __elementJni = JDeveloperProvidedBillingProductAndroid::fromCpp(__element);
|
|
89
|
+
__array->setElement(__i, *__elementJni);
|
|
90
|
+
}
|
|
91
|
+
return __array;
|
|
92
|
+
}()
|
|
53
93
|
);
|
|
54
94
|
}
|
|
55
95
|
};
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JDeveloperProvidedBillingProductAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "DeveloperProvidedBillingProductAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JProductType.hpp"
|
|
14
|
+
#include "JVariant_NullType_String.hpp"
|
|
15
|
+
#include "ProductType.hpp"
|
|
16
|
+
#include <NitroModules/JNull.hpp>
|
|
17
|
+
#include <NitroModules/Null.hpp>
|
|
18
|
+
#include <optional>
|
|
19
|
+
#include <string>
|
|
20
|
+
#include <variant>
|
|
21
|
+
|
|
22
|
+
namespace margelo::nitro::iap {
|
|
23
|
+
|
|
24
|
+
using namespace facebook;
|
|
25
|
+
|
|
26
|
+
/**
|
|
27
|
+
* The C++ JNI bridge between the C++ struct "DeveloperProvidedBillingProductAndroid" and the the Kotlin data class "DeveloperProvidedBillingProductAndroid".
|
|
28
|
+
*/
|
|
29
|
+
struct JDeveloperProvidedBillingProductAndroid final: public jni::JavaClass<JDeveloperProvidedBillingProductAndroid> {
|
|
30
|
+
public:
|
|
31
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/DeveloperProvidedBillingProductAndroid;";
|
|
32
|
+
|
|
33
|
+
public:
|
|
34
|
+
/**
|
|
35
|
+
* Convert this Java/Kotlin-based struct to the C++ struct DeveloperProvidedBillingProductAndroid by copying all values to C++.
|
|
36
|
+
*/
|
|
37
|
+
[[maybe_unused]]
|
|
38
|
+
[[nodiscard]]
|
|
39
|
+
DeveloperProvidedBillingProductAndroid toCpp() const {
|
|
40
|
+
static const auto clazz = javaClassStatic();
|
|
41
|
+
static const auto fieldId = clazz->getField<jni::JString>("id");
|
|
42
|
+
jni::local_ref<jni::JString> id = this->getFieldValue(fieldId);
|
|
43
|
+
static const auto fieldOfferToken = clazz->getField<JVariant_NullType_String>("offerToken");
|
|
44
|
+
jni::local_ref<JVariant_NullType_String> offerToken = this->getFieldValue(fieldOfferToken);
|
|
45
|
+
static const auto fieldType = clazz->getField<JProductType>("type");
|
|
46
|
+
jni::local_ref<JProductType> type = this->getFieldValue(fieldType);
|
|
47
|
+
return DeveloperProvidedBillingProductAndroid(
|
|
48
|
+
id->toStdString(),
|
|
49
|
+
offerToken != nullptr ? std::make_optional(offerToken->toCpp()) : std::nullopt,
|
|
50
|
+
type->toCpp()
|
|
51
|
+
);
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
public:
|
|
55
|
+
/**
|
|
56
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
57
|
+
*/
|
|
58
|
+
[[maybe_unused]]
|
|
59
|
+
static jni::local_ref<JDeveloperProvidedBillingProductAndroid::javaobject> fromCpp(const DeveloperProvidedBillingProductAndroid& value) {
|
|
60
|
+
using JSignature = JDeveloperProvidedBillingProductAndroid(jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>, jni::alias_ref<JProductType>);
|
|
61
|
+
static const auto clazz = javaClassStatic();
|
|
62
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
63
|
+
return create(
|
|
64
|
+
clazz,
|
|
65
|
+
jni::make_jstring(value.id),
|
|
66
|
+
value.offerToken.has_value() ? JVariant_NullType_String::fromCpp(value.offerToken.value()) : nullptr,
|
|
67
|
+
JProductType::fromCpp(value.type)
|
|
68
|
+
);
|
|
69
|
+
}
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
} // namespace margelo::nitro::iap
|
package/nitrogen/generated/android/c++/JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp
CHANGED
|
@@ -14,7 +14,17 @@
|
|
|
14
14
|
#include <functional>
|
|
15
15
|
#include <NitroModules/JNICallable.hpp>
|
|
16
16
|
#include "JDeveloperProvidedBillingDetailsAndroid.hpp"
|
|
17
|
+
#include <NitroModules/Null.hpp>
|
|
17
18
|
#include <string>
|
|
19
|
+
#include <variant>
|
|
20
|
+
#include <optional>
|
|
21
|
+
#include "JVariant_NullType_String.hpp"
|
|
22
|
+
#include <NitroModules/JNull.hpp>
|
|
23
|
+
#include "DeveloperProvidedBillingProductAndroid.hpp"
|
|
24
|
+
#include <vector>
|
|
25
|
+
#include "JDeveloperProvidedBillingProductAndroid.hpp"
|
|
26
|
+
#include "ProductType.hpp"
|
|
27
|
+
#include "JProductType.hpp"
|
|
18
28
|
|
|
19
29
|
namespace margelo::nitro::iap {
|
|
20
30
|
|
|
@@ -85,8 +85,20 @@ namespace margelo::nitro::iap { enum class PurchaseVerificationProvider; }
|
|
|
85
85
|
namespace margelo::nitro::iap { struct NitroBillingProgramAvailabilityResultAndroid; }
|
|
86
86
|
// Forward declaration of `BillingProgramAndroid` to properly resolve imports.
|
|
87
87
|
namespace margelo::nitro::iap { enum class BillingProgramAndroid; }
|
|
88
|
+
// Forward declaration of `BillingChoiceScreenTypeAndroid` to properly resolve imports.
|
|
89
|
+
namespace margelo::nitro::iap { enum class BillingChoiceScreenTypeAndroid; }
|
|
90
|
+
// Forward declaration of `NitroBillingChoiceInfoAndroid` to properly resolve imports.
|
|
91
|
+
namespace margelo::nitro::iap { struct NitroBillingChoiceInfoAndroid; }
|
|
88
92
|
// Forward declaration of `NitroBillingProgramReportingDetailsAndroid` to properly resolve imports.
|
|
89
93
|
namespace margelo::nitro::iap { struct NitroBillingProgramReportingDetailsAndroid; }
|
|
94
|
+
// Forward declaration of `NitroBillingResultAndroid` to properly resolve imports.
|
|
95
|
+
namespace margelo::nitro::iap { struct NitroBillingResultAndroid; }
|
|
96
|
+
// Forward declaration of `SubResponseCodeAndroid` to properly resolve imports.
|
|
97
|
+
namespace margelo::nitro::iap { enum class SubResponseCodeAndroid; }
|
|
98
|
+
// Forward declaration of `NitroInAppMessageResultAndroid` to properly resolve imports.
|
|
99
|
+
namespace margelo::nitro::iap { struct NitroInAppMessageResultAndroid; }
|
|
100
|
+
// Forward declaration of `InAppMessageResponseCodeAndroid` to properly resolve imports.
|
|
101
|
+
namespace margelo::nitro::iap { enum class InAppMessageResponseCodeAndroid; }
|
|
90
102
|
// Forward declaration of `ExternalPurchaseNoticeResultIOS` to properly resolve imports.
|
|
91
103
|
namespace margelo::nitro::iap { struct ExternalPurchaseNoticeResultIOS; }
|
|
92
104
|
// Forward declaration of `ExternalPurchaseNoticeAction` to properly resolve imports.
|
|
@@ -113,6 +125,10 @@ namespace margelo::nitro::iap { struct WinBackOfferInputIOS; }
|
|
|
113
125
|
namespace margelo::nitro::iap { struct NitroRequestPurchaseAndroid; }
|
|
114
126
|
// Forward declaration of `AndroidSubscriptionOfferInput` to properly resolve imports.
|
|
115
127
|
namespace margelo::nitro::iap { struct AndroidSubscriptionOfferInput; }
|
|
128
|
+
// Forward declaration of `DeveloperBillingOptionParamsAndroid` to properly resolve imports.
|
|
129
|
+
namespace margelo::nitro::iap { struct DeveloperBillingOptionParamsAndroid; }
|
|
130
|
+
// Forward declaration of `DeveloperBillingLaunchModeAndroid` to properly resolve imports.
|
|
131
|
+
namespace margelo::nitro::iap { enum class DeveloperBillingLaunchModeAndroid; }
|
|
116
132
|
// Forward declaration of `SubscriptionProductReplacementParamsAndroid` to properly resolve imports.
|
|
117
133
|
namespace margelo::nitro::iap { struct SubscriptionProductReplacementParamsAndroid; }
|
|
118
134
|
// Forward declaration of `SubscriptionReplacementModeAndroid` to properly resolve imports.
|
|
@@ -157,6 +173,22 @@ namespace margelo::nitro::iap { struct NitroDeepLinkOptionsAndroid; }
|
|
|
157
173
|
namespace margelo::nitro::iap { struct UserChoiceBillingDetails; }
|
|
158
174
|
// Forward declaration of `DeveloperProvidedBillingDetailsAndroid` to properly resolve imports.
|
|
159
175
|
namespace margelo::nitro::iap { struct DeveloperProvidedBillingDetailsAndroid; }
|
|
176
|
+
// Forward declaration of `DeveloperProvidedBillingProductAndroid` to properly resolve imports.
|
|
177
|
+
namespace margelo::nitro::iap { struct DeveloperProvidedBillingProductAndroid; }
|
|
178
|
+
// Forward declaration of `ProductType` to properly resolve imports.
|
|
179
|
+
namespace margelo::nitro::iap { enum class ProductType; }
|
|
180
|
+
// Forward declaration of `NitroGetBillingChoiceInfoParamsAndroid` to properly resolve imports.
|
|
181
|
+
namespace margelo::nitro::iap { struct NitroGetBillingChoiceInfoParamsAndroid; }
|
|
182
|
+
// Forward declaration of `BillingChoiceImageLayoutAndroid` to properly resolve imports.
|
|
183
|
+
namespace margelo::nitro::iap { enum class BillingChoiceImageLayoutAndroid; }
|
|
184
|
+
// Forward declaration of `DeveloperBillingTypeAndroid` to properly resolve imports.
|
|
185
|
+
namespace margelo::nitro::iap { enum class DeveloperBillingTypeAndroid; }
|
|
186
|
+
// Forward declaration of `NitroBillingProgramInformationDialogParamsAndroid` to properly resolve imports.
|
|
187
|
+
namespace margelo::nitro::iap { struct NitroBillingProgramInformationDialogParamsAndroid; }
|
|
188
|
+
// Forward declaration of `NitroInAppMessageParamsAndroid` to properly resolve imports.
|
|
189
|
+
namespace margelo::nitro::iap { struct NitroInAppMessageParamsAndroid; }
|
|
190
|
+
// Forward declaration of `InAppMessageCategoryAndroid` to properly resolve imports.
|
|
191
|
+
namespace margelo::nitro::iap { enum class InAppMessageCategoryAndroid; }
|
|
160
192
|
// Forward declaration of `NitroLaunchExternalLinkParamsAndroid` to properly resolve imports.
|
|
161
193
|
namespace margelo::nitro::iap { struct NitroLaunchExternalLinkParamsAndroid; }
|
|
162
194
|
// Forward declaration of `ExternalLinkLaunchModeAndroid` to properly resolve imports.
|
|
@@ -285,8 +317,20 @@ namespace margelo::nitro::iap { enum class ExternalPurchaseCustomLinkNoticeTypeI
|
|
|
285
317
|
#include "JNitroBillingProgramAvailabilityResultAndroid.hpp"
|
|
286
318
|
#include "BillingProgramAndroid.hpp"
|
|
287
319
|
#include "JBillingProgramAndroid.hpp"
|
|
320
|
+
#include "BillingChoiceScreenTypeAndroid.hpp"
|
|
321
|
+
#include "JBillingChoiceScreenTypeAndroid.hpp"
|
|
322
|
+
#include "NitroBillingChoiceInfoAndroid.hpp"
|
|
323
|
+
#include "JNitroBillingChoiceInfoAndroid.hpp"
|
|
288
324
|
#include "NitroBillingProgramReportingDetailsAndroid.hpp"
|
|
289
325
|
#include "JNitroBillingProgramReportingDetailsAndroid.hpp"
|
|
326
|
+
#include "NitroBillingResultAndroid.hpp"
|
|
327
|
+
#include "JNitroBillingResultAndroid.hpp"
|
|
328
|
+
#include "SubResponseCodeAndroid.hpp"
|
|
329
|
+
#include "JSubResponseCodeAndroid.hpp"
|
|
330
|
+
#include "NitroInAppMessageResultAndroid.hpp"
|
|
331
|
+
#include "JNitroInAppMessageResultAndroid.hpp"
|
|
332
|
+
#include "InAppMessageResponseCodeAndroid.hpp"
|
|
333
|
+
#include "JInAppMessageResponseCodeAndroid.hpp"
|
|
290
334
|
#include "ExternalPurchaseNoticeResultIOS.hpp"
|
|
291
335
|
#include "JExternalPurchaseNoticeResultIOS.hpp"
|
|
292
336
|
#include "ExternalPurchaseNoticeAction.hpp"
|
|
@@ -321,6 +365,11 @@ namespace margelo::nitro::iap { enum class ExternalPurchaseCustomLinkNoticeTypeI
|
|
|
321
365
|
#include "AndroidSubscriptionOfferInput.hpp"
|
|
322
366
|
#include "JVariant_NullType_Array_AndroidSubscriptionOfferInput_.hpp"
|
|
323
367
|
#include "JAndroidSubscriptionOfferInput.hpp"
|
|
368
|
+
#include "DeveloperBillingOptionParamsAndroid.hpp"
|
|
369
|
+
#include "JVariant_NullType_DeveloperBillingOptionParamsAndroid.hpp"
|
|
370
|
+
#include "JDeveloperBillingOptionParamsAndroid.hpp"
|
|
371
|
+
#include "DeveloperBillingLaunchModeAndroid.hpp"
|
|
372
|
+
#include "JDeveloperBillingLaunchModeAndroid.hpp"
|
|
324
373
|
#include "SubscriptionProductReplacementParamsAndroid.hpp"
|
|
325
374
|
#include "JVariant_NullType_SubscriptionProductReplacementParamsAndroid.hpp"
|
|
326
375
|
#include "JSubscriptionProductReplacementParamsAndroid.hpp"
|
|
@@ -384,6 +433,24 @@ namespace margelo::nitro::iap { enum class ExternalPurchaseCustomLinkNoticeTypeI
|
|
|
384
433
|
#include "DeveloperProvidedBillingDetailsAndroid.hpp"
|
|
385
434
|
#include "JFunc_void_DeveloperProvidedBillingDetailsAndroid.hpp"
|
|
386
435
|
#include "JDeveloperProvidedBillingDetailsAndroid.hpp"
|
|
436
|
+
#include "DeveloperProvidedBillingProductAndroid.hpp"
|
|
437
|
+
#include "JDeveloperProvidedBillingProductAndroid.hpp"
|
|
438
|
+
#include "ProductType.hpp"
|
|
439
|
+
#include "JProductType.hpp"
|
|
440
|
+
#include "NitroGetBillingChoiceInfoParamsAndroid.hpp"
|
|
441
|
+
#include "JNitroGetBillingChoiceInfoParamsAndroid.hpp"
|
|
442
|
+
#include "BillingChoiceImageLayoutAndroid.hpp"
|
|
443
|
+
#include "JBillingChoiceImageLayoutAndroid.hpp"
|
|
444
|
+
#include "DeveloperBillingTypeAndroid.hpp"
|
|
445
|
+
#include "JDeveloperBillingTypeAndroid.hpp"
|
|
446
|
+
#include "NitroBillingProgramInformationDialogParamsAndroid.hpp"
|
|
447
|
+
#include "JNitroBillingProgramInformationDialogParamsAndroid.hpp"
|
|
448
|
+
#include "NitroInAppMessageParamsAndroid.hpp"
|
|
449
|
+
#include "JVariant_NullType_NitroInAppMessageParamsAndroid.hpp"
|
|
450
|
+
#include "JNitroInAppMessageParamsAndroid.hpp"
|
|
451
|
+
#include "InAppMessageCategoryAndroid.hpp"
|
|
452
|
+
#include "JVariant_NullType_Array_InAppMessageCategoryAndroid_.hpp"
|
|
453
|
+
#include "JInAppMessageCategoryAndroid.hpp"
|
|
387
454
|
#include "NitroLaunchExternalLinkParamsAndroid.hpp"
|
|
388
455
|
#include "JNitroLaunchExternalLinkParamsAndroid.hpp"
|
|
389
456
|
#include "ExternalLinkLaunchModeAndroid.hpp"
|
|
@@ -1167,9 +1234,25 @@ namespace margelo::nitro::iap {
|
|
|
1167
1234
|
return __promise;
|
|
1168
1235
|
}();
|
|
1169
1236
|
}
|
|
1170
|
-
std::shared_ptr<Promise<
|
|
1171
|
-
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<
|
|
1172
|
-
auto __result = method(_javaPart,
|
|
1237
|
+
std::shared_ptr<Promise<NitroBillingChoiceInfoAndroid>> JHybridRnIapSpec::getBillingChoiceInfoAndroid(const NitroGetBillingChoiceInfoParamsAndroid& params) {
|
|
1238
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroGetBillingChoiceInfoParamsAndroid> /* params */)>("getBillingChoiceInfoAndroid");
|
|
1239
|
+
auto __result = method(_javaPart, JNitroGetBillingChoiceInfoParamsAndroid::fromCpp(params));
|
|
1240
|
+
return [&]() {
|
|
1241
|
+
auto __promise = Promise<NitroBillingChoiceInfoAndroid>::create();
|
|
1242
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
1243
|
+
auto __result = jni::static_ref_cast<JNitroBillingChoiceInfoAndroid>(__boxedResult);
|
|
1244
|
+
__promise->resolve(__result->toCpp());
|
|
1245
|
+
});
|
|
1246
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
1247
|
+
jni::JniException __jniError(__throwable);
|
|
1248
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
1249
|
+
});
|
|
1250
|
+
return __promise;
|
|
1251
|
+
}();
|
|
1252
|
+
}
|
|
1253
|
+
std::shared_ptr<Promise<NitroBillingProgramReportingDetailsAndroid>> JHybridRnIapSpec::createBillingProgramReportingDetailsAndroid(BillingProgramAndroid program, std::optional<DeveloperBillingTypeAndroid> developerBillingType) {
|
|
1254
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JBillingProgramAndroid> /* program */, jni::alias_ref<JDeveloperBillingTypeAndroid> /* developerBillingType */)>("createBillingProgramReportingDetailsAndroid");
|
|
1255
|
+
auto __result = method(_javaPart, JBillingProgramAndroid::fromCpp(program), developerBillingType.has_value() ? JDeveloperBillingTypeAndroid::fromCpp(developerBillingType.value()) : nullptr);
|
|
1173
1256
|
return [&]() {
|
|
1174
1257
|
auto __promise = Promise<NitroBillingProgramReportingDetailsAndroid>::create();
|
|
1175
1258
|
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
@@ -1183,6 +1266,38 @@ namespace margelo::nitro::iap {
|
|
|
1183
1266
|
return __promise;
|
|
1184
1267
|
}();
|
|
1185
1268
|
}
|
|
1269
|
+
std::shared_ptr<Promise<NitroBillingResultAndroid>> JHybridRnIapSpec::showBillingProgramInformationDialogAndroid(const NitroBillingProgramInformationDialogParamsAndroid& params) {
|
|
1270
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroBillingProgramInformationDialogParamsAndroid> /* params */)>("showBillingProgramInformationDialogAndroid");
|
|
1271
|
+
auto __result = method(_javaPart, JNitroBillingProgramInformationDialogParamsAndroid::fromCpp(params));
|
|
1272
|
+
return [&]() {
|
|
1273
|
+
auto __promise = Promise<NitroBillingResultAndroid>::create();
|
|
1274
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
1275
|
+
auto __result = jni::static_ref_cast<JNitroBillingResultAndroid>(__boxedResult);
|
|
1276
|
+
__promise->resolve(__result->toCpp());
|
|
1277
|
+
});
|
|
1278
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
1279
|
+
jni::JniException __jniError(__throwable);
|
|
1280
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
1281
|
+
});
|
|
1282
|
+
return __promise;
|
|
1283
|
+
}();
|
|
1284
|
+
}
|
|
1285
|
+
std::shared_ptr<Promise<NitroInAppMessageResultAndroid>> JHybridRnIapSpec::showInAppMessagesAndroid(const std::optional<std::variant<nitro::NullType, NitroInAppMessageParamsAndroid>>& params) {
|
|
1286
|
+
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JVariant_NullType_NitroInAppMessageParamsAndroid> /* params */)>("showInAppMessagesAndroid");
|
|
1287
|
+
auto __result = method(_javaPart, params.has_value() ? JVariant_NullType_NitroInAppMessageParamsAndroid::fromCpp(params.value()) : nullptr);
|
|
1288
|
+
return [&]() {
|
|
1289
|
+
auto __promise = Promise<NitroInAppMessageResultAndroid>::create();
|
|
1290
|
+
__result->cthis()->addOnResolvedListener([=](const jni::alias_ref<jni::JObject>& __boxedResult) {
|
|
1291
|
+
auto __result = jni::static_ref_cast<JNitroInAppMessageResultAndroid>(__boxedResult);
|
|
1292
|
+
__promise->resolve(__result->toCpp());
|
|
1293
|
+
});
|
|
1294
|
+
__result->cthis()->addOnRejectedListener([=](const jni::alias_ref<jni::JThrowable>& __throwable) {
|
|
1295
|
+
jni::JniException __jniError(__throwable);
|
|
1296
|
+
__promise->reject(std::make_exception_ptr(__jniError));
|
|
1297
|
+
});
|
|
1298
|
+
return __promise;
|
|
1299
|
+
}();
|
|
1300
|
+
}
|
|
1186
1301
|
std::shared_ptr<Promise<bool>> JHybridRnIapSpec::launchExternalLinkAndroid(const NitroLaunchExternalLinkParamsAndroid& params) {
|
|
1187
1302
|
static const auto method = _javaPart->javaClassStatic()->getMethod<jni::local_ref<JPromise::javaobject>(jni::alias_ref<JNitroLaunchExternalLinkParamsAndroid> /* params */)>("launchExternalLinkAndroid");
|
|
1188
1303
|
auto __result = method(_javaPart, JNitroLaunchExternalLinkParamsAndroid::fromCpp(params));
|
|
@@ -105,7 +105,10 @@ namespace margelo::nitro::iap {
|
|
|
105
105
|
void removeSubscriptionBillingIssueListener(const std::function<void(const NitroPurchase& /* purchase */)>& listener) override;
|
|
106
106
|
void enableBillingProgramAndroid(BillingProgramAndroid program) override;
|
|
107
107
|
std::shared_ptr<Promise<NitroBillingProgramAvailabilityResultAndroid>> isBillingProgramAvailableAndroid(BillingProgramAndroid program) override;
|
|
108
|
-
std::shared_ptr<Promise<
|
|
108
|
+
std::shared_ptr<Promise<NitroBillingChoiceInfoAndroid>> getBillingChoiceInfoAndroid(const NitroGetBillingChoiceInfoParamsAndroid& params) override;
|
|
109
|
+
std::shared_ptr<Promise<NitroBillingProgramReportingDetailsAndroid>> createBillingProgramReportingDetailsAndroid(BillingProgramAndroid program, std::optional<DeveloperBillingTypeAndroid> developerBillingType) override;
|
|
110
|
+
std::shared_ptr<Promise<NitroBillingResultAndroid>> showBillingProgramInformationDialogAndroid(const NitroBillingProgramInformationDialogParamsAndroid& params) override;
|
|
111
|
+
std::shared_ptr<Promise<NitroInAppMessageResultAndroid>> showInAppMessagesAndroid(const std::optional<std::variant<nitro::NullType, NitroInAppMessageParamsAndroid>>& params) override;
|
|
109
112
|
std::shared_ptr<Promise<bool>> launchExternalLinkAndroid(const NitroLaunchExternalLinkParamsAndroid& params) override;
|
|
110
113
|
std::shared_ptr<Promise<bool>> canPresentExternalPurchaseNoticeIOS() override;
|
|
111
114
|
std::shared_ptr<Promise<ExternalPurchaseNoticeResultIOS>> presentExternalPurchaseNoticeSheetIOS() override;
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JInAppMessageCategoryAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "InAppMessageCategoryAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::iap {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "InAppMessageCategoryAndroid" and the the Kotlin enum "InAppMessageCategoryAndroid".
|
|
19
|
+
*/
|
|
20
|
+
struct JInAppMessageCategoryAndroid final: public jni::JavaClass<JInAppMessageCategoryAndroid> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/InAppMessageCategoryAndroid;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum InAppMessageCategoryAndroid.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
InAppMessageCategoryAndroid 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<InAppMessageCategoryAndroid>(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<JInAppMessageCategoryAndroid> fromCpp(InAppMessageCategoryAndroid value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
switch (value) {
|
|
45
|
+
case InAppMessageCategoryAndroid::UNKNOWN_IN_APP_MESSAGE_CATEGORY_ID:
|
|
46
|
+
static const auto fieldUNKNOWN_IN_APP_MESSAGE_CATEGORY_ID = clazz->getStaticField<JInAppMessageCategoryAndroid>("UNKNOWN_IN_APP_MESSAGE_CATEGORY_ID");
|
|
47
|
+
return clazz->getStaticFieldValue(fieldUNKNOWN_IN_APP_MESSAGE_CATEGORY_ID);
|
|
48
|
+
case InAppMessageCategoryAndroid::TRANSACTIONAL:
|
|
49
|
+
static const auto fieldTRANSACTIONAL = clazz->getStaticField<JInAppMessageCategoryAndroid>("TRANSACTIONAL");
|
|
50
|
+
return clazz->getStaticFieldValue(fieldTRANSACTIONAL);
|
|
51
|
+
default:
|
|
52
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
53
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
} // namespace margelo::nitro::iap
|
|
@@ -0,0 +1,58 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JInAppMessageResponseCodeAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "InAppMessageResponseCodeAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
namespace margelo::nitro::iap {
|
|
14
|
+
|
|
15
|
+
using namespace facebook;
|
|
16
|
+
|
|
17
|
+
/**
|
|
18
|
+
* The C++ JNI bridge between the C++ enum "InAppMessageResponseCodeAndroid" and the the Kotlin enum "InAppMessageResponseCodeAndroid".
|
|
19
|
+
*/
|
|
20
|
+
struct JInAppMessageResponseCodeAndroid final: public jni::JavaClass<JInAppMessageResponseCodeAndroid> {
|
|
21
|
+
public:
|
|
22
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/InAppMessageResponseCodeAndroid;";
|
|
23
|
+
|
|
24
|
+
public:
|
|
25
|
+
/**
|
|
26
|
+
* Convert this Java/Kotlin-based enum to the C++ enum InAppMessageResponseCodeAndroid.
|
|
27
|
+
*/
|
|
28
|
+
[[maybe_unused]]
|
|
29
|
+
[[nodiscard]]
|
|
30
|
+
InAppMessageResponseCodeAndroid 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<InAppMessageResponseCodeAndroid>(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<JInAppMessageResponseCodeAndroid> fromCpp(InAppMessageResponseCodeAndroid value) {
|
|
43
|
+
static const auto clazz = javaClassStatic();
|
|
44
|
+
switch (value) {
|
|
45
|
+
case InAppMessageResponseCodeAndroid::NO_ACTION_NEEDED:
|
|
46
|
+
static const auto fieldNO_ACTION_NEEDED = clazz->getStaticField<JInAppMessageResponseCodeAndroid>("NO_ACTION_NEEDED");
|
|
47
|
+
return clazz->getStaticFieldValue(fieldNO_ACTION_NEEDED);
|
|
48
|
+
case InAppMessageResponseCodeAndroid::SUBSCRIPTION_STATUS_UPDATED:
|
|
49
|
+
static const auto fieldSUBSCRIPTION_STATUS_UPDATED = clazz->getStaticField<JInAppMessageResponseCodeAndroid>("SUBSCRIPTION_STATUS_UPDATED");
|
|
50
|
+
return clazz->getStaticFieldValue(fieldSUBSCRIPTION_STATUS_UPDATED);
|
|
51
|
+
default:
|
|
52
|
+
std::string stringValue = std::to_string(static_cast<int>(value));
|
|
53
|
+
throw std::invalid_argument("Invalid enum value (" + stringValue + "!");
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
|
|
58
|
+
} // namespace margelo::nitro::iap
|
|
@@ -11,8 +11,10 @@
|
|
|
11
11
|
#include "InitConnectionConfig.hpp"
|
|
12
12
|
|
|
13
13
|
#include "AlternativeBillingModeAndroid.hpp"
|
|
14
|
+
#include "BillingChoiceScreenTypeAndroid.hpp"
|
|
14
15
|
#include "BillingProgramAndroid.hpp"
|
|
15
16
|
#include "JAlternativeBillingModeAndroid.hpp"
|
|
17
|
+
#include "JBillingChoiceScreenTypeAndroid.hpp"
|
|
16
18
|
#include "JBillingProgramAndroid.hpp"
|
|
17
19
|
#include <optional>
|
|
18
20
|
|
|
@@ -37,10 +39,13 @@ namespace margelo::nitro::iap {
|
|
|
37
39
|
static const auto clazz = javaClassStatic();
|
|
38
40
|
static const auto fieldAlternativeBillingModeAndroid = clazz->getField<JAlternativeBillingModeAndroid>("alternativeBillingModeAndroid");
|
|
39
41
|
jni::local_ref<JAlternativeBillingModeAndroid> alternativeBillingModeAndroid = this->getFieldValue(fieldAlternativeBillingModeAndroid);
|
|
42
|
+
static const auto fieldBillingChoiceScreenTypeAndroid = clazz->getField<JBillingChoiceScreenTypeAndroid>("billingChoiceScreenTypeAndroid");
|
|
43
|
+
jni::local_ref<JBillingChoiceScreenTypeAndroid> billingChoiceScreenTypeAndroid = this->getFieldValue(fieldBillingChoiceScreenTypeAndroid);
|
|
40
44
|
static const auto fieldEnableBillingProgramAndroid = clazz->getField<JBillingProgramAndroid>("enableBillingProgramAndroid");
|
|
41
45
|
jni::local_ref<JBillingProgramAndroid> enableBillingProgramAndroid = this->getFieldValue(fieldEnableBillingProgramAndroid);
|
|
42
46
|
return InitConnectionConfig(
|
|
43
47
|
alternativeBillingModeAndroid != nullptr ? std::make_optional(alternativeBillingModeAndroid->toCpp()) : std::nullopt,
|
|
48
|
+
billingChoiceScreenTypeAndroid != nullptr ? std::make_optional(billingChoiceScreenTypeAndroid->toCpp()) : std::nullopt,
|
|
44
49
|
enableBillingProgramAndroid != nullptr ? std::make_optional(enableBillingProgramAndroid->toCpp()) : std::nullopt
|
|
45
50
|
);
|
|
46
51
|
}
|
|
@@ -51,12 +56,13 @@ namespace margelo::nitro::iap {
|
|
|
51
56
|
*/
|
|
52
57
|
[[maybe_unused]]
|
|
53
58
|
static jni::local_ref<JInitConnectionConfig::javaobject> fromCpp(const InitConnectionConfig& value) {
|
|
54
|
-
using JSignature = JInitConnectionConfig(jni::alias_ref<JAlternativeBillingModeAndroid>, jni::alias_ref<JBillingProgramAndroid>);
|
|
59
|
+
using JSignature = JInitConnectionConfig(jni::alias_ref<JAlternativeBillingModeAndroid>, jni::alias_ref<JBillingChoiceScreenTypeAndroid>, jni::alias_ref<JBillingProgramAndroid>);
|
|
55
60
|
static const auto clazz = javaClassStatic();
|
|
56
61
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
57
62
|
return create(
|
|
58
63
|
clazz,
|
|
59
64
|
value.alternativeBillingModeAndroid.has_value() ? JAlternativeBillingModeAndroid::fromCpp(value.alternativeBillingModeAndroid.value()) : nullptr,
|
|
65
|
+
value.billingChoiceScreenTypeAndroid.has_value() ? JBillingChoiceScreenTypeAndroid::fromCpp(value.billingChoiceScreenTypeAndroid.value()) : nullptr,
|
|
60
66
|
value.enableBillingProgramAndroid.has_value() ? JBillingProgramAndroid::fromCpp(value.enableBillingProgramAndroid.value()) : nullptr
|
|
61
67
|
);
|
|
62
68
|
}
|
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
///
|
|
2
|
+
/// JNitroBillingChoiceInfoAndroid.hpp
|
|
3
|
+
/// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
|
|
4
|
+
/// https://github.com/mrousavy/nitro
|
|
5
|
+
/// Copyright © Marc Rousavy @ Margelo
|
|
6
|
+
///
|
|
7
|
+
|
|
8
|
+
#pragma once
|
|
9
|
+
|
|
10
|
+
#include <fbjni/fbjni.h>
|
|
11
|
+
#include "NitroBillingChoiceInfoAndroid.hpp"
|
|
12
|
+
|
|
13
|
+
#include "JVariant_NullType_String.hpp"
|
|
14
|
+
#include <NitroModules/JNull.hpp>
|
|
15
|
+
#include <NitroModules/Null.hpp>
|
|
16
|
+
#include <optional>
|
|
17
|
+
#include <string>
|
|
18
|
+
#include <variant>
|
|
19
|
+
|
|
20
|
+
namespace margelo::nitro::iap {
|
|
21
|
+
|
|
22
|
+
using namespace facebook;
|
|
23
|
+
|
|
24
|
+
/**
|
|
25
|
+
* The C++ JNI bridge between the C++ struct "NitroBillingChoiceInfoAndroid" and the the Kotlin data class "NitroBillingChoiceInfoAndroid".
|
|
26
|
+
*/
|
|
27
|
+
struct JNitroBillingChoiceInfoAndroid final: public jni::JavaClass<JNitroBillingChoiceInfoAndroid> {
|
|
28
|
+
public:
|
|
29
|
+
static auto constexpr kJavaDescriptor = "Lcom/margelo/nitro/iap/NitroBillingChoiceInfoAndroid;";
|
|
30
|
+
|
|
31
|
+
public:
|
|
32
|
+
/**
|
|
33
|
+
* Convert this Java/Kotlin-based struct to the C++ struct NitroBillingChoiceInfoAndroid by copying all values to C++.
|
|
34
|
+
*/
|
|
35
|
+
[[maybe_unused]]
|
|
36
|
+
[[nodiscard]]
|
|
37
|
+
NitroBillingChoiceInfoAndroid toCpp() const {
|
|
38
|
+
static const auto clazz = javaClassStatic();
|
|
39
|
+
static const auto fieldPlayBillingChoiceImageUrl = clazz->getField<jni::JString>("playBillingChoiceImageUrl");
|
|
40
|
+
jni::local_ref<jni::JString> playBillingChoiceImageUrl = this->getFieldValue(fieldPlayBillingChoiceImageUrl);
|
|
41
|
+
static const auto fieldPlayBillingLoyaltyInfo = clazz->getField<JVariant_NullType_String>("playBillingLoyaltyInfo");
|
|
42
|
+
jni::local_ref<JVariant_NullType_String> playBillingLoyaltyInfo = this->getFieldValue(fieldPlayBillingLoyaltyInfo);
|
|
43
|
+
return NitroBillingChoiceInfoAndroid(
|
|
44
|
+
playBillingChoiceImageUrl->toStdString(),
|
|
45
|
+
playBillingLoyaltyInfo != nullptr ? std::make_optional(playBillingLoyaltyInfo->toCpp()) : std::nullopt
|
|
46
|
+
);
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
public:
|
|
50
|
+
/**
|
|
51
|
+
* Create a Java/Kotlin-based struct by copying all values from the given C++ struct to Java.
|
|
52
|
+
*/
|
|
53
|
+
[[maybe_unused]]
|
|
54
|
+
static jni::local_ref<JNitroBillingChoiceInfoAndroid::javaobject> fromCpp(const NitroBillingChoiceInfoAndroid& value) {
|
|
55
|
+
using JSignature = JNitroBillingChoiceInfoAndroid(jni::alias_ref<jni::JString>, jni::alias_ref<JVariant_NullType_String>);
|
|
56
|
+
static const auto clazz = javaClassStatic();
|
|
57
|
+
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
58
|
+
return create(
|
|
59
|
+
clazz,
|
|
60
|
+
jni::make_jstring(value.playBillingChoiceImageUrl),
|
|
61
|
+
value.playBillingLoyaltyInfo.has_value() ? JVariant_NullType_String::fromCpp(value.playBillingLoyaltyInfo.value()) : nullptr
|
|
62
|
+
);
|
|
63
|
+
}
|
|
64
|
+
};
|
|
65
|
+
|
|
66
|
+
} // namespace margelo::nitro::iap
|
|
@@ -10,8 +10,15 @@
|
|
|
10
10
|
#include <fbjni/fbjni.h>
|
|
11
11
|
#include "NitroBillingProgramAvailabilityResultAndroid.hpp"
|
|
12
12
|
|
|
13
|
+
#include "BillingChoiceScreenTypeAndroid.hpp"
|
|
13
14
|
#include "BillingProgramAndroid.hpp"
|
|
15
|
+
#include "JBillingChoiceScreenTypeAndroid.hpp"
|
|
14
16
|
#include "JBillingProgramAndroid.hpp"
|
|
17
|
+
#include "JVariant_NullType_Boolean.hpp"
|
|
18
|
+
#include <NitroModules/JNull.hpp>
|
|
19
|
+
#include <NitroModules/Null.hpp>
|
|
20
|
+
#include <optional>
|
|
21
|
+
#include <variant>
|
|
15
22
|
|
|
16
23
|
namespace margelo::nitro::iap {
|
|
17
24
|
|
|
@@ -34,11 +41,17 @@ namespace margelo::nitro::iap {
|
|
|
34
41
|
static const auto clazz = javaClassStatic();
|
|
35
42
|
static const auto fieldBillingProgram = clazz->getField<JBillingProgramAndroid>("billingProgram");
|
|
36
43
|
jni::local_ref<JBillingProgramAndroid> billingProgram = this->getFieldValue(fieldBillingProgram);
|
|
44
|
+
static const auto fieldChoiceScreenType = clazz->getField<JBillingChoiceScreenTypeAndroid>("choiceScreenType");
|
|
45
|
+
jni::local_ref<JBillingChoiceScreenTypeAndroid> choiceScreenType = this->getFieldValue(fieldChoiceScreenType);
|
|
37
46
|
static const auto fieldIsAvailable = clazz->getField<jboolean>("isAvailable");
|
|
38
47
|
jboolean isAvailable = this->getFieldValue(fieldIsAvailable);
|
|
48
|
+
static const auto fieldIsExternalLinkAvailable = clazz->getField<JVariant_NullType_Boolean>("isExternalLinkAvailable");
|
|
49
|
+
jni::local_ref<JVariant_NullType_Boolean> isExternalLinkAvailable = this->getFieldValue(fieldIsExternalLinkAvailable);
|
|
39
50
|
return NitroBillingProgramAvailabilityResultAndroid(
|
|
40
51
|
billingProgram->toCpp(),
|
|
41
|
-
|
|
52
|
+
choiceScreenType != nullptr ? std::make_optional(choiceScreenType->toCpp()) : std::nullopt,
|
|
53
|
+
static_cast<bool>(isAvailable),
|
|
54
|
+
isExternalLinkAvailable != nullptr ? std::make_optional(isExternalLinkAvailable->toCpp()) : std::nullopt
|
|
42
55
|
);
|
|
43
56
|
}
|
|
44
57
|
|
|
@@ -48,13 +61,15 @@ namespace margelo::nitro::iap {
|
|
|
48
61
|
*/
|
|
49
62
|
[[maybe_unused]]
|
|
50
63
|
static jni::local_ref<JNitroBillingProgramAvailabilityResultAndroid::javaobject> fromCpp(const NitroBillingProgramAvailabilityResultAndroid& value) {
|
|
51
|
-
using JSignature = JNitroBillingProgramAvailabilityResultAndroid(jni::alias_ref<JBillingProgramAndroid>, jboolean);
|
|
64
|
+
using JSignature = JNitroBillingProgramAvailabilityResultAndroid(jni::alias_ref<JBillingProgramAndroid>, jni::alias_ref<JBillingChoiceScreenTypeAndroid>, jboolean, jni::alias_ref<JVariant_NullType_Boolean>);
|
|
52
65
|
static const auto clazz = javaClassStatic();
|
|
53
66
|
static const auto create = clazz->getStaticMethod<JSignature>("fromCpp");
|
|
54
67
|
return create(
|
|
55
68
|
clazz,
|
|
56
69
|
JBillingProgramAndroid::fromCpp(value.billingProgram),
|
|
57
|
-
value.
|
|
70
|
+
value.choiceScreenType.has_value() ? JBillingChoiceScreenTypeAndroid::fromCpp(value.choiceScreenType.value()) : nullptr,
|
|
71
|
+
value.isAvailable,
|
|
72
|
+
value.isExternalLinkAvailable.has_value() ? JVariant_NullType_Boolean::fromCpp(value.isExternalLinkAvailable.value()) : nullptr
|
|
58
73
|
);
|
|
59
74
|
}
|
|
60
75
|
};
|