@qonversion/react-native-sdk 10.0.0-RC1
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 +129 -0
- package/android/build.gradle +92 -0
- package/android/gradle.properties +6 -0
- package/android/src/main/AndroidManifest.xml +2 -0
- package/android/src/main/java/com/qonversion/reactnativesdk/EntitiesConverter.kt +135 -0
- package/android/src/main/java/com/qonversion/reactnativesdk/NoCodesModule.kt +76 -0
- package/android/src/main/java/com/qonversion/reactnativesdk/QonversionModule.kt +278 -0
- package/android/src/main/java/com/qonversion/reactnativesdk/QonversionPackage.kt +43 -0
- package/android/src/main/java/com/qonversion/reactnativesdk/Utils.kt +32 -0
- package/ios/RNNoCodes.h +5 -0
- package/ios/RNNoCodes.mm +61 -0
- package/ios/RNNoCodesImpl.swift +69 -0
- package/ios/RNQonversion.h +5 -0
- package/ios/RNQonversion.mm +189 -0
- package/ios/RNQonversionImpl.swift +250 -0
- package/ios/qonversion-react-native-sdk-Bridging-Header.h +6 -0
- package/lib/module/NoCodes.js +32 -0
- package/lib/module/NoCodes.js.map +1 -0
- package/lib/module/NoCodesApi.js +2 -0
- package/lib/module/NoCodesApi.js.map +1 -0
- package/lib/module/NoCodesConfig.js +10 -0
- package/lib/module/NoCodesConfig.js.map +1 -0
- package/lib/module/NoCodesConfigBuilder.js +35 -0
- package/lib/module/NoCodesConfigBuilder.js.map +1 -0
- package/lib/module/Qonversion.js +35 -0
- package/lib/module/Qonversion.js.map +1 -0
- package/lib/module/QonversionApi.js +4 -0
- package/lib/module/QonversionApi.js.map +1 -0
- package/lib/module/QonversionConfig.js +16 -0
- package/lib/module/QonversionConfig.js.map +1 -0
- package/lib/module/QonversionConfigBuilder.js +90 -0
- package/lib/module/QonversionConfigBuilder.js.map +1 -0
- package/lib/module/dto/Entitlement.js +24 -0
- package/lib/module/dto/Entitlement.js.map +1 -0
- package/lib/module/dto/EntitlementsUpdateListener.js +4 -0
- package/lib/module/dto/EntitlementsUpdateListener.js.map +1 -0
- package/lib/module/dto/Experiment.js +11 -0
- package/lib/module/dto/Experiment.js.map +1 -0
- package/lib/module/dto/ExperimentGroup.js +11 -0
- package/lib/module/dto/ExperimentGroup.js.map +1 -0
- package/lib/module/dto/IntroEligibility.js +9 -0
- package/lib/module/dto/IntroEligibility.js.map +1 -0
- package/lib/module/dto/NoCodesAction.js +11 -0
- package/lib/module/dto/NoCodesAction.js.map +1 -0
- package/lib/module/dto/NoCodesError.js +13 -0
- package/lib/module/dto/NoCodesError.js.map +1 -0
- package/lib/module/dto/NoCodesListener.js +4 -0
- package/lib/module/dto/NoCodesListener.js.map +1 -0
- package/lib/module/dto/Offering.js +14 -0
- package/lib/module/dto/Offering.js.map +1 -0
- package/lib/module/dto/Offerings.js +13 -0
- package/lib/module/dto/Offerings.js.map +1 -0
- package/lib/module/dto/Product.js +114 -0
- package/lib/module/dto/Product.js.map +1 -0
- package/lib/module/dto/PromoPurchasesListener.js +4 -0
- package/lib/module/dto/PromoPurchasesListener.js.map +1 -0
- package/lib/module/dto/PromotionalOffer.js +10 -0
- package/lib/module/dto/PromotionalOffer.js.map +1 -0
- package/lib/module/dto/PurchaseModel.js +26 -0
- package/lib/module/dto/PurchaseModel.js.map +1 -0
- package/lib/module/dto/PurchaseOptions.js +15 -0
- package/lib/module/dto/PurchaseOptions.js.map +1 -0
- package/lib/module/dto/PurchaseOptionsBuilder.js +117 -0
- package/lib/module/dto/PurchaseOptionsBuilder.js.map +1 -0
- package/lib/module/dto/PurchaseUpdateModel.js +32 -0
- package/lib/module/dto/PurchaseUpdateModel.js.map +1 -0
- package/lib/module/dto/QonversionError.js +15 -0
- package/lib/module/dto/QonversionError.js.map +1 -0
- package/lib/module/dto/RemoteConfig.js +11 -0
- package/lib/module/dto/RemoteConfig.js.map +1 -0
- package/lib/module/dto/RemoteConfigList.js +18 -0
- package/lib/module/dto/RemoteConfigList.js.map +1 -0
- package/lib/module/dto/RemoteConfigurationSource.js +13 -0
- package/lib/module/dto/RemoteConfigurationSource.js.map +1 -0
- package/lib/module/dto/ScreenPresentationConfig.js +22 -0
- package/lib/module/dto/ScreenPresentationConfig.js.map +1 -0
- package/lib/module/dto/SubscriptionPeriod.js +26 -0
- package/lib/module/dto/SubscriptionPeriod.js.map +1 -0
- package/lib/module/dto/Transaction.js +18 -0
- package/lib/module/dto/Transaction.js.map +1 -0
- package/lib/module/dto/User.js +10 -0
- package/lib/module/dto/User.js.map +1 -0
- package/lib/module/dto/UserProperties.js +71 -0
- package/lib/module/dto/UserProperties.js.map +1 -0
- package/lib/module/dto/UserProperty.js +17 -0
- package/lib/module/dto/UserProperty.js.map +1 -0
- package/lib/module/dto/enums.js +425 -0
- package/lib/module/dto/enums.js.map +1 -0
- package/lib/module/dto/storeProducts/ProductInAppDetails.js +16 -0
- package/lib/module/dto/storeProducts/ProductInAppDetails.js.map +1 -0
- package/lib/module/dto/storeProducts/ProductInstallmentPlanDetails.js +25 -0
- package/lib/module/dto/storeProducts/ProductInstallmentPlanDetails.js.map +1 -0
- package/lib/module/dto/storeProducts/ProductOfferDetails.js +76 -0
- package/lib/module/dto/storeProducts/ProductOfferDetails.js.map +1 -0
- package/lib/module/dto/storeProducts/ProductPrice.js +37 -0
- package/lib/module/dto/storeProducts/ProductPrice.js.map +1 -0
- package/lib/module/dto/storeProducts/ProductPricingPhase.js +52 -0
- package/lib/module/dto/storeProducts/ProductPricingPhase.js.map +1 -0
- package/lib/module/dto/storeProducts/ProductStoreDetails.js +114 -0
- package/lib/module/dto/storeProducts/ProductStoreDetails.js.map +1 -0
- package/lib/module/dto/storeProducts/SKPaymentDiscount.js +13 -0
- package/lib/module/dto/storeProducts/SKPaymentDiscount.js.map +1 -0
- package/lib/module/dto/storeProducts/SKProduct.js +22 -0
- package/lib/module/dto/storeProducts/SKProduct.js.map +1 -0
- package/lib/module/dto/storeProducts/SKProductDiscount.js +16 -0
- package/lib/module/dto/storeProducts/SKProductDiscount.js.map +1 -0
- package/lib/module/dto/storeProducts/SKSubscriptionPeriod.js +10 -0
- package/lib/module/dto/storeProducts/SKSubscriptionPeriod.js.map +1 -0
- package/lib/module/dto/storeProducts/SkuDetails.js +30 -0
- package/lib/module/dto/storeProducts/SkuDetails.js.map +1 -0
- package/lib/module/index.js +40 -0
- package/lib/module/index.js.map +1 -0
- package/lib/module/internal/Mapper.js +676 -0
- package/lib/module/internal/Mapper.js.map +1 -0
- package/lib/module/internal/NoCodesInternal.js +70 -0
- package/lib/module/internal/NoCodesInternal.js.map +1 -0
- package/lib/module/internal/QonversionInternal.js +237 -0
- package/lib/module/internal/QonversionInternal.js.map +1 -0
- package/lib/module/internal/specs/NativeNoCodesModule.js +5 -0
- package/lib/module/internal/specs/NativeNoCodesModule.js.map +1 -0
- package/lib/module/internal/specs/NativeQonversionModule.js +5 -0
- package/lib/module/internal/specs/NativeQonversionModule.js.map +1 -0
- package/lib/module/internal/utils.js +10 -0
- package/lib/module/internal/utils.js.map +1 -0
- package/lib/module/package.json +1 -0
- package/lib/typescript/package.json +1 -0
- package/lib/typescript/src/NoCodes.d.ts +23 -0
- package/lib/typescript/src/NoCodes.d.ts.map +1 -0
- package/lib/typescript/src/NoCodesApi.d.ts +20 -0
- package/lib/typescript/src/NoCodesApi.d.ts.map +1 -0
- package/lib/typescript/src/NoCodesConfig.d.ts +8 -0
- package/lib/typescript/src/NoCodesConfig.d.ts.map +1 -0
- package/lib/typescript/src/NoCodesConfigBuilder.d.ts +26 -0
- package/lib/typescript/src/NoCodesConfigBuilder.d.ts.map +1 -0
- package/lib/typescript/src/Qonversion.d.ts +26 -0
- package/lib/typescript/src/Qonversion.d.ts.map +1 -0
- package/lib/typescript/src/QonversionApi.d.ts +285 -0
- package/lib/typescript/src/QonversionApi.d.ts.map +1 -0
- package/lib/typescript/src/QonversionConfig.d.ts +14 -0
- package/lib/typescript/src/QonversionConfig.d.ts.map +1 -0
- package/lib/typescript/src/QonversionConfigBuilder.d.ts +65 -0
- package/lib/typescript/src/QonversionConfigBuilder.d.ts.map +1 -0
- package/lib/typescript/src/dto/Entitlement.d.ts +22 -0
- package/lib/typescript/src/dto/Entitlement.d.ts.map +1 -0
- package/lib/typescript/src/dto/EntitlementsUpdateListener.d.ts +10 -0
- package/lib/typescript/src/dto/EntitlementsUpdateListener.d.ts.map +1 -0
- package/lib/typescript/src/dto/Experiment.d.ts +9 -0
- package/lib/typescript/src/dto/Experiment.d.ts.map +1 -0
- package/lib/typescript/src/dto/ExperimentGroup.d.ts +9 -0
- package/lib/typescript/src/dto/ExperimentGroup.d.ts.map +1 -0
- package/lib/typescript/src/dto/IntroEligibility.d.ts +7 -0
- package/lib/typescript/src/dto/IntroEligibility.d.ts.map +1 -0
- package/lib/typescript/src/dto/NoCodesAction.d.ts +10 -0
- package/lib/typescript/src/dto/NoCodesAction.d.ts.map +1 -0
- package/lib/typescript/src/dto/NoCodesError.d.ts +12 -0
- package/lib/typescript/src/dto/NoCodesError.d.ts.map +1 -0
- package/lib/typescript/src/dto/NoCodesListener.d.ts +34 -0
- package/lib/typescript/src/dto/NoCodesListener.d.ts.map +1 -0
- package/lib/typescript/src/dto/Offering.d.ts +11 -0
- package/lib/typescript/src/dto/Offering.d.ts.map +1 -0
- package/lib/typescript/src/dto/Offerings.d.ts +9 -0
- package/lib/typescript/src/dto/Offerings.d.ts.map +1 -0
- package/lib/typescript/src/dto/Product.d.ts +95 -0
- package/lib/typescript/src/dto/Product.d.ts.map +1 -0
- package/lib/typescript/src/dto/PromoPurchasesListener.d.ts +12 -0
- package/lib/typescript/src/dto/PromoPurchasesListener.d.ts.map +1 -0
- package/lib/typescript/src/dto/PromotionalOffer.d.ts +9 -0
- package/lib/typescript/src/dto/PromotionalOffer.d.ts.map +1 -0
- package/lib/typescript/src/dto/PurchaseModel.d.ts +19 -0
- package/lib/typescript/src/dto/PurchaseModel.d.ts.map +1 -0
- package/lib/typescript/src/dto/PurchaseOptions.d.ts +15 -0
- package/lib/typescript/src/dto/PurchaseOptions.d.ts.map +1 -0
- package/lib/typescript/src/dto/PurchaseOptionsBuilder.d.ts +84 -0
- package/lib/typescript/src/dto/PurchaseOptionsBuilder.d.ts.map +1 -0
- package/lib/typescript/src/dto/PurchaseUpdateModel.d.ts +25 -0
- package/lib/typescript/src/dto/PurchaseUpdateModel.d.ts.map +1 -0
- package/lib/typescript/src/dto/QonversionError.d.ts +11 -0
- package/lib/typescript/src/dto/QonversionError.d.ts.map +1 -0
- package/lib/typescript/src/dto/RemoteConfig.d.ts +10 -0
- package/lib/typescript/src/dto/RemoteConfig.d.ts.map +1 -0
- package/lib/typescript/src/dto/RemoteConfigList.d.ts +10 -0
- package/lib/typescript/src/dto/RemoteConfigList.d.ts.map +1 -0
- package/lib/typescript/src/dto/RemoteConfigurationSource.d.ts +11 -0
- package/lib/typescript/src/dto/RemoteConfigurationSource.d.ts.map +1 -0
- package/lib/typescript/src/dto/ScreenPresentationConfig.d.ts +18 -0
- package/lib/typescript/src/dto/ScreenPresentationConfig.d.ts.map +1 -0
- package/lib/typescript/src/dto/SubscriptionPeriod.d.ts +21 -0
- package/lib/typescript/src/dto/SubscriptionPeriod.d.ts.map +1 -0
- package/lib/typescript/src/dto/Transaction.d.ts +16 -0
- package/lib/typescript/src/dto/Transaction.d.ts.map +1 -0
- package/lib/typescript/src/dto/User.d.ts +7 -0
- package/lib/typescript/src/dto/User.d.ts.map +1 -0
- package/lib/typescript/src/dto/UserProperties.d.ts +49 -0
- package/lib/typescript/src/dto/UserProperties.d.ts.map +1 -0
- package/lib/typescript/src/dto/UserProperty.d.ts +13 -0
- package/lib/typescript/src/dto/UserProperty.d.ts.map +1 -0
- package/lib/typescript/src/dto/enums.d.ts +343 -0
- package/lib/typescript/src/dto/enums.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/ProductInAppDetails.d.ts +13 -0
- package/lib/typescript/src/dto/storeProducts/ProductInAppDetails.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/ProductInstallmentPlanDetails.d.ts +20 -0
- package/lib/typescript/src/dto/storeProducts/ProductInstallmentPlanDetails.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/ProductOfferDetails.d.ts +63 -0
- package/lib/typescript/src/dto/storeProducts/ProductOfferDetails.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/ProductPrice.d.ts +29 -0
- package/lib/typescript/src/dto/storeProducts/ProductPrice.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/ProductPricingPhase.d.ts +44 -0
- package/lib/typescript/src/dto/storeProducts/ProductPricingPhase.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/ProductStoreDetails.d.ts +97 -0
- package/lib/typescript/src/dto/storeProducts/ProductStoreDetails.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/SKPaymentDiscount.d.ts +10 -0
- package/lib/typescript/src/dto/storeProducts/SKPaymentDiscount.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/SKProduct.d.ts +21 -0
- package/lib/typescript/src/dto/storeProducts/SKProduct.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/SKProductDiscount.d.ts +15 -0
- package/lib/typescript/src/dto/storeProducts/SKProductDiscount.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/SKSubscriptionPeriod.d.ts +8 -0
- package/lib/typescript/src/dto/storeProducts/SKSubscriptionPeriod.d.ts.map +1 -0
- package/lib/typescript/src/dto/storeProducts/SkuDetails.d.ts +27 -0
- package/lib/typescript/src/dto/storeProducts/SkuDetails.d.ts.map +1 -0
- package/lib/typescript/src/index.d.ts +41 -0
- package/lib/typescript/src/index.d.ts.map +1 -0
- package/lib/typescript/src/internal/Mapper.d.ts +312 -0
- package/lib/typescript/src/internal/Mapper.d.ts.map +1 -0
- package/lib/typescript/src/internal/NoCodesInternal.d.ts +14 -0
- package/lib/typescript/src/internal/NoCodesInternal.d.ts.map +1 -0
- package/lib/typescript/src/internal/QonversionInternal.d.ts +60 -0
- package/lib/typescript/src/internal/QonversionInternal.d.ts.map +1 -0
- package/lib/typescript/src/internal/specs/NativeNoCodesModule.d.ts +17 -0
- package/lib/typescript/src/internal/specs/NativeNoCodesModule.d.ts.map +1 -0
- package/lib/typescript/src/internal/specs/NativeQonversionModule.d.ts +56 -0
- package/lib/typescript/src/internal/specs/NativeQonversionModule.d.ts.map +1 -0
- package/lib/typescript/src/internal/utils.d.ts +3 -0
- package/lib/typescript/src/internal/utils.d.ts.map +1 -0
- package/package.json +151 -0
- package/qonversion-react-native-sdk.podspec +21 -0
- package/src/NoCodes.ts +37 -0
- package/src/NoCodesApi.ts +22 -0
- package/src/NoCodesConfig.ts +16 -0
- package/src/NoCodesConfigBuilder.ts +40 -0
- package/src/Qonversion.ts +40 -0
- package/src/QonversionApi.ts +318 -0
- package/src/QonversionConfig.ts +32 -0
- package/src/QonversionConfigBuilder.ts +102 -0
- package/src/dto/Entitlement.ts +57 -0
- package/src/dto/EntitlementsUpdateListener.ts +11 -0
- package/src/dto/Experiment.ts +15 -0
- package/src/dto/ExperimentGroup.ts +15 -0
- package/src/dto/IntroEligibility.ts +11 -0
- package/src/dto/NoCodesAction.ts +21 -0
- package/src/dto/NoCodesError.ts +26 -0
- package/src/dto/NoCodesListener.ts +39 -0
- package/src/dto/Offering.ts +20 -0
- package/src/dto/Offerings.ts +17 -0
- package/src/dto/Product.ts +159 -0
- package/src/dto/PromoPurchasesListener.ts +13 -0
- package/src/dto/PromotionalOffer.ts +17 -0
- package/src/dto/PurchaseModel.ts +29 -0
- package/src/dto/PurchaseOptions.ts +33 -0
- package/src/dto/PurchaseOptionsBuilder.ts +127 -0
- package/src/dto/PurchaseUpdateModel.ts +43 -0
- package/src/dto/QonversionError.ts +24 -0
- package/src/dto/RemoteConfig.ts +16 -0
- package/src/dto/RemoteConfigList.ts +23 -0
- package/src/dto/RemoteConfigurationSource.ts +26 -0
- package/src/dto/ScreenPresentationConfig.ts +24 -0
- package/src/dto/SubscriptionPeriod.ts +33 -0
- package/src/dto/Transaction.ts +40 -0
- package/src/dto/User.ts +11 -0
- package/src/dto/UserProperties.ts +78 -0
- package/src/dto/UserProperty.ts +21 -0
- package/src/dto/enums.ts +389 -0
- package/src/dto/storeProducts/ProductInAppDetails.ts +17 -0
- package/src/dto/storeProducts/ProductInstallmentPlanDetails.ts +28 -0
- package/src/dto/storeProducts/ProductOfferDetails.ts +102 -0
- package/src/dto/storeProducts/ProductPrice.ts +46 -0
- package/src/dto/storeProducts/ProductPricingPhase.ts +71 -0
- package/src/dto/storeProducts/ProductStoreDetails.ts +151 -0
- package/src/dto/storeProducts/SKPaymentDiscount.ts +23 -0
- package/src/dto/storeProducts/SKProduct.ts +53 -0
- package/src/dto/storeProducts/SKProductDiscount.ts +38 -0
- package/src/dto/storeProducts/SKSubscriptionPeriod.ts +13 -0
- package/src/dto/storeProducts/SkuDetails.ts +68 -0
- package/src/index.ts +43 -0
- package/src/internal/Mapper.ts +1221 -0
- package/src/internal/NoCodesInternal.ts +84 -0
- package/src/internal/QonversionInternal.ts +370 -0
- package/src/internal/specs/NativeNoCodesModule.ts +20 -0
- package/src/internal/specs/NativeQonversionModule.ts +74 -0
- package/src/internal/utils.ts +9 -0
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import type { TurboModule } from 'react-native';
|
|
2
|
+
import type { QPromotionalOffer, QOfferings, QUser, QUserProperties, QRemoteConfig, QRemoteConfigList } from '../Mapper';
|
|
3
|
+
import type { EventEmitter } from 'react-native/Libraries/Types/CodegenTypes';
|
|
4
|
+
export type QPromoOfferDetails = {
|
|
5
|
+
productDiscountId: string | undefined;
|
|
6
|
+
keyIdentifier: string | undefined;
|
|
7
|
+
nonce: string | undefined;
|
|
8
|
+
signature: string | undefined;
|
|
9
|
+
timestamp: number | undefined;
|
|
10
|
+
};
|
|
11
|
+
export interface Spec extends TurboModule {
|
|
12
|
+
storeSDKInfo(sdkName: string, sdkVersion: string): void;
|
|
13
|
+
initializeSdk(projectKey: string, launchMode: string, environment: string, entitlementsCacheLifetime: string, proxyUrl: string | undefined, kidsMode: boolean): void;
|
|
14
|
+
syncHistoricalData(): void;
|
|
15
|
+
syncStoreKit2Purchases(): void;
|
|
16
|
+
isFallbackFileAccessible(): Promise<{
|
|
17
|
+
success: boolean;
|
|
18
|
+
}>;
|
|
19
|
+
getPromotionalOffer(product: string, discount: string | undefined): Promise<QPromotionalOffer | null>;
|
|
20
|
+
purchase(productId: string, quantity: number, // iOS only
|
|
21
|
+
contextKeys: string[] | null | undefined, promoOffer: QPromoOfferDetails | undefined, // iOS only
|
|
22
|
+
offerId: string | null | undefined, // Android only
|
|
23
|
+
applyOffer: boolean, // Android only
|
|
24
|
+
oldProductId: string | null | undefined, // Android only
|
|
25
|
+
updatePolicyKey: string | null | undefined): Promise<Object | null | undefined>;
|
|
26
|
+
updatePurchase(productId: string, offerId: string | null | undefined, applyOffer: boolean, oldProductId: string | null | undefined, updatePolicyKey: string | null | undefined): Promise<Object>;
|
|
27
|
+
promoPurchase(productId: string): Promise<Object>;
|
|
28
|
+
products(): Promise<Object>;
|
|
29
|
+
offerings(): Promise<QOfferings | null>;
|
|
30
|
+
checkTrialIntroEligibilityForProductIds(ids: string[]): Promise<Object>;
|
|
31
|
+
checkEntitlements(): Promise<Object>;
|
|
32
|
+
restore(): Promise<Object>;
|
|
33
|
+
syncPurchases(): void;
|
|
34
|
+
identify(userId: string): Promise<QUser>;
|
|
35
|
+
logout(): void;
|
|
36
|
+
userInfo(): Promise<QUser>;
|
|
37
|
+
addAttributionData(data: Object, provider: string): void;
|
|
38
|
+
setDefinedProperty(property: string, value: string): void;
|
|
39
|
+
setCustomProperty(property: string, value: string): void;
|
|
40
|
+
userProperties(): Promise<QUserProperties>;
|
|
41
|
+
collectAdvertisingId(): void;
|
|
42
|
+
collectAppleSearchAdsAttribution(): void;
|
|
43
|
+
presentCodeRedemptionSheet(): void;
|
|
44
|
+
remoteConfig(contextKey: string | undefined): Promise<QRemoteConfig>;
|
|
45
|
+
remoteConfigList(): Promise<QRemoteConfigList>;
|
|
46
|
+
remoteConfigListForContextKeys(contextKeys: string[], includeEmptyContextKey: boolean): Promise<QRemoteConfigList>;
|
|
47
|
+
attachUserToExperiment(experimentId: string, groupId: string): Promise<void>;
|
|
48
|
+
detachUserFromExperiment(experimentId: string): Promise<void>;
|
|
49
|
+
attachUserToRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
|
|
50
|
+
detachUserFromRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
|
|
51
|
+
readonly onEntitlementsUpdated: EventEmitter<Object>;
|
|
52
|
+
readonly onPromoPurchaseReceived: EventEmitter<string>;
|
|
53
|
+
}
|
|
54
|
+
declare const _default: Spec;
|
|
55
|
+
export default _default;
|
|
56
|
+
//# sourceMappingURL=NativeQonversionModule.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NativeQonversionModule.d.ts","sourceRoot":"","sources":["../../../../../src/internal/specs/NativeQonversionModule.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../../../src/internal/utils.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,KAAK,QAAO,OAExB,CAAC;AAEF,eAAO,MAAM,SAAS,QAAO,OAE5B,CAAC"}
|
package/package.json
ADDED
|
@@ -0,0 +1,151 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "@qonversion/react-native-sdk",
|
|
3
|
+
"title": "React Native Qonversion",
|
|
4
|
+
"version": "10.0.0-RC1",
|
|
5
|
+
"description": "Qonversion provides full in-app purchases infrastructure, so you do not need to build your own server for receipt validation. Implement in-app subscriptions, validate user receipts, check subscription status, and provide access to your app features and content using our StoreKit wrapper and Google Play Billing wrapper.",
|
|
6
|
+
"main": "./lib/module/index.js",
|
|
7
|
+
"types": "./lib/typescript/src/index.d.ts",
|
|
8
|
+
"exports": {
|
|
9
|
+
".": {
|
|
10
|
+
"source": "./src/index.ts",
|
|
11
|
+
"types": "./lib/typescript/src/index.d.ts",
|
|
12
|
+
"default": "./lib/module/index.js"
|
|
13
|
+
},
|
|
14
|
+
"./package.json": "./package.json"
|
|
15
|
+
},
|
|
16
|
+
"files": [
|
|
17
|
+
"src",
|
|
18
|
+
"lib",
|
|
19
|
+
"android",
|
|
20
|
+
"ios",
|
|
21
|
+
"cpp",
|
|
22
|
+
"*.podspec",
|
|
23
|
+
"react-native.config.js",
|
|
24
|
+
"!ios/build",
|
|
25
|
+
"!android/build",
|
|
26
|
+
"!android/gradle",
|
|
27
|
+
"!android/gradlew",
|
|
28
|
+
"!android/gradlew.bat",
|
|
29
|
+
"!android/local.properties",
|
|
30
|
+
"!**/__tests__",
|
|
31
|
+
"!**/__fixtures__",
|
|
32
|
+
"!**/__mocks__",
|
|
33
|
+
"!**/.*"
|
|
34
|
+
],
|
|
35
|
+
"scripts": {
|
|
36
|
+
"example": "yarn workspace @qonversion/react-native-sdk-example",
|
|
37
|
+
"test": "jest",
|
|
38
|
+
"typecheck": "tsc",
|
|
39
|
+
"lint": "eslint \"**/*.{js,ts,tsx}\"",
|
|
40
|
+
"clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
|
|
41
|
+
"prepare": "bob build",
|
|
42
|
+
"codegenAndroid": "cd example/android && ./gradlew generateCodegenArtifactsFromSchema",
|
|
43
|
+
"codegenIos": "node node_modules/react-native/scripts/generate-codegen-artifacts.js --targetPlatform ios --path ./ --outputPath ./generated",
|
|
44
|
+
"codegen": "yarn codegenAndroid && yarn codegenIos"
|
|
45
|
+
},
|
|
46
|
+
"keywords": [
|
|
47
|
+
"react-native",
|
|
48
|
+
"qonversion",
|
|
49
|
+
"StoreKit",
|
|
50
|
+
"SKStoreKit",
|
|
51
|
+
"Google",
|
|
52
|
+
"Play",
|
|
53
|
+
"Billing",
|
|
54
|
+
"in-app",
|
|
55
|
+
"Purchases"
|
|
56
|
+
],
|
|
57
|
+
"repository": {
|
|
58
|
+
"type": "git",
|
|
59
|
+
"url": "git+https://github.com/qonversion/react-native-sdk.git"
|
|
60
|
+
},
|
|
61
|
+
"author": "Qonversion <hi@qonversion.io> (https://qonversion.io)",
|
|
62
|
+
"license": "MIT",
|
|
63
|
+
"bugs": {
|
|
64
|
+
"url": "https://github.com/qonversion/react-native-sdk/issues"
|
|
65
|
+
},
|
|
66
|
+
"homepage": "https://github.com/qonversion/react-native-sdk#readme",
|
|
67
|
+
"publishConfig": {
|
|
68
|
+
"registry": "https://registry.npmjs.org/"
|
|
69
|
+
},
|
|
70
|
+
"devDependencies": {
|
|
71
|
+
"@commitlint/config-conventional": "^19.6.0",
|
|
72
|
+
"@eslint/compat": "^1.2.7",
|
|
73
|
+
"@eslint/eslintrc": "^3.3.0",
|
|
74
|
+
"@eslint/js": "^9.22.0",
|
|
75
|
+
"@react-native-community/cli": "15.0.0-alpha.2",
|
|
76
|
+
"@react-native/babel-preset": "0.79.2",
|
|
77
|
+
"@react-native/eslint-config": "^0.78.0",
|
|
78
|
+
"@types/jest": "^29.5.5",
|
|
79
|
+
"@types/react": "^19.0.0",
|
|
80
|
+
"commitlint": "^19.6.1",
|
|
81
|
+
"del-cli": "^5.1.0",
|
|
82
|
+
"eslint": "^9.22.0",
|
|
83
|
+
"eslint-config-prettier": "^10.1.1",
|
|
84
|
+
"eslint-plugin-prettier": "^5.2.3",
|
|
85
|
+
"jest": "^29.7.0",
|
|
86
|
+
"prettier": "^3.0.3",
|
|
87
|
+
"react": "19.0.0",
|
|
88
|
+
"react-native": "0.79.2",
|
|
89
|
+
"react-native-builder-bob": "0.40.13",
|
|
90
|
+
"turbo": "^1.10.7",
|
|
91
|
+
"typescript": "^5.8.3"
|
|
92
|
+
},
|
|
93
|
+
"peerDependencies": {
|
|
94
|
+
"react": "^16.8.1 || ^17.0.0 || ^18.0.0 || ^19.0.0",
|
|
95
|
+
"react-native": ">=0.60.0-rc.0 <1.0.x"
|
|
96
|
+
},
|
|
97
|
+
"workspaces": [
|
|
98
|
+
"example"
|
|
99
|
+
],
|
|
100
|
+
"packageManager": "yarn@3.6.1",
|
|
101
|
+
"jest": {
|
|
102
|
+
"preset": "react-native",
|
|
103
|
+
"modulePathIgnorePatterns": [
|
|
104
|
+
"<rootDir>/example/node_modules",
|
|
105
|
+
"<rootDir>/lib/"
|
|
106
|
+
]
|
|
107
|
+
},
|
|
108
|
+
"commitlint": {
|
|
109
|
+
"extends": [
|
|
110
|
+
"@commitlint/config-conventional"
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"prettier": {
|
|
114
|
+
"quoteProps": "consistent",
|
|
115
|
+
"singleQuote": true,
|
|
116
|
+
"tabWidth": 2,
|
|
117
|
+
"trailingComma": "es5",
|
|
118
|
+
"useTabs": false
|
|
119
|
+
},
|
|
120
|
+
"react-native-builder-bob": {
|
|
121
|
+
"source": "src",
|
|
122
|
+
"output": "lib",
|
|
123
|
+
"targets": [
|
|
124
|
+
[
|
|
125
|
+
"module",
|
|
126
|
+
{
|
|
127
|
+
"esm": true
|
|
128
|
+
}
|
|
129
|
+
],
|
|
130
|
+
[
|
|
131
|
+
"typescript",
|
|
132
|
+
{
|
|
133
|
+
"project": "tsconfig.build.json"
|
|
134
|
+
}
|
|
135
|
+
]
|
|
136
|
+
]
|
|
137
|
+
},
|
|
138
|
+
"codegenConfig": {
|
|
139
|
+
"name": "QonversionSdkSpec",
|
|
140
|
+
"type": "modules",
|
|
141
|
+
"jsSrcsDir": "src/internal/specs",
|
|
142
|
+
"android": {
|
|
143
|
+
"javaPackageName": "com.qonversion.reactnativesdk"
|
|
144
|
+
}
|
|
145
|
+
},
|
|
146
|
+
"create-react-native-library": {
|
|
147
|
+
"languages": "kotlin-objc",
|
|
148
|
+
"type": "turbo-module",
|
|
149
|
+
"version": "0.52.0"
|
|
150
|
+
}
|
|
151
|
+
}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
require "json"
|
|
2
|
+
|
|
3
|
+
package = JSON.parse(File.read(File.join(__dir__, "package.json")))
|
|
4
|
+
|
|
5
|
+
Pod::Spec.new do |s|
|
|
6
|
+
s.name = "qonversion-react-native-sdk"
|
|
7
|
+
s.version = package["version"]
|
|
8
|
+
s.summary = package["description"]
|
|
9
|
+
s.homepage = package["homepage"]
|
|
10
|
+
s.license = package["license"]
|
|
11
|
+
s.authors = package["author"]
|
|
12
|
+
|
|
13
|
+
s.platforms = { :ios => "13.0" }
|
|
14
|
+
s.source = { :git => "https://github.com/qonversion/qonversion-react-native.git", :tag => "#{s.version}" }
|
|
15
|
+
|
|
16
|
+
s.source_files = "ios/**/*.{h,m,mm,cpp,swift}"
|
|
17
|
+
s.private_header_files = "ios/**/*.h"
|
|
18
|
+
|
|
19
|
+
s.dependency "QonversionSandwich", "6.0.10"
|
|
20
|
+
install_modules_dependencies(s)
|
|
21
|
+
end
|
package/src/NoCodes.ts
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import type NoCodesApi from "./NoCodesApi";
|
|
2
|
+
import NoCodesConfig from "./NoCodesConfig";
|
|
3
|
+
import NoCodesInternal from "./internal/NoCodesInternal";
|
|
4
|
+
|
|
5
|
+
export default class NoCodes {
|
|
6
|
+
private constructor() {}
|
|
7
|
+
|
|
8
|
+
private static backingInstance: NoCodesApi | undefined;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Use this variable to get a current initialized instance of the NoCodes SDK.
|
|
12
|
+
* Please, use the property only after calling {@link NoCodes.initialize}.
|
|
13
|
+
* Otherwise, trying to access the variable will cause an exception.
|
|
14
|
+
*
|
|
15
|
+
* @return Current initialized instance of the NoCodes SDK.
|
|
16
|
+
* @throws error if the instance has not been initialized
|
|
17
|
+
*/
|
|
18
|
+
static getSharedInstance(): NoCodesApi {
|
|
19
|
+
if (!this.backingInstance) {
|
|
20
|
+
throw "No-Codes has not been initialized. You should call " +
|
|
21
|
+
"the initialize method before accessing the shared instance of NoCodes."
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return this.backingInstance;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* An entry point to use No-Codes SDK. Call to initialize No-Codes SDK with required configs.
|
|
29
|
+
*
|
|
30
|
+
* @param config a config that contains key SDK settings.
|
|
31
|
+
* @return Initialized instance of the No-Codes SDK.
|
|
32
|
+
*/
|
|
33
|
+
static initialize(config: NoCodesConfig): NoCodesApi {
|
|
34
|
+
this.backingInstance = new NoCodesInternal(config);
|
|
35
|
+
return this.backingInstance;
|
|
36
|
+
}
|
|
37
|
+
}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import ScreenPresentationConfig from './dto/ScreenPresentationConfig';
|
|
2
|
+
|
|
3
|
+
export default interface NoCodesApi {
|
|
4
|
+
/**
|
|
5
|
+
* Set the configuration of screen representation.
|
|
6
|
+
* @param config a configuration to apply.
|
|
7
|
+
* @param contextKey the context key of the screen, to which a config should be applied.
|
|
8
|
+
* If not provided, the config is used for all the screens.
|
|
9
|
+
*/
|
|
10
|
+
setScreenPresentationConfig(config: ScreenPresentationConfig, contextKey?: string): void;
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Show the screen using its context key.
|
|
14
|
+
* @param contextKey the context key of the screen which must be shown
|
|
15
|
+
*/
|
|
16
|
+
showScreen(contextKey: string): void;
|
|
17
|
+
|
|
18
|
+
/**
|
|
19
|
+
* Close the current opened No-Code screen.
|
|
20
|
+
*/
|
|
21
|
+
close(): void;
|
|
22
|
+
}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
import type { NoCodesListener } from './dto/NoCodesListener';
|
|
2
|
+
|
|
3
|
+
class NoCodesConfig {
|
|
4
|
+
readonly projectKey: string;
|
|
5
|
+
readonly noCodesListener: NoCodesListener | undefined;
|
|
6
|
+
|
|
7
|
+
constructor(
|
|
8
|
+
projectKey: string,
|
|
9
|
+
noCodesListener: NoCodesListener | undefined = undefined
|
|
10
|
+
) {
|
|
11
|
+
this.projectKey = projectKey;
|
|
12
|
+
this.noCodesListener = noCodesListener;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export default NoCodesConfig;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import type {NoCodesListener} from './dto/NoCodesListener';
|
|
2
|
+
import NoCodesConfig from './NoCodesConfig';
|
|
3
|
+
|
|
4
|
+
class NoCodesConfigBuilder {
|
|
5
|
+
private readonly projectKey: string;
|
|
6
|
+
private noCodesListener: NoCodesListener | undefined = undefined;
|
|
7
|
+
|
|
8
|
+
constructor(projectKey: string) {
|
|
9
|
+
this.projectKey = projectKey;
|
|
10
|
+
}
|
|
11
|
+
|
|
12
|
+
/**
|
|
13
|
+
* Provide a listener to be notified about NoCodes events.
|
|
14
|
+
*
|
|
15
|
+
* Make sure you provide this listener for being up-to-date with the NoCodes events.
|
|
16
|
+
* Else you can lose some important updates. Also, please, consider that this listener
|
|
17
|
+
* should live for the whole lifetime of the application.
|
|
18
|
+
*
|
|
19
|
+
* @param noCodesListener listener to be called when NoCodes events occur.
|
|
20
|
+
* @return builder instance for chain calls.
|
|
21
|
+
*/
|
|
22
|
+
setNoCodesListener(noCodesListener: NoCodesListener): NoCodesConfigBuilder {
|
|
23
|
+
this.noCodesListener = noCodesListener;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Generate {@link NoCodesConfig} instance with all the provided configurations.
|
|
29
|
+
*
|
|
30
|
+
* @return the complete {@link NoCodesConfig} instance.
|
|
31
|
+
*/
|
|
32
|
+
build(): NoCodesConfig {
|
|
33
|
+
return new NoCodesConfig(
|
|
34
|
+
this.projectKey,
|
|
35
|
+
this.noCodesListener
|
|
36
|
+
);
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
|
|
40
|
+
export default NoCodesConfigBuilder;
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
import QonversionConfig from './QonversionConfig';
|
|
2
|
+
import type { QonversionApi } from './QonversionApi';
|
|
3
|
+
import QonversionInternal from './internal/QonversionInternal';
|
|
4
|
+
|
|
5
|
+
export default class Qonversion {
|
|
6
|
+
private constructor() {}
|
|
7
|
+
|
|
8
|
+
private static backingInstance: QonversionApi | undefined;
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Use this variable to get a current initialized instance of the Qonversion SDK.
|
|
12
|
+
* Please, use the property only after calling {@link Qonversion.initialize}.
|
|
13
|
+
* Otherwise, trying to access the variable will cause an exception.
|
|
14
|
+
*
|
|
15
|
+
* @return Current initialized instance of the Qonversion SDK.
|
|
16
|
+
* @throws error if the instance has not been initialized
|
|
17
|
+
*/
|
|
18
|
+
static getSharedInstance(): QonversionApi {
|
|
19
|
+
if (!this.backingInstance) {
|
|
20
|
+
throw "Qonversion has not been initialized. You should call " +
|
|
21
|
+
"the initialize method before accessing the shared instance of Qonversion."
|
|
22
|
+
}
|
|
23
|
+
|
|
24
|
+
return this.backingInstance;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* An entry point to use Qonversion SDK. Call to initialize Qonversion SDK with required and extra configs.
|
|
29
|
+
* The function is the best way to set additional configs you need to use Qonversion SDK.
|
|
30
|
+
* You still have an option to set a part of additional configs later via calling separate setters.
|
|
31
|
+
*
|
|
32
|
+
* @param config a config that contains key SDK settings.
|
|
33
|
+
* Call {@link QonversionConfigBuilder.build} to configure and create a QonversionConfig instance.
|
|
34
|
+
* @return Initialized instance of the Qonversion SDK.
|
|
35
|
+
*/
|
|
36
|
+
static initialize(config: QonversionConfig): QonversionApi {
|
|
37
|
+
this.backingInstance = new QonversionInternal(config);
|
|
38
|
+
return this.backingInstance;
|
|
39
|
+
}
|
|
40
|
+
}
|