@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,285 @@
|
|
|
1
|
+
import Entitlement from './dto/Entitlement';
|
|
2
|
+
import Product from './dto/Product';
|
|
3
|
+
import { UserPropertyKey, AttributionProvider } from './dto/enums';
|
|
4
|
+
import Offerings from './dto/Offerings';
|
|
5
|
+
import IntroEligibility from './dto/IntroEligibility';
|
|
6
|
+
import User from './dto/User';
|
|
7
|
+
import type { EntitlementsUpdateListener } from './dto/EntitlementsUpdateListener';
|
|
8
|
+
import type { PromoPurchasesListener } from './dto/PromoPurchasesListener';
|
|
9
|
+
import RemoteConfig from "./dto/RemoteConfig";
|
|
10
|
+
import RemoteConfigList from "./dto/RemoteConfigList";
|
|
11
|
+
import UserProperties from './dto/UserProperties';
|
|
12
|
+
import PurchaseModel from './dto/PurchaseModel';
|
|
13
|
+
import PurchaseUpdateModel from './dto/PurchaseUpdateModel';
|
|
14
|
+
import PurchaseOptions from "./dto/PurchaseOptions";
|
|
15
|
+
import SKProductDiscount from './dto/storeProducts/SKProductDiscount';
|
|
16
|
+
import PromotionalOffer from './dto/PromotionalOffer';
|
|
17
|
+
export interface QonversionApi {
|
|
18
|
+
/**
|
|
19
|
+
* Call this function to sync the subscriber data with the first launch when Qonversion is implemented.
|
|
20
|
+
*/
|
|
21
|
+
syncHistoricalData(): void;
|
|
22
|
+
/**
|
|
23
|
+
* iOS only
|
|
24
|
+
* Contact us before you start using this function
|
|
25
|
+
* Call this function to sync purchases if you are using StoreKit2 and our SDK in Analytics mode.
|
|
26
|
+
*/
|
|
27
|
+
syncStoreKit2Purchases(): void;
|
|
28
|
+
/**
|
|
29
|
+
* Call this function to check if the fallback file is accessible.
|
|
30
|
+
* @returns the promise with the flag that indicates whether Qonversion was able to read data from the fallback file or not.
|
|
31
|
+
*/
|
|
32
|
+
isFallbackFileAccessible(): Promise<boolean>;
|
|
33
|
+
/**
|
|
34
|
+
* iOS only.
|
|
35
|
+
* Retrieve the promotional offer for the product if it exists.
|
|
36
|
+
* Make sure to call this function before displaying product details to the user.
|
|
37
|
+
* The generated signature for the promotional offer is valid for a single transaction.
|
|
38
|
+
* If the purchase fails, you need to call this function again to obtain a new promotional offer signature.
|
|
39
|
+
* Use this signature to complete the purchase through the purchase function, along with the purchase options object.
|
|
40
|
+
* @param product - product you want to purchase.
|
|
41
|
+
* @param discount - discount to create promotional offer signature.
|
|
42
|
+
* @returns the promise with the PromotionalOffer.
|
|
43
|
+
*/
|
|
44
|
+
getPromotionalOffer(product: Product, discount: SKProductDiscount): Promise<PromotionalOffer | null>;
|
|
45
|
+
/**
|
|
46
|
+
* Make a purchase and validate it through server-to-server using Qonversion's Backend
|
|
47
|
+
* @param product product to purchase
|
|
48
|
+
* @param options additional options for the purchase process.
|
|
49
|
+
* @returns the promise with the user entitlements including the ones obtained by the purchase
|
|
50
|
+
*
|
|
51
|
+
* @see [Making Purchases](https://documentation.qonversion.io/docs/making-purchases)
|
|
52
|
+
*/
|
|
53
|
+
purchaseProduct(product: Product, options?: PurchaseOptions | undefined): Promise<Map<string, Entitlement>>;
|
|
54
|
+
/**
|
|
55
|
+
* Make a purchase and validate it through server-to-server using Qonversion's Backend.
|
|
56
|
+
*
|
|
57
|
+
* @deprecated Use {@link purchaseProduct} function instead.
|
|
58
|
+
* @param purchaseModel necessary information for purchase
|
|
59
|
+
* @returns the promise with the user entitlements including the ones obtained by the purchase
|
|
60
|
+
* @see [Making Purchases](https://documentation.qonversion.io/docs/making-purchases)
|
|
61
|
+
*/
|
|
62
|
+
purchase(purchaseModel: PurchaseModel): Promise<Map<string, Entitlement>>;
|
|
63
|
+
/**
|
|
64
|
+
* Android only. Returns `null` if called on iOS.
|
|
65
|
+
*
|
|
66
|
+
* Update (upgrade/downgrade) subscription on Google Play Store and validate it through server-to-server using Qonversion's Backend.
|
|
67
|
+
*
|
|
68
|
+
* @deprecated Use {@link purchaseProduct} function instead.
|
|
69
|
+
* @param purchaseUpdateModel necessary information for purchase update
|
|
70
|
+
* @returns the promise with the user entitlements including updated ones.
|
|
71
|
+
* @see [Update policy](https://developer.android.com/google/play/billing/subscriptions#replacement-modes)
|
|
72
|
+
* @see [Making Purchases](https://documentation.qonversion.io/docs/making-purchases)
|
|
73
|
+
*/
|
|
74
|
+
updatePurchase(purchaseUpdateModel: PurchaseUpdateModel): Promise<Map<string, Entitlement> | null>;
|
|
75
|
+
/**
|
|
76
|
+
* Returns Qonversion products in association with Apple and Google Play Store Products.
|
|
77
|
+
*
|
|
78
|
+
* @returns the promise with Qonversion products
|
|
79
|
+
*/
|
|
80
|
+
products(): Promise<Map<string, Product>>;
|
|
81
|
+
/**
|
|
82
|
+
* Return Qonversion Offerings Object.
|
|
83
|
+
*
|
|
84
|
+
* An offering is a group of products that you can offer to a user on a given paywall based on your business logic.
|
|
85
|
+
* For example, you can offer one set of products on a paywall immediately after onboarding and another
|
|
86
|
+
* set of products with discounts later on if a user has not converted.
|
|
87
|
+
* Offerings allow changing the products offered remotely without releasing app updates.
|
|
88
|
+
*
|
|
89
|
+
* @returns the promise with Qonversion offerings
|
|
90
|
+
*
|
|
91
|
+
* @see [Offerings](https://qonversion.io/docs/offerings) for more details
|
|
92
|
+
*/
|
|
93
|
+
offerings(): Promise<Offerings | null>;
|
|
94
|
+
/**
|
|
95
|
+
* You can check if a user is eligible for an introductory offer, including a free trial.
|
|
96
|
+
* You can show only a regular price for users who are not eligible for an introductory offer.
|
|
97
|
+
*
|
|
98
|
+
* @param ids products identifiers that must be checked
|
|
99
|
+
* @returns the promise with eligibility map
|
|
100
|
+
*/
|
|
101
|
+
checkTrialIntroEligibility(ids: string[]): Promise<Map<string, IntroEligibility>>;
|
|
102
|
+
/**
|
|
103
|
+
* You need to call the checkEntitlements method to check if a user has the required entitlement.
|
|
104
|
+
*
|
|
105
|
+
* This method will check the user receipt and will return the current entitlements.
|
|
106
|
+
*
|
|
107
|
+
* @returns the promise with the entitlements
|
|
108
|
+
*
|
|
109
|
+
* If Apple or Google servers are not responding at the time of the request, Qonversion provides the latest
|
|
110
|
+
* entitlements' data from its database.
|
|
111
|
+
*/
|
|
112
|
+
checkEntitlements(): Promise<Map<string, Entitlement>>;
|
|
113
|
+
/**
|
|
114
|
+
* Restores users purchases in your app, to maintain access to purchased content.
|
|
115
|
+
* Users sometimes need to restore purchased content, such as when they upgrade to a new phone.
|
|
116
|
+
*
|
|
117
|
+
* @returns the promise with the user entitlements
|
|
118
|
+
*/
|
|
119
|
+
restore(): Promise<Map<string, Entitlement>>;
|
|
120
|
+
/**
|
|
121
|
+
* Android only. Does nothing if called on iOS.
|
|
122
|
+
*
|
|
123
|
+
* This method will send all purchases to the Qonversion backend. Call this every time when purchase is handled
|
|
124
|
+
* by your own implementation.
|
|
125
|
+
*
|
|
126
|
+
* **Warning!**
|
|
127
|
+
*
|
|
128
|
+
* This method works for Android only.
|
|
129
|
+
* It should only be called if you're using Qonversion SDK in observer mode.
|
|
130
|
+
*
|
|
131
|
+
* @see [Observer mode for Android SDK](https://documentation.qonversion.io/docs/observer-mode#android-sdk)
|
|
132
|
+
*/
|
|
133
|
+
syncPurchases(): void;
|
|
134
|
+
/**
|
|
135
|
+
* Call this function to link a user to his unique ID in your system and share purchase data.
|
|
136
|
+
*
|
|
137
|
+
* @param userId unique user ID in your system
|
|
138
|
+
* @returns the promise with the information about the identified user.
|
|
139
|
+
*/
|
|
140
|
+
identify(userId: string): Promise<User>;
|
|
141
|
+
/**
|
|
142
|
+
* Call this function to unlink a user from his unique ID in your system and his purchase data.
|
|
143
|
+
*/
|
|
144
|
+
logout(): void;
|
|
145
|
+
/**
|
|
146
|
+
* This method returns information about the current Qonversion user.
|
|
147
|
+
* @returns the promise with the information about the user.
|
|
148
|
+
*/
|
|
149
|
+
userInfo(): Promise<User>;
|
|
150
|
+
/**
|
|
151
|
+
* Sends your attribution {@link data} to the {@link provider}.
|
|
152
|
+
*
|
|
153
|
+
* @param data an object containing your attribution data
|
|
154
|
+
* @param provider the provider to which the data will be sent
|
|
155
|
+
*/
|
|
156
|
+
attribution(data: Object, provider: AttributionProvider): void;
|
|
157
|
+
/**
|
|
158
|
+
* Sets Qonversion reserved user properties, like email or user id
|
|
159
|
+
*
|
|
160
|
+
* User properties are attributes you can set on a user level.
|
|
161
|
+
* You can send user properties to third party platforms as well as use them in Qonversion for customer segmentation
|
|
162
|
+
* and analytics.
|
|
163
|
+
*
|
|
164
|
+
* Note that using {@link UserPropertyKey.CUSTOM} here will do nothing.
|
|
165
|
+
* To set custom user property, use {@link setCustomUserProperty} method instead.
|
|
166
|
+
*
|
|
167
|
+
* @param key defined enum key that will be transformed to string.
|
|
168
|
+
* @param value property value.
|
|
169
|
+
*
|
|
170
|
+
* @see [documentation](https://documentation.qonversion.io/docs/user-properties)
|
|
171
|
+
*/
|
|
172
|
+
setUserProperty(key: UserPropertyKey, value: string): void;
|
|
173
|
+
/**
|
|
174
|
+
* Adds custom user property.
|
|
175
|
+
*
|
|
176
|
+
* User properties are attributes you can set on a user level.
|
|
177
|
+
* You can send user properties to third party platforms as well as use them in Qonversion for customer segmentation
|
|
178
|
+
* and analytics.
|
|
179
|
+
*
|
|
180
|
+
* @param key custom user property key.
|
|
181
|
+
* @param value property value.
|
|
182
|
+
*
|
|
183
|
+
* @see [documentation](https://documentation.qonversion.io/docs/user-properties)
|
|
184
|
+
*/
|
|
185
|
+
setCustomUserProperty(key: string, value: string): void;
|
|
186
|
+
/**
|
|
187
|
+
* This method returns all the properties, set for the current Qonversion user.
|
|
188
|
+
* All set properties are sent to the server with delay, so if you call
|
|
189
|
+
* this function right after setting some property, it may not be included
|
|
190
|
+
* in the result.
|
|
191
|
+
* @returns the promise with the user properties
|
|
192
|
+
*/
|
|
193
|
+
userProperties(): Promise<UserProperties>;
|
|
194
|
+
/**
|
|
195
|
+
* Provide a listener to be notified about asynchronous user entitlements updates.
|
|
196
|
+
*
|
|
197
|
+
* Make sure you provide this listener for being up-to-date with the user entitlements.
|
|
198
|
+
* Else you can lose some important updates. Also, please, consider that this listener
|
|
199
|
+
* should live for the whole lifetime of the application.
|
|
200
|
+
*
|
|
201
|
+
* You may set entitlements listener both *after* Qonversion SDK initializing
|
|
202
|
+
* with {@link QonversionApi.setEntitlementsUpdateListener} and *while* Qonversion initializing
|
|
203
|
+
* with {@link Qonversion.initialize}.
|
|
204
|
+
*
|
|
205
|
+
* @param listener listener to be called when entitlements update
|
|
206
|
+
*/
|
|
207
|
+
setEntitlementsUpdateListener(listener: EntitlementsUpdateListener): void;
|
|
208
|
+
/**
|
|
209
|
+
* iOS only. Does nothing if called on Android.
|
|
210
|
+
*
|
|
211
|
+
* On iOS 14.5+, after requesting the app tracking permission using ATT, you need to notify Qonversion if tracking
|
|
212
|
+
* is allowed and IDFA is available.
|
|
213
|
+
*/
|
|
214
|
+
collectAdvertisingId(): void;
|
|
215
|
+
/**
|
|
216
|
+
* iOS only. Does nothing if called on Android.
|
|
217
|
+
*
|
|
218
|
+
* Enable attribution collection from Apple Search Ads.
|
|
219
|
+
*/
|
|
220
|
+
collectAppleSearchAdsAttribution(): void;
|
|
221
|
+
/**
|
|
222
|
+
* iOS only. Does nothing if called on Android.
|
|
223
|
+
*
|
|
224
|
+
* Set the delegate to handle promo purchases.
|
|
225
|
+
* The delegate is called when a promo purchase from the App Store happens.
|
|
226
|
+
* @param delegate delegate to be called when event happens.
|
|
227
|
+
*/
|
|
228
|
+
setPromoPurchasesDelegate(delegate: PromoPurchasesListener): void;
|
|
229
|
+
/**
|
|
230
|
+
* iOS only. Does nothing if called on Android.
|
|
231
|
+
*
|
|
232
|
+
* On iOS 14.0+ shows up a sheet for users to redeem App Store offer codes.
|
|
233
|
+
*/
|
|
234
|
+
presentCodeRedemptionSheet(): void;
|
|
235
|
+
/**
|
|
236
|
+
* Returns Qonversion remote config object by {@link contextKey} or default one if the key is not specified.
|
|
237
|
+
* Use this function to get the remote config with specific payload and experiment info.
|
|
238
|
+
* @returns the promise with the remote config.
|
|
239
|
+
*/
|
|
240
|
+
remoteConfig(contextKey: string | undefined): Promise<RemoteConfig>;
|
|
241
|
+
/**
|
|
242
|
+
* Returns Qonversion remote config objects for all existing context key (including empty one).
|
|
243
|
+
* Use this function to get the remote config with specific payload and experiment info.
|
|
244
|
+
* @returns the promise with the remote config list.
|
|
245
|
+
*/
|
|
246
|
+
remoteConfigList(): Promise<RemoteConfigList>;
|
|
247
|
+
/**
|
|
248
|
+
* Returns Qonversion remote config objects by a list of {@link contextKeys}.
|
|
249
|
+
* Use this function to get the remote config with specific payload and experiment info.
|
|
250
|
+
* @param contextKeys list of context keys to load remote configs for
|
|
251
|
+
* @param includeEmptyContextKey set to true if you want to include remote config with empty context key to the result
|
|
252
|
+
* @returns the promise with the remote config list.
|
|
253
|
+
*/
|
|
254
|
+
remoteConfigListForContextKeys(contextKeys: string[], includeEmptyContextKey: boolean): Promise<RemoteConfigList>;
|
|
255
|
+
/**
|
|
256
|
+
* This function should be used for the test purposes only. Do not forget to delete the usage of this function before the release.
|
|
257
|
+
* Use this function to attach the user to the experiment.
|
|
258
|
+
* @param experimentId identifier of the experiment
|
|
259
|
+
* @param groupId identifier of the experiment group
|
|
260
|
+
* @returns the promise for success result or throws an error otherwise.
|
|
261
|
+
*/
|
|
262
|
+
attachUserToExperiment(experimentId: string, groupId: string): Promise<void>;
|
|
263
|
+
/**
|
|
264
|
+
* This function should be used for the test purposes only. Do not forget to delete the usage of this function before the release.
|
|
265
|
+
* Use this function to detach the user from the experiment.
|
|
266
|
+
* @param experimentId identifier of the experiment
|
|
267
|
+
* @returns the promise for success result or throws an error otherwise.
|
|
268
|
+
*/
|
|
269
|
+
detachUserFromExperiment(experimentId: string): Promise<void>;
|
|
270
|
+
/**
|
|
271
|
+
* This function should be used for the test purposes only. Do not forget to delete the usage of this function before the release.
|
|
272
|
+
* Use this function to attach the user to the remote configuration.
|
|
273
|
+
* @param remoteConfigurationId identifier of the remote configuration
|
|
274
|
+
* @returns the promise for success result or throws an error otherwise.
|
|
275
|
+
*/
|
|
276
|
+
attachUserToRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
|
|
277
|
+
/**
|
|
278
|
+
* This function should be used for the test purposes only. Do not forget to delete the usage of this function before the release.
|
|
279
|
+
* Use this function to detach the user from the remote configuration.
|
|
280
|
+
* @param remoteConfigurationId identifier of the remote configuration
|
|
281
|
+
* @returns the promise for success result or throws an error otherwise.
|
|
282
|
+
*/
|
|
283
|
+
detachUserFromRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
|
|
284
|
+
}
|
|
285
|
+
//# sourceMappingURL=QonversionApi.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QonversionApi.d.ts","sourceRoot":"","sources":["../../../src/QonversionApi.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { EntitlementsCacheLifetime, Environment, LaunchMode } from './dto/enums';
|
|
2
|
+
import type { EntitlementsUpdateListener } from './dto/EntitlementsUpdateListener';
|
|
3
|
+
declare class QonversionConfig {
|
|
4
|
+
readonly projectKey: string;
|
|
5
|
+
readonly launchMode: LaunchMode;
|
|
6
|
+
readonly environment: Environment;
|
|
7
|
+
readonly entitlementsCacheLifetime: EntitlementsCacheLifetime;
|
|
8
|
+
readonly entitlementsUpdateListener: EntitlementsUpdateListener | undefined;
|
|
9
|
+
readonly proxyUrl: string | undefined;
|
|
10
|
+
readonly kidsMode: boolean;
|
|
11
|
+
constructor(projectKey: string, launchMode: LaunchMode, environment: Environment | undefined, entitlementsCacheLifetime: EntitlementsCacheLifetime | undefined, entitlementsUpdateListener: EntitlementsUpdateListener | undefined, proxyUrl: string | undefined, kidsMode?: boolean);
|
|
12
|
+
}
|
|
13
|
+
export default QonversionConfig;
|
|
14
|
+
//# sourceMappingURL=QonversionConfig.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QonversionConfig.d.ts","sourceRoot":"","sources":["../../../src/QonversionConfig.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AAEjF,cAAM,gBAAgB;IACpB,QAAQ,CAAC,UAAU,EAAE,MAAM,CAAC;IAC5B,QAAQ,CAAC,UAAU,EAAE,UAAU,CAAC;IAChC,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAC;IAClC,QAAQ,CAAC,yBAAyB,EAAE,yBAAyB,CAAC;IAC9D,QAAQ,CAAC,0BAA0B,EAAE,0BAA0B,GAAG,SAAS,CAAC;IAC5E,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,SAAS,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAC;gBAGzB,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,UAAU,EACtB,WAAW,EAAE,WAAW,YAAyB,EACjD,yBAAyB,EAAE,yBAAyB,YAAkC,EACtF,0BAA0B,EAAE,0BAA0B,GAAG,SAAqB,EAC9E,QAAQ,EAAE,MAAM,GAAG,SAAS,EAC5B,QAAQ,GAAE,OAAe;CAU5B;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,65 @@
|
|
|
1
|
+
import { EntitlementsCacheLifetime, Environment, LaunchMode } from './dto/enums';
|
|
2
|
+
import type { EntitlementsUpdateListener } from './dto/EntitlementsUpdateListener';
|
|
3
|
+
import QonversionConfig from './QonversionConfig';
|
|
4
|
+
declare class QonversionConfigBuilder {
|
|
5
|
+
private readonly projectKey;
|
|
6
|
+
private readonly launchMode;
|
|
7
|
+
constructor(projectKey: string, launchMode: LaunchMode);
|
|
8
|
+
private environment;
|
|
9
|
+
private entitlementsCacheLifetime;
|
|
10
|
+
private entitlementsUpdateListener;
|
|
11
|
+
private proxyUrl;
|
|
12
|
+
private kidsMode;
|
|
13
|
+
/**
|
|
14
|
+
* Set current application {@link Environment}. Used to distinguish sandbox and production users.
|
|
15
|
+
*
|
|
16
|
+
* @param environment current environment.
|
|
17
|
+
* @return builder instance for chain calls.
|
|
18
|
+
*/
|
|
19
|
+
setEnvironment(environment: Environment): QonversionConfigBuilder;
|
|
20
|
+
/**
|
|
21
|
+
* Entitlements cache is used when there are problems with the Qonversion API
|
|
22
|
+
* or internet connection. If so, Qonversion will return the last successfully loaded
|
|
23
|
+
* entitlements. The current method allows you to configure how long that cache may be used.
|
|
24
|
+
* The default value is {@link EntitlementsCacheLifetime.MONTH}.
|
|
25
|
+
*
|
|
26
|
+
* @param lifetime desired entitlements cache lifetime duration
|
|
27
|
+
* @return builder instance for chain calls.
|
|
28
|
+
*/
|
|
29
|
+
setEntitlementsCacheLifetime(lifetime: EntitlementsCacheLifetime): QonversionConfigBuilder;
|
|
30
|
+
/**
|
|
31
|
+
* Provide a listener to be notified about asynchronous user entitlements updates.
|
|
32
|
+
*
|
|
33
|
+
* Make sure you provide this listener for being up-to-date with the user entitlements.
|
|
34
|
+
* Else you can lose some important updates. Also, please, consider that this listener
|
|
35
|
+
* should live for the whole lifetime of the application.
|
|
36
|
+
*
|
|
37
|
+
* @param entitlementsUpdateListener listener to be called when entitlements update.
|
|
38
|
+
* @return builder instance for chain calls.
|
|
39
|
+
*/
|
|
40
|
+
setEntitlementsUpdateListener(entitlementsUpdateListener: EntitlementsUpdateListener): QonversionConfigBuilder;
|
|
41
|
+
/**
|
|
42
|
+
* Provide a URL to your proxy server which will redirect all the requests from the app
|
|
43
|
+
* to our API. Please, contact us before using this feature.
|
|
44
|
+
*
|
|
45
|
+
* @param url your proxy server url
|
|
46
|
+
* @return builder instance for chain calls.
|
|
47
|
+
* @see [The documentation](https://documentation.qonversion.io/docs/custom-proxy-server-for-sdks)
|
|
48
|
+
*/
|
|
49
|
+
setProxyURL(url: string): QonversionConfigBuilder;
|
|
50
|
+
/**
|
|
51
|
+
* Android only.
|
|
52
|
+
* Use this function to enable Qonversion SDK Kids mode.
|
|
53
|
+
* With this mode activated, our SDK does not collect any information that violates Google Children’s Privacy Policy.
|
|
54
|
+
* @return builder instance for chain calls.
|
|
55
|
+
*/
|
|
56
|
+
enableKidsMode(): QonversionConfigBuilder;
|
|
57
|
+
/**
|
|
58
|
+
* Generate {@link QonversionConfig} instance with all the provided configurations.
|
|
59
|
+
*
|
|
60
|
+
* @return the complete {@link QonversionConfig} instance.
|
|
61
|
+
*/
|
|
62
|
+
build(): QonversionConfig;
|
|
63
|
+
}
|
|
64
|
+
export default QonversionConfigBuilder;
|
|
65
|
+
//# sourceMappingURL=QonversionConfigBuilder.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"QonversionConfigBuilder.d.ts","sourceRoot":"","sources":["../../../src/QonversionConfigBuilder.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,yBAAyB,EAAE,WAAW,EAAE,UAAU,EAAC,MAAM,aAAa,CAAC;AAC/E,OAAO,KAAK,EAAC,0BAA0B,EAAC,MAAM,kCAAkC,CAAC;AACjF,OAAO,gBAAgB,MAAM,oBAAoB,CAAC;AAElD,cAAM,uBAAuB;IAC3B,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAS;IACpC,OAAO,CAAC,QAAQ,CAAC,UAAU,CAAa;gBAE5B,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,UAAU;IAKtD,OAAO,CAAC,WAAW,CAAuC;IAC1D,OAAO,CAAC,yBAAyB,CAA8D;IAC/F,OAAO,CAAC,0BAA0B,CAAqD;IACvF,OAAO,CAAC,QAAQ,CAAiC;IACjD,OAAO,CAAC,QAAQ,CAAkB;IAElC;;;;;OAKG;IACH,cAAc,CAAC,WAAW,EAAE,WAAW,GAAG,uBAAuB;IAKjE;;;;;;;;OAQG;IACH,4BAA4B,CAAC,QAAQ,EAAE,yBAAyB,GAAG,uBAAuB;IAK1F;;;;;;;;;OASG;IACH,6BAA6B,CAAC,0BAA0B,EAAE,0BAA0B,GAAG,uBAAuB;IAK9G;;;;;;;OAOG;IACH,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,uBAAuB;IAKjD;;;;;OAKG;IACH,cAAc,IAAI,uBAAuB;IAKzC;;;;OAIG;IACH,KAAK,IAAI,gBAAgB;CAW1B;AAED,eAAe,uBAAuB,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { EntitlementSource, EntitlementRenewState, EntitlementGrantType } from "./enums";
|
|
2
|
+
import Transaction from "./Transaction";
|
|
3
|
+
declare class Entitlement {
|
|
4
|
+
id: string;
|
|
5
|
+
productId: string;
|
|
6
|
+
isActive: boolean;
|
|
7
|
+
renewState: EntitlementRenewState;
|
|
8
|
+
source: EntitlementSource;
|
|
9
|
+
startedDate: Date;
|
|
10
|
+
renewsCount: number;
|
|
11
|
+
grantType: EntitlementGrantType;
|
|
12
|
+
transactions: Array<Transaction>;
|
|
13
|
+
expirationDate?: Date;
|
|
14
|
+
trialStartDate?: Date;
|
|
15
|
+
firstPurchaseDate?: Date;
|
|
16
|
+
lastPurchaseDate?: Date;
|
|
17
|
+
autoRenewDisableDate?: Date;
|
|
18
|
+
lastActivatedOfferCode?: string;
|
|
19
|
+
constructor(id: string, productId: string, isActive: boolean, renewState: EntitlementRenewState, source: EntitlementSource, startedTimestamp: number, renewsCount: number, grantType: EntitlementGrantType, transactions: Array<Transaction>, expirationTimestamp: number | undefined, trialStartTimestamp: number | undefined, firstPurchaseTimestamp: number | undefined, lastPurchaseTimestamp: number | undefined, autoRenewDisableTimestamp: number | undefined, lastActivatedOfferCode: string | undefined);
|
|
20
|
+
}
|
|
21
|
+
export default Entitlement;
|
|
22
|
+
//# sourceMappingURL=Entitlement.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Entitlement.d.ts","sourceRoot":"","sources":["../../../../src/dto/Entitlement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,iBAAiB,EAAE,qBAAqB,EAAE,oBAAoB,EAAC,MAAM,SAAS,CAAC;AACvF,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,cAAM,WAAW;IACf,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,MAAM,CAAC;IAClB,QAAQ,EAAE,OAAO,CAAC;IAClB,UAAU,EAAE,qBAAqB,CAAC;IAClC,MAAM,EAAE,iBAAiB,CAAC;IAC1B,WAAW,EAAE,IAAI,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IACpB,SAAS,EAAE,oBAAoB,CAAC;IAChC,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;IACjC,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,IAAI,CAAC;IACtB,iBAAiB,CAAC,EAAE,IAAI,CAAC;IACzB,gBAAgB,CAAC,EAAE,IAAI,CAAC;IACxB,oBAAoB,CAAC,EAAE,IAAI,CAAC;IAC5B,sBAAsB,CAAC,EAAE,MAAM,CAAC;gBAG9B,EAAE,EAAE,MAAM,EACV,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,EACjB,UAAU,EAAE,qBAAqB,EACjC,MAAM,EAAE,iBAAiB,EACzB,gBAAgB,EAAE,MAAM,EACxB,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,oBAAoB,EAC/B,YAAY,EAAE,KAAK,CAAC,WAAW,CAAC,EAChC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,mBAAmB,EAAE,MAAM,GAAG,SAAS,EACvC,sBAAsB,EAAE,MAAM,GAAG,SAAS,EAC1C,qBAAqB,EAAE,MAAM,GAAG,SAAS,EACzC,yBAAyB,EAAE,MAAM,GAAG,SAAS,EAC7C,sBAAsB,EAAE,MAAM,GAAG,SAAS;CAmB7C;AAED,eAAe,WAAW,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import Entitlement from './Entitlement';
|
|
2
|
+
export interface EntitlementsUpdateListener {
|
|
3
|
+
/**
|
|
4
|
+
* Called when entitlements update.
|
|
5
|
+
* For example, when pending purchases like SCA, Ask to buy, etc., happen.
|
|
6
|
+
* @param entitlements all the client's entitlements after update.
|
|
7
|
+
*/
|
|
8
|
+
onEntitlementsUpdated(entitlements: Map<string, Entitlement>): void;
|
|
9
|
+
}
|
|
10
|
+
//# sourceMappingURL=EntitlementsUpdateListener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"EntitlementsUpdateListener.d.ts","sourceRoot":"","sources":["../../../../src/dto/EntitlementsUpdateListener.ts"],"names":[],"mappings":"AAAA,OAAO,WAAW,MAAM,eAAe,CAAC;AAExC,MAAM,WAAW,0BAA0B;IAEzC;;;;OAIG;IACH,qBAAqB,CAAC,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,GAAG,IAAI,CAAC;CACrE"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import ExperimentGroup from "./ExperimentGroup";
|
|
2
|
+
declare class Experiment {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
group: ExperimentGroup;
|
|
6
|
+
constructor(id: string, name: string, group: ExperimentGroup);
|
|
7
|
+
}
|
|
8
|
+
export default Experiment;
|
|
9
|
+
//# sourceMappingURL=Experiment.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Experiment.d.ts","sourceRoot":"","sources":["../../../../src/dto/Experiment.ts"],"names":[],"mappings":"AAAA,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,cAAM,UAAU;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,eAAe,CAAC;gBAEX,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE,eAAe;CAK/D;AAED,eAAe,UAAU,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import { ExperimentGroupType } from "./enums";
|
|
2
|
+
declare class ExperimentGroup {
|
|
3
|
+
id: string;
|
|
4
|
+
name: string;
|
|
5
|
+
type: ExperimentGroupType;
|
|
6
|
+
constructor(id: string, name: string, type: ExperimentGroupType);
|
|
7
|
+
}
|
|
8
|
+
export default ExperimentGroup;
|
|
9
|
+
//# sourceMappingURL=ExperimentGroup.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ExperimentGroup.d.ts","sourceRoot":"","sources":["../../../../src/dto/ExperimentGroup.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAE9C,cAAM,eAAe;IACjB,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,mBAAmB,CAAC;gBAEd,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,mBAAmB;CAKlE;AAED,eAAe,eAAe,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"IntroEligibility.d.ts","sourceRoot":"","sources":["../../../../src/dto/IntroEligibility.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,SAAS,CAAC;AAEjD,cAAM,gBAAgB;IACpB,MAAM,CAAC,EAAE,sBAAsB,CAAC;gBAEpB,MAAM,EAAE,sBAAsB,GAAG,SAAS;CAGvD;AAED,eAAe,gBAAgB,CAAC"}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import { ActionType } from "./enums";
|
|
2
|
+
import NoCodesError from './NoCodesError';
|
|
3
|
+
declare class NoCodesAction {
|
|
4
|
+
type: ActionType;
|
|
5
|
+
value: Map<string, string | undefined> | undefined;
|
|
6
|
+
error: NoCodesError | undefined;
|
|
7
|
+
constructor(type: ActionType, value: Map<string, string | undefined> | undefined, error: NoCodesError | undefined);
|
|
8
|
+
}
|
|
9
|
+
export default NoCodesAction;
|
|
10
|
+
//# sourceMappingURL=NoCodesAction.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoCodesAction.d.ts","sourceRoot":"","sources":["../../../../src/dto/NoCodesAction.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,UAAU,EAAC,MAAM,SAAS,CAAC;AACnC,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,cAAM,aAAa;IAEjB,IAAI,EAAE,UAAU,CAAC;IACjB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,CAAC;IACnD,KAAK,EAAE,YAAY,GAAG,SAAS,CAAC;gBAG9B,IAAI,EAAE,UAAU,EAChB,KAAK,EAAE,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,SAAS,CAAC,GAAG,SAAS,EAClD,KAAK,EAAE,YAAY,GAAG,SAAS;CAMlC;AAED,eAAe,aAAa,CAAC"}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
import { NoCodesErrorCode } from './enums';
|
|
2
|
+
import QonversionError from './QonversionError';
|
|
3
|
+
declare class NoCodesError {
|
|
4
|
+
code: NoCodesErrorCode;
|
|
5
|
+
description?: string | null;
|
|
6
|
+
additionalMessage?: string | null;
|
|
7
|
+
domain?: string | null;
|
|
8
|
+
error?: QonversionError;
|
|
9
|
+
constructor(code: NoCodesErrorCode, description?: string | null, additionalMessage?: string | null, domain?: string | null, error?: QonversionError);
|
|
10
|
+
}
|
|
11
|
+
export default NoCodesError;
|
|
12
|
+
//# sourceMappingURL=NoCodesError.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoCodesError.d.ts","sourceRoot":"","sources":["../../../../src/dto/NoCodesError.ts"],"names":[],"mappings":"AAAA,OAAO,EAAC,gBAAgB,EAAC,MAAM,SAAS,CAAC;AACzC,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAEhD,cAAM,YAAY;IAChB,IAAI,EAAE,gBAAgB,CAAC;IACvB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAClC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,KAAK,CAAC,EAAE,eAAe,CAAC;gBAGtB,IAAI,EAAE,gBAAgB,EACtB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,EAC3B,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,EACjC,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,EACtB,KAAK,CAAC,EAAE,eAAe;CAQ1B;AAED,eAAe,YAAY,CAAC"}
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
import NoCodesAction from './NoCodesAction';
|
|
2
|
+
import NoCodesError from './NoCodesError';
|
|
3
|
+
export interface NoCodesListener {
|
|
4
|
+
/**
|
|
5
|
+
* Called when No-Codes screen is shown
|
|
6
|
+
* @param id screen identifier
|
|
7
|
+
*/
|
|
8
|
+
onScreenShown: (id: string) => void;
|
|
9
|
+
/**
|
|
10
|
+
* Called when No-Codes starts executing action
|
|
11
|
+
* @param action No-Codes action
|
|
12
|
+
*/
|
|
13
|
+
onActionStartedExecuting: (action: NoCodesAction) => void;
|
|
14
|
+
/**
|
|
15
|
+
* Called when No-Codes fails to execute action
|
|
16
|
+
* @param action No-Codes action
|
|
17
|
+
*/
|
|
18
|
+
onActionFailedToExecute: (action: NoCodesAction) => void;
|
|
19
|
+
/**
|
|
20
|
+
* Called when No-Codes finishes executing action
|
|
21
|
+
* @param action No-Codes action
|
|
22
|
+
*/
|
|
23
|
+
onActionFinishedExecuting: (action: NoCodesAction) => void;
|
|
24
|
+
/**
|
|
25
|
+
* Called when No-Codes flow is finished
|
|
26
|
+
*/
|
|
27
|
+
onFinished: () => void;
|
|
28
|
+
/**
|
|
29
|
+
* Called when No-Codes fails to load screen
|
|
30
|
+
* @param error error that occurred
|
|
31
|
+
*/
|
|
32
|
+
onScreenFailedToLoad: (error: NoCodesError) => void;
|
|
33
|
+
}
|
|
34
|
+
//# sourceMappingURL=NoCodesListener.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"NoCodesListener.d.ts","sourceRoot":"","sources":["../../../../src/dto/NoCodesListener.ts"],"names":[],"mappings":"AAAA,OAAO,aAAa,MAAM,iBAAiB,CAAC;AAC5C,OAAO,YAAY,MAAM,gBAAgB,CAAC;AAE1C,MAAM,WAAW,eAAe;IAC5B;;;OAGG;IACH,aAAa,EAAE,CAAC,EAAE,EAAE,MAAM,KAAK,IAAI,CAAC;IAEpC;;;OAGG;IACH,wBAAwB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAE1D;;;OAGG;IACH,uBAAuB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAEzD;;;OAGG;IACH,yBAAyB,EAAE,CAAC,MAAM,EAAE,aAAa,KAAK,IAAI,CAAC;IAE3D;;OAEG;IACH,UAAU,EAAE,MAAM,IAAI,CAAC;IAEvB;;;OAGG;IACH,oBAAoB,EAAE,CAAC,KAAK,EAAE,YAAY,KAAK,IAAI,CAAC;CACvD"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
import type { OfferingTags } from "./enums";
|
|
2
|
+
import Product from "./Product";
|
|
3
|
+
declare class Offering {
|
|
4
|
+
id: string;
|
|
5
|
+
tag: OfferingTags;
|
|
6
|
+
products: Array<Product>;
|
|
7
|
+
constructor(id: string, tag: OfferingTags, products: Product[]);
|
|
8
|
+
productForIdentifier(identifier: string): Product | undefined;
|
|
9
|
+
}
|
|
10
|
+
export default Offering;
|
|
11
|
+
//# sourceMappingURL=Offering.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Offering.d.ts","sourceRoot":"","sources":["../../../../src/dto/Offering.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAC5C,OAAO,OAAO,MAAM,WAAW,CAAC;AAEhC,cAAM,QAAQ;IACZ,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,YAAY,CAAC;IAClB,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;gBAEb,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,YAAY,EAAE,QAAQ,EAAE,OAAO,EAAE;IAM9D,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;CAG9D;AAED,eAAe,QAAQ,CAAC"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
import Offering from "./Offering";
|
|
2
|
+
declare class Offerings {
|
|
3
|
+
main: Offering | null;
|
|
4
|
+
availableOffering: Array<Offering>;
|
|
5
|
+
constructor(main: Offering | null, availableOfferings: Array<Offering>);
|
|
6
|
+
offeringForIdentifier(identifier: string): Offering | undefined;
|
|
7
|
+
}
|
|
8
|
+
export default Offerings;
|
|
9
|
+
//# sourceMappingURL=Offerings.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"Offerings.d.ts","sourceRoot":"","sources":["../../../../src/dto/Offerings.ts"],"names":[],"mappings":"AAAA,OAAO,QAAQ,MAAM,YAAY,CAAC;AAElC,cAAM,SAAS;IACb,IAAI,EAAE,QAAQ,GAAG,IAAI,CAAC;IACtB,iBAAiB,EAAE,KAAK,CAAC,QAAQ,CAAC,CAAC;gBAEvB,IAAI,EAAE,QAAQ,GAAG,IAAI,EAAE,kBAAkB,EAAE,KAAK,CAAC,QAAQ,CAAC;IAKtE,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,QAAQ,GAAG,SAAS;CAGhE;AAED,eAAe,SAAS,CAAC"}
|