@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,250 @@
|
|
|
1
|
+
//
|
|
2
|
+
// RNQonversionImpl.swift
|
|
3
|
+
// qonversion-react-native-sdk
|
|
4
|
+
//
|
|
5
|
+
// Created by Kamo Spertsyan on 14.08.2025.
|
|
6
|
+
//
|
|
7
|
+
|
|
8
|
+
import Foundation
|
|
9
|
+
import QonversionSandwich
|
|
10
|
+
import React
|
|
11
|
+
|
|
12
|
+
@objc
|
|
13
|
+
public protocol QonversionEventDelegate {
|
|
14
|
+
func shouldPurchasePromoProduct(with productId: String)
|
|
15
|
+
func qonversionDidReceiveUpdatedEntitlements(_ entitlements: [String: Any])
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
class QonversionEventHandler: QonversionEventListener {
|
|
19
|
+
weak var delegate: QonversionEventDelegate?
|
|
20
|
+
|
|
21
|
+
func shouldPurchasePromoProduct(with productId: String) {
|
|
22
|
+
delegate?.shouldPurchasePromoProduct(with: productId)
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
func qonversionDidReceiveUpdatedEntitlements(_ entitlements: [String: Any]) {
|
|
26
|
+
delegate?.qonversionDidReceiveUpdatedEntitlements(entitlements)
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
@objc
|
|
31
|
+
public class RNQonversionImpl: NSObject {
|
|
32
|
+
|
|
33
|
+
var qonversionSandwich: QonversionSandwich?
|
|
34
|
+
var eventHandler: QonversionEventHandler
|
|
35
|
+
|
|
36
|
+
public override init() {
|
|
37
|
+
eventHandler = QonversionEventHandler()
|
|
38
|
+
|
|
39
|
+
super.init()
|
|
40
|
+
|
|
41
|
+
qonversionSandwich = QonversionSandwich(qonversionEventListener: eventHandler)
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
@objc
|
|
45
|
+
public func setDelegate(_ delegate: QonversionEventDelegate?) {
|
|
46
|
+
eventHandler.delegate = delegate
|
|
47
|
+
}
|
|
48
|
+
|
|
49
|
+
@objc
|
|
50
|
+
public func storeSDKInfo(_ source: String, version: String) {
|
|
51
|
+
qonversionSandwich?.storeSdkInfo(source: source, version: version)
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
@objc
|
|
55
|
+
public func initializeSdk(_ key: String, launchModeKey: String, environmentKey: String, cacheLifetimeKey: String, proxyUrl: String, kidsMode: Bool) {
|
|
56
|
+
qonversionSandwich?.initialize(projectKey: key, launchModeKey: launchModeKey, environmentKey: environmentKey, entitlementsCacheLifetimeKey: cacheLifetimeKey, proxyUrl: proxyUrl)
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
@objc
|
|
60
|
+
public func syncHistoricalData() {
|
|
61
|
+
qonversionSandwich?.syncHistoricalData()
|
|
62
|
+
}
|
|
63
|
+
|
|
64
|
+
@objc
|
|
65
|
+
public func syncStoreKit2Purchases() {
|
|
66
|
+
qonversionSandwich?.syncStoreKit2Purchases()
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
@objc
|
|
70
|
+
public func getPromotionalOffer(_ productId: String, discountId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
71
|
+
qonversionSandwich?.getPromotionalOffer(productId, productDiscountId: discountId, completion: { result, error in
|
|
72
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
73
|
+
})
|
|
74
|
+
}
|
|
75
|
+
|
|
76
|
+
@objc
|
|
77
|
+
public func purchase(_ productId: String, quantity: Int, contextKeys: [String], promoOffer: [String: Any], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
78
|
+
qonversionSandwich?.purchase(productId, quantity: quantity, contextKeys: contextKeys, promoOffer: promoOffer, completion: { result, error in
|
|
79
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
80
|
+
})
|
|
81
|
+
}
|
|
82
|
+
|
|
83
|
+
@objc
|
|
84
|
+
public func setDefinedProperty(_ property: String, value: String) {
|
|
85
|
+
qonversionSandwich?.setDefinedProperty(property, value: value)
|
|
86
|
+
}
|
|
87
|
+
|
|
88
|
+
@objc
|
|
89
|
+
public func setCustomProperty(_ property: String, value: String) {
|
|
90
|
+
qonversionSandwich?.setCustomProperty(property, value: value)
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
@objc
|
|
94
|
+
public func userProperties(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
95
|
+
qonversionSandwich?.userProperties { result, error in
|
|
96
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
|
|
100
|
+
@objc
|
|
101
|
+
public func addAttributionData(_ data: [String: Any], provider: String) {
|
|
102
|
+
qonversionSandwich?.attribution(providerKey: provider, value: data)
|
|
103
|
+
}
|
|
104
|
+
|
|
105
|
+
@objc
|
|
106
|
+
public func checkEntitlements(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
107
|
+
qonversionSandwich?.checkEntitlements { result, error in
|
|
108
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
|
|
112
|
+
@objc
|
|
113
|
+
public func products(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
114
|
+
qonversionSandwich?.products { result, error in
|
|
115
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
|
|
119
|
+
@objc
|
|
120
|
+
public func offerings(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
121
|
+
qonversionSandwich?.offerings { result, error in
|
|
122
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
|
|
126
|
+
@objc
|
|
127
|
+
public func checkTrialIntroEligibility(forProductIds data: [String], resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
128
|
+
qonversionSandwich?.checkTrialIntroEligibility(data) { result, error in
|
|
129
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
130
|
+
}
|
|
131
|
+
}
|
|
132
|
+
|
|
133
|
+
@objc
|
|
134
|
+
public func restore(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
135
|
+
qonversionSandwich?.restore { result, error in
|
|
136
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
|
|
140
|
+
@objc
|
|
141
|
+
public func identify(_ userId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
142
|
+
qonversionSandwich?.identify(userId) { result, error in
|
|
143
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
144
|
+
}
|
|
145
|
+
}
|
|
146
|
+
|
|
147
|
+
@objc
|
|
148
|
+
public func logout() {
|
|
149
|
+
qonversionSandwich?.logout()
|
|
150
|
+
}
|
|
151
|
+
|
|
152
|
+
@objc
|
|
153
|
+
public func userInfo(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
154
|
+
qonversionSandwich?.userInfo { result, error in
|
|
155
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
156
|
+
}
|
|
157
|
+
}
|
|
158
|
+
|
|
159
|
+
@objc
|
|
160
|
+
public func remoteConfig(_ contextKey: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
161
|
+
qonversionSandwich?.remoteConfig(contextKey) { result, error in
|
|
162
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
|
|
166
|
+
@objc
|
|
167
|
+
public func remoteConfigList(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
168
|
+
qonversionSandwich?.remoteConfigList { result, error in
|
|
169
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
170
|
+
}
|
|
171
|
+
}
|
|
172
|
+
|
|
173
|
+
@objc
|
|
174
|
+
public func remoteConfigList(forContextKeys contextKeys: [String], includeEmptyContextKey: Bool, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
175
|
+
qonversionSandwich?.remoteConfigList(contextKeys, includeEmptyContextKey: includeEmptyContextKey) { result, error in
|
|
176
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
177
|
+
}
|
|
178
|
+
}
|
|
179
|
+
|
|
180
|
+
@objc
|
|
181
|
+
public func attachUserToExperiment(_ experimentId: String, groupId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
182
|
+
qonversionSandwich?.attachUserToExperiment(with: experimentId, groupId: groupId) { result, error in
|
|
183
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
|
|
187
|
+
@objc
|
|
188
|
+
public func detachUserFromExperiment(_ experimentId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
189
|
+
qonversionSandwich?.detachUserFromExperiment(with: experimentId) { result, error in
|
|
190
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
191
|
+
}
|
|
192
|
+
}
|
|
193
|
+
|
|
194
|
+
@objc
|
|
195
|
+
public func attachUserToRemoteConfiguration(_ remoteConfigurationId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
196
|
+
qonversionSandwich?.attachUserToRemoteConfiguration(with: remoteConfigurationId) { result, error in
|
|
197
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
198
|
+
}
|
|
199
|
+
}
|
|
200
|
+
|
|
201
|
+
@objc
|
|
202
|
+
public func detachUserFromRemoteConfiguration(_ remoteConfigurationId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
203
|
+
qonversionSandwich?.detachUserFromRemoteConfiguration(with: remoteConfigurationId) { result, error in
|
|
204
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
205
|
+
}
|
|
206
|
+
}
|
|
207
|
+
|
|
208
|
+
@objc
|
|
209
|
+
public func isFallbackFileAccessible(_ resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
210
|
+
qonversionSandwich?.isFallbackFileAccessible { result, error in
|
|
211
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
|
|
215
|
+
@objc
|
|
216
|
+
public func collectAdvertisingId() {
|
|
217
|
+
qonversionSandwich?.collectAdvertisingId()
|
|
218
|
+
}
|
|
219
|
+
|
|
220
|
+
@objc
|
|
221
|
+
public func collectAppleSearchAdsAttribution() {
|
|
222
|
+
qonversionSandwich?.collectAppleSearchAdsAttribution()
|
|
223
|
+
}
|
|
224
|
+
|
|
225
|
+
@objc
|
|
226
|
+
public func promoPurchase(_ storeProductId: String, resolve: @escaping RCTPromiseResolveBlock, reject: @escaping RCTPromiseRejectBlock) {
|
|
227
|
+
qonversionSandwich?.promoPurchase(storeProductId) { result, error in
|
|
228
|
+
self.handleResult(result: result, error: error, resolve: resolve, reject: reject)
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
|
|
232
|
+
@objc
|
|
233
|
+
public func presentCodeRedemptionSheet() {
|
|
234
|
+
if #available(iOS 14.0, *) {
|
|
235
|
+
qonversionSandwich?.presentCodeRedemptionSheet()
|
|
236
|
+
}
|
|
237
|
+
}
|
|
238
|
+
|
|
239
|
+
private func handleResult(result: [String: Any]?, error: SandwichError?, resolve: RCTPromiseResolveBlock, reject: RCTPromiseRejectBlock) {
|
|
240
|
+
if let error {
|
|
241
|
+
reject(error.code, error.details, nil)
|
|
242
|
+
return
|
|
243
|
+
}
|
|
244
|
+
if let result {
|
|
245
|
+
resolve(result)
|
|
246
|
+
} else {
|
|
247
|
+
resolve([:])
|
|
248
|
+
}
|
|
249
|
+
}
|
|
250
|
+
}
|
|
@@ -0,0 +1,32 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NoCodesInternal from "./internal/NoCodesInternal.js";
|
|
4
|
+
export default class NoCodes {
|
|
5
|
+
constructor() {}
|
|
6
|
+
/**
|
|
7
|
+
* Use this variable to get a current initialized instance of the NoCodes SDK.
|
|
8
|
+
* Please, use the property only after calling {@link NoCodes.initialize}.
|
|
9
|
+
* Otherwise, trying to access the variable will cause an exception.
|
|
10
|
+
*
|
|
11
|
+
* @return Current initialized instance of the NoCodes SDK.
|
|
12
|
+
* @throws error if the instance has not been initialized
|
|
13
|
+
*/
|
|
14
|
+
static getSharedInstance() {
|
|
15
|
+
if (!this.backingInstance) {
|
|
16
|
+
throw "No-Codes has not been initialized. You should call " + "the initialize method before accessing the shared instance of NoCodes.";
|
|
17
|
+
}
|
|
18
|
+
return this.backingInstance;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* An entry point to use No-Codes SDK. Call to initialize No-Codes SDK with required configs.
|
|
23
|
+
*
|
|
24
|
+
* @param config a config that contains key SDK settings.
|
|
25
|
+
* @return Initialized instance of the No-Codes SDK.
|
|
26
|
+
*/
|
|
27
|
+
static initialize(config) {
|
|
28
|
+
this.backingInstance = new NoCodesInternal(config);
|
|
29
|
+
return this.backingInstance;
|
|
30
|
+
}
|
|
31
|
+
}
|
|
32
|
+
//# sourceMappingURL=NoCodes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NoCodesInternal","NoCodes","constructor","getSharedInstance","backingInstance","initialize","config"],"sourceRoot":"../../src","sources":["NoCodes.ts"],"mappings":";;AAEA,OAAOA,eAAe,MAAM,+BAA4B;AAExD,eAAe,MAAMC,OAAO,CAAC;EACnBC,WAAWA,CAAA,EAAG,CAAC;EAIvB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,iBAAiBA,CAAA,EAAe;IACrC,IAAI,CAAC,IAAI,CAACC,eAAe,EAAE;MACzB,MAAM,qDAAqD,GACzD,wEAAwE;IAC5E;IAEA,OAAO,IAAI,CAACA,eAAe;EAC7B;;EAEA;AACF;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CAACC,MAAqB,EAAc;IACnD,IAAI,CAACF,eAAe,GAAG,IAAIJ,eAAe,CAACM,MAAM,CAAC;IAClD,OAAO,IAAI,CAACF,eAAe;EAC7B;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["NoCodesApi.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NoCodesConfig","constructor","projectKey","noCodesListener","undefined"],"sourceRoot":"../../src","sources":["NoCodesConfig.ts"],"mappings":";;AAEA,MAAMA,aAAa,CAAC;EAIlBC,WAAWA,CACTC,UAAkB,EAClBC,eAA4C,GAAGC,SAAS,EACxD;IACA,IAAI,CAACF,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,eAAe,GAAGA,eAAe;EACxC;AACF;AAEA,eAAeH,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import NoCodesConfig from "./NoCodesConfig.js";
|
|
4
|
+
class NoCodesConfigBuilder {
|
|
5
|
+
noCodesListener = undefined;
|
|
6
|
+
constructor(projectKey) {
|
|
7
|
+
this.projectKey = projectKey;
|
|
8
|
+
}
|
|
9
|
+
|
|
10
|
+
/**
|
|
11
|
+
* Provide a listener to be notified about NoCodes events.
|
|
12
|
+
*
|
|
13
|
+
* Make sure you provide this listener for being up-to-date with the NoCodes events.
|
|
14
|
+
* Else you can lose some important updates. Also, please, consider that this listener
|
|
15
|
+
* should live for the whole lifetime of the application.
|
|
16
|
+
*
|
|
17
|
+
* @param noCodesListener listener to be called when NoCodes events occur.
|
|
18
|
+
* @return builder instance for chain calls.
|
|
19
|
+
*/
|
|
20
|
+
setNoCodesListener(noCodesListener) {
|
|
21
|
+
this.noCodesListener = noCodesListener;
|
|
22
|
+
return this;
|
|
23
|
+
}
|
|
24
|
+
|
|
25
|
+
/**
|
|
26
|
+
* Generate {@link NoCodesConfig} instance with all the provided configurations.
|
|
27
|
+
*
|
|
28
|
+
* @return the complete {@link NoCodesConfig} instance.
|
|
29
|
+
*/
|
|
30
|
+
build() {
|
|
31
|
+
return new NoCodesConfig(this.projectKey, this.noCodesListener);
|
|
32
|
+
}
|
|
33
|
+
}
|
|
34
|
+
export default NoCodesConfigBuilder;
|
|
35
|
+
//# sourceMappingURL=NoCodesConfigBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NoCodesConfig","NoCodesConfigBuilder","noCodesListener","undefined","constructor","projectKey","setNoCodesListener","build"],"sourceRoot":"../../src","sources":["NoCodesConfigBuilder.ts"],"mappings":";;AACA,OAAOA,aAAa,MAAM,oBAAiB;AAE3C,MAAMC,oBAAoB,CAAC;EAEjBC,eAAe,GAAgCC,SAAS;EAEhEC,WAAWA,CAACC,UAAkB,EAAE;IAC9B,IAAI,CAACA,UAAU,GAAGA,UAAU;EAC9B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,kBAAkBA,CAACJ,eAAgC,EAAwB;IACzE,IAAI,CAACA,eAAe,GAAGA,eAAe;IACtC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACEK,KAAKA,CAAA,EAAkB;IACrB,OAAO,IAAIP,aAAa,CACtB,IAAI,CAACK,UAAU,EACf,IAAI,CAACH,eACP,CAAC;EACH;AACF;AAEA,eAAeD,oBAAoB","ignoreList":[]}
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import QonversionInternal from "./internal/QonversionInternal.js";
|
|
4
|
+
export default class Qonversion {
|
|
5
|
+
constructor() {}
|
|
6
|
+
/**
|
|
7
|
+
* Use this variable to get a current initialized instance of the Qonversion SDK.
|
|
8
|
+
* Please, use the property only after calling {@link Qonversion.initialize}.
|
|
9
|
+
* Otherwise, trying to access the variable will cause an exception.
|
|
10
|
+
*
|
|
11
|
+
* @return Current initialized instance of the Qonversion SDK.
|
|
12
|
+
* @throws error if the instance has not been initialized
|
|
13
|
+
*/
|
|
14
|
+
static getSharedInstance() {
|
|
15
|
+
if (!this.backingInstance) {
|
|
16
|
+
throw "Qonversion has not been initialized. You should call " + "the initialize method before accessing the shared instance of Qonversion.";
|
|
17
|
+
}
|
|
18
|
+
return this.backingInstance;
|
|
19
|
+
}
|
|
20
|
+
|
|
21
|
+
/**
|
|
22
|
+
* An entry point to use Qonversion SDK. Call to initialize Qonversion SDK with required and extra configs.
|
|
23
|
+
* The function is the best way to set additional configs you need to use Qonversion SDK.
|
|
24
|
+
* You still have an option to set a part of additional configs later via calling separate setters.
|
|
25
|
+
*
|
|
26
|
+
* @param config a config that contains key SDK settings.
|
|
27
|
+
* Call {@link QonversionConfigBuilder.build} to configure and create a QonversionConfig instance.
|
|
28
|
+
* @return Initialized instance of the Qonversion SDK.
|
|
29
|
+
*/
|
|
30
|
+
static initialize(config) {
|
|
31
|
+
this.backingInstance = new QonversionInternal(config);
|
|
32
|
+
return this.backingInstance;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
//# sourceMappingURL=Qonversion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["QonversionInternal","Qonversion","constructor","getSharedInstance","backingInstance","initialize","config"],"sourceRoot":"../../src","sources":["Qonversion.ts"],"mappings":";;AAEA,OAAOA,kBAAkB,MAAM,kCAA+B;AAE9D,eAAe,MAAMC,UAAU,CAAC;EACtBC,WAAWA,CAAA,EAAG,CAAC;EAIvB;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,iBAAiBA,CAAA,EAAkB;IACxC,IAAI,CAAC,IAAI,CAACC,eAAe,EAAE;MACzB,MAAM,uDAAuD,GAC3D,2EAA2E;IAC/E;IAEA,OAAO,IAAI,CAACA,eAAe;EAC7B;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACE,OAAOC,UAAUA,CAACC,MAAwB,EAAiB;IACzD,IAAI,CAACF,eAAe,GAAG,IAAIJ,kBAAkB,CAACM,MAAM,CAAC;IACrD,OAAO,IAAI,CAACF,eAAe;EAC7B;AACF","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../src","sources":["QonversionApi.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { EntitlementsCacheLifetime, Environment } from "./dto/enums.js";
|
|
4
|
+
class QonversionConfig {
|
|
5
|
+
constructor(projectKey, launchMode, environment = Environment.PRODUCTION, entitlementsCacheLifetime = EntitlementsCacheLifetime.MONTH, entitlementsUpdateListener = undefined, proxyUrl, kidsMode = false) {
|
|
6
|
+
this.projectKey = projectKey;
|
|
7
|
+
this.launchMode = launchMode;
|
|
8
|
+
this.environment = environment;
|
|
9
|
+
this.entitlementsCacheLifetime = entitlementsCacheLifetime;
|
|
10
|
+
this.entitlementsUpdateListener = entitlementsUpdateListener;
|
|
11
|
+
this.proxyUrl = proxyUrl;
|
|
12
|
+
this.kidsMode = kidsMode;
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
export default QonversionConfig;
|
|
16
|
+
//# sourceMappingURL=QonversionConfig.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EntitlementsCacheLifetime","Environment","QonversionConfig","constructor","projectKey","launchMode","environment","PRODUCTION","entitlementsCacheLifetime","MONTH","entitlementsUpdateListener","undefined","proxyUrl","kidsMode"],"sourceRoot":"../../src","sources":["QonversionConfig.ts"],"mappings":";;AAAA,SAAQA,yBAAyB,EAAEC,WAAW,QAAmB,gBAAa;AAG9E,MAAMC,gBAAgB,CAAC;EASrBC,WAAWA,CACTC,UAAkB,EAClBC,UAAsB,EACtBC,WAAwB,GAAGL,WAAW,CAACM,UAAU,EACjDC,yBAAoD,GAAGR,yBAAyB,CAACS,KAAK,EACtFC,0BAAkE,GAAGC,SAAS,EAC9EC,QAA4B,EAC5BC,QAAiB,GAAG,KAAK,EACzB;IACA,IAAI,CAACT,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACE,yBAAyB,GAAGA,yBAAyB;IAC1D,IAAI,CAACE,0BAA0B,GAAGA,0BAA0B;IAC5D,IAAI,CAACE,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,QAAQ,GAAGA,QAAQ;EAC1B;AACF;AAEA,eAAeX,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1,90 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
import { EntitlementsCacheLifetime, Environment } from "./dto/enums.js";
|
|
4
|
+
import QonversionConfig from "./QonversionConfig.js";
|
|
5
|
+
class QonversionConfigBuilder {
|
|
6
|
+
constructor(projectKey, launchMode) {
|
|
7
|
+
this.projectKey = projectKey;
|
|
8
|
+
this.launchMode = launchMode;
|
|
9
|
+
}
|
|
10
|
+
environment = Environment.PRODUCTION;
|
|
11
|
+
entitlementsCacheLifetime = EntitlementsCacheLifetime.MONTH;
|
|
12
|
+
entitlementsUpdateListener = undefined;
|
|
13
|
+
proxyUrl = undefined;
|
|
14
|
+
kidsMode = false;
|
|
15
|
+
|
|
16
|
+
/**
|
|
17
|
+
* Set current application {@link Environment}. Used to distinguish sandbox and production users.
|
|
18
|
+
*
|
|
19
|
+
* @param environment current environment.
|
|
20
|
+
* @return builder instance for chain calls.
|
|
21
|
+
*/
|
|
22
|
+
setEnvironment(environment) {
|
|
23
|
+
this.environment = environment;
|
|
24
|
+
return this;
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
/**
|
|
28
|
+
* Entitlements cache is used when there are problems with the Qonversion API
|
|
29
|
+
* or internet connection. If so, Qonversion will return the last successfully loaded
|
|
30
|
+
* entitlements. The current method allows you to configure how long that cache may be used.
|
|
31
|
+
* The default value is {@link EntitlementsCacheLifetime.MONTH}.
|
|
32
|
+
*
|
|
33
|
+
* @param lifetime desired entitlements cache lifetime duration
|
|
34
|
+
* @return builder instance for chain calls.
|
|
35
|
+
*/
|
|
36
|
+
setEntitlementsCacheLifetime(lifetime) {
|
|
37
|
+
this.entitlementsCacheLifetime = lifetime;
|
|
38
|
+
return this;
|
|
39
|
+
}
|
|
40
|
+
|
|
41
|
+
/**
|
|
42
|
+
* Provide a listener to be notified about asynchronous user entitlements updates.
|
|
43
|
+
*
|
|
44
|
+
* Make sure you provide this listener for being up-to-date with the user entitlements.
|
|
45
|
+
* Else you can lose some important updates. Also, please, consider that this listener
|
|
46
|
+
* should live for the whole lifetime of the application.
|
|
47
|
+
*
|
|
48
|
+
* @param entitlementsUpdateListener listener to be called when entitlements update.
|
|
49
|
+
* @return builder instance for chain calls.
|
|
50
|
+
*/
|
|
51
|
+
setEntitlementsUpdateListener(entitlementsUpdateListener) {
|
|
52
|
+
this.entitlementsUpdateListener = entitlementsUpdateListener;
|
|
53
|
+
return this;
|
|
54
|
+
}
|
|
55
|
+
|
|
56
|
+
/**
|
|
57
|
+
* Provide a URL to your proxy server which will redirect all the requests from the app
|
|
58
|
+
* to our API. Please, contact us before using this feature.
|
|
59
|
+
*
|
|
60
|
+
* @param url your proxy server url
|
|
61
|
+
* @return builder instance for chain calls.
|
|
62
|
+
* @see [The documentation](https://documentation.qonversion.io/docs/custom-proxy-server-for-sdks)
|
|
63
|
+
*/
|
|
64
|
+
setProxyURL(url) {
|
|
65
|
+
this.proxyUrl = url;
|
|
66
|
+
return this;
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
/**
|
|
70
|
+
* Android only.
|
|
71
|
+
* Use this function to enable Qonversion SDK Kids mode.
|
|
72
|
+
* With this mode activated, our SDK does not collect any information that violates Google Children’s Privacy Policy.
|
|
73
|
+
* @return builder instance for chain calls.
|
|
74
|
+
*/
|
|
75
|
+
enableKidsMode() {
|
|
76
|
+
this.kidsMode = true;
|
|
77
|
+
return this;
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
/**
|
|
81
|
+
* Generate {@link QonversionConfig} instance with all the provided configurations.
|
|
82
|
+
*
|
|
83
|
+
* @return the complete {@link QonversionConfig} instance.
|
|
84
|
+
*/
|
|
85
|
+
build() {
|
|
86
|
+
return new QonversionConfig(this.projectKey, this.launchMode, this.environment, this.entitlementsCacheLifetime, this.entitlementsUpdateListener, this.proxyUrl, this.kidsMode);
|
|
87
|
+
}
|
|
88
|
+
}
|
|
89
|
+
export default QonversionConfigBuilder;
|
|
90
|
+
//# sourceMappingURL=QonversionConfigBuilder.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["EntitlementsCacheLifetime","Environment","QonversionConfig","QonversionConfigBuilder","constructor","projectKey","launchMode","environment","PRODUCTION","entitlementsCacheLifetime","MONTH","entitlementsUpdateListener","undefined","proxyUrl","kidsMode","setEnvironment","setEntitlementsCacheLifetime","lifetime","setEntitlementsUpdateListener","setProxyURL","url","enableKidsMode","build"],"sourceRoot":"../../src","sources":["QonversionConfigBuilder.ts"],"mappings":";;AAAA,SAAQA,yBAAyB,EAAEC,WAAW,QAAmB,gBAAa;AAE9E,OAAOC,gBAAgB,MAAM,uBAAoB;AAEjD,MAAMC,uBAAuB,CAAC;EAI5BC,WAAWA,CAACC,UAAkB,EAAEC,UAAsB,EAAE;IACtD,IAAI,CAACD,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,UAAU,GAAGA,UAAU;EAC9B;EAEQC,WAAW,GAAgBN,WAAW,CAACO,UAAU;EACjDC,yBAAyB,GAA8BT,yBAAyB,CAACU,KAAK;EACtFC,0BAA0B,GAA2CC,SAAS;EAC9EC,QAAQ,GAAuBD,SAAS;EACxCE,QAAQ,GAAY,KAAK;;EAEjC;AACF;AACA;AACA;AACA;AACA;EACEC,cAAcA,CAACR,WAAwB,EAA2B;IAChE,IAAI,CAACA,WAAW,GAAGA,WAAW;IAC9B,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACES,4BAA4BA,CAACC,QAAmC,EAA2B;IACzF,IAAI,CAACR,yBAAyB,GAAGQ,QAAQ;IACzC,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;EACEC,6BAA6BA,CAACP,0BAAsD,EAA2B;IAC7G,IAAI,CAACA,0BAA0B,GAAGA,0BAA0B;IAC5D,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;AACA;AACA;EACEQ,WAAWA,CAACC,GAAW,EAA2B;IAChD,IAAI,CAACP,QAAQ,GAAGO,GAAG;IACnB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;AACA;EACEC,cAAcA,CAAA,EAA4B;IACxC,IAAI,CAACP,QAAQ,GAAG,IAAI;IACpB,OAAO,IAAI;EACb;;EAEA;AACF;AACA;AACA;AACA;EACEQ,KAAKA,CAAA,EAAqB;IACxB,OAAO,IAAIpB,gBAAgB,CACzB,IAAI,CAACG,UAAU,EACf,IAAI,CAACC,UAAU,EACf,IAAI,CAACC,WAAW,EAChB,IAAI,CAACE,yBAAyB,EAC9B,IAAI,CAACE,0BAA0B,EAC/B,IAAI,CAACE,QAAQ,EACb,IAAI,CAACC,QACP,CAAC;EACH;AACF;AAEA,eAAeX,uBAAuB","ignoreList":[]}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
class Entitlement {
|
|
4
|
+
constructor(id, productId, isActive, renewState, source, startedTimestamp, renewsCount, grantType, transactions, expirationTimestamp, trialStartTimestamp, firstPurchaseTimestamp, lastPurchaseTimestamp, autoRenewDisableTimestamp, lastActivatedOfferCode) {
|
|
5
|
+
this.id = id;
|
|
6
|
+
this.productId = productId;
|
|
7
|
+
this.isActive = isActive;
|
|
8
|
+
this.renewState = renewState;
|
|
9
|
+
this.source = source;
|
|
10
|
+
this.startedDate = new Date(startedTimestamp);
|
|
11
|
+
this.expirationDate = expirationTimestamp ? new Date(expirationTimestamp) : undefined;
|
|
12
|
+
this.renewsCount = renewsCount;
|
|
13
|
+
this.grantType = grantType;
|
|
14
|
+
this.transactions = transactions;
|
|
15
|
+
this.expirationDate = expirationTimestamp ? new Date(expirationTimestamp) : undefined;
|
|
16
|
+
this.trialStartDate = trialStartTimestamp ? new Date(trialStartTimestamp) : undefined;
|
|
17
|
+
this.firstPurchaseDate = firstPurchaseTimestamp ? new Date(firstPurchaseTimestamp) : undefined;
|
|
18
|
+
this.lastPurchaseDate = lastPurchaseTimestamp ? new Date(lastPurchaseTimestamp) : undefined;
|
|
19
|
+
this.autoRenewDisableDate = autoRenewDisableTimestamp ? new Date(autoRenewDisableTimestamp) : undefined;
|
|
20
|
+
this.lastActivatedOfferCode = lastActivatedOfferCode;
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
export default Entitlement;
|
|
24
|
+
//# sourceMappingURL=Entitlement.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Entitlement","constructor","id","productId","isActive","renewState","source","startedTimestamp","renewsCount","grantType","transactions","expirationTimestamp","trialStartTimestamp","firstPurchaseTimestamp","lastPurchaseTimestamp","autoRenewDisableTimestamp","lastActivatedOfferCode","startedDate","Date","expirationDate","undefined","trialStartDate","firstPurchaseDate","lastPurchaseDate","autoRenewDisableDate"],"sourceRoot":"../../../src","sources":["dto/Entitlement.ts"],"mappings":";;AAGA,MAAMA,WAAW,CAAC;EAiBhBC,WAAWA,CACTC,EAAU,EACVC,SAAiB,EACjBC,QAAiB,EACjBC,UAAiC,EACjCC,MAAyB,EACzBC,gBAAwB,EACxBC,WAAmB,EACnBC,SAA+B,EAC/BC,YAAgC,EAChCC,mBAAuC,EACvCC,mBAAuC,EACvCC,sBAA0C,EAC1CC,qBAAyC,EACzCC,yBAA6C,EAC7CC,sBAA0C,EAC1C;IACA,IAAI,CAACd,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,QAAQ,GAAGA,QAAQ;IACxB,IAAI,CAACC,UAAU,GAAGA,UAAU;IAC5B,IAAI,CAACC,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACW,WAAW,GAAG,IAAIC,IAAI,CAACX,gBAAgB,CAAC;IAC7C,IAAI,CAACY,cAAc,GAAGR,mBAAmB,GAAG,IAAIO,IAAI,CAACP,mBAAmB,CAAC,GAAGS,SAAS;IACrF,IAAI,CAACZ,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,SAAS,GAAGA,SAAS;IAC1B,IAAI,CAACC,YAAY,GAAGA,YAAY;IAChC,IAAI,CAACS,cAAc,GAAGR,mBAAmB,GAAG,IAAIO,IAAI,CAACP,mBAAmB,CAAC,GAAGS,SAAS;IACrF,IAAI,CAACC,cAAc,GAAGT,mBAAmB,GAAG,IAAIM,IAAI,CAACN,mBAAmB,CAAC,GAAGQ,SAAS;IACrF,IAAI,CAACE,iBAAiB,GAAGT,sBAAsB,GAAG,IAAIK,IAAI,CAACL,sBAAsB,CAAC,GAAGO,SAAS;IAC9F,IAAI,CAACG,gBAAgB,GAAGT,qBAAqB,GAAG,IAAII,IAAI,CAACJ,qBAAqB,CAAC,GAAGM,SAAS;IAC3F,IAAI,CAACI,oBAAoB,GAAGT,yBAAyB,GAAG,IAAIG,IAAI,CAACH,yBAAyB,CAAC,GAAGK,SAAS;IACvG,IAAI,CAACJ,sBAAsB,GAAGA,sBAAsB;EACtD;AACF;AAEA,eAAehB,WAAW","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":[],"sourceRoot":"../../../src","sources":["dto/EntitlementsUpdateListener.ts"],"mappings":"","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["Experiment","constructor","id","name","group"],"sourceRoot":"../../../src","sources":["dto/Experiment.ts"],"mappings":";;AAEA,MAAMA,UAAU,CAAC;EAKbC,WAAWA,CAACC,EAAU,EAAEC,IAAY,EAAEC,KAAsB,EAAE;IAC1D,IAAI,CAACF,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACtB;AACJ;AAEA,eAAeJ,UAAU","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["ExperimentGroup","constructor","id","name","type"],"sourceRoot":"../../../src","sources":["dto/ExperimentGroup.ts"],"mappings":";;AAEA,MAAMA,eAAe,CAAC;EAKlBC,WAAWA,CAACC,EAAU,EAAEC,IAAY,EAAEC,IAAyB,EAAE;IAC7D,IAAI,CAACF,EAAE,GAAGA,EAAE;IACZ,IAAI,CAACC,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,IAAI,GAAGA,IAAI;EACpB;AACJ;AAEA,eAAeJ,eAAe","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["IntroEligibility","constructor","status"],"sourceRoot":"../../../src","sources":["dto/IntroEligibility.ts"],"mappings":";;AAEA,MAAMA,gBAAgB,CAAC;EAGrBC,WAAWA,CAACC,MAA0C,EAAE;IACtD,IAAI,CAACA,MAAM,GAAGA,MAAM;EACtB;AACF;AAEA,eAAeF,gBAAgB","ignoreList":[]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NoCodesAction","constructor","type","value","error"],"sourceRoot":"../../../src","sources":["dto/NoCodesAction.ts"],"mappings":";;AAGA,MAAMA,aAAa,CAAC;EAMlBC,WAAWA,CACTC,IAAgB,EAChBC,KAAkD,EAClDC,KAA+B,EAC/B;IACA,IAAI,CAACF,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACC,KAAK,GAAGA,KAAK;IAClB,IAAI,CAACC,KAAK,GAAGA,KAAK;EACpB;AACF;AAEA,eAAeJ,aAAa","ignoreList":[]}
|
|
@@ -0,0 +1,13 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
|
|
3
|
+
class NoCodesError {
|
|
4
|
+
constructor(code, description, additionalMessage, domain, error) {
|
|
5
|
+
this.code = code;
|
|
6
|
+
this.domain = domain;
|
|
7
|
+
this.description = description;
|
|
8
|
+
this.additionalMessage = additionalMessage;
|
|
9
|
+
this.error = error;
|
|
10
|
+
}
|
|
11
|
+
}
|
|
12
|
+
export default NoCodesError;
|
|
13
|
+
//# sourceMappingURL=NoCodesError.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"names":["NoCodesError","constructor","code","description","additionalMessage","domain","error"],"sourceRoot":"../../../src","sources":["dto/NoCodesError.ts"],"mappings":";;AAGA,MAAMA,YAAY,CAAC;EAOjBC,WAAWA,CACTC,IAAsB,EACtBC,WAA2B,EAC3BC,iBAAiC,EACjCC,MAAsB,EACtBC,KAAuB,EACvB;IACA,IAAI,CAACJ,IAAI,GAAGA,IAAI;IAChB,IAAI,CAACG,MAAM,GAAGA,MAAM;IACpB,IAAI,CAACF,WAAW,GAAGA,WAAW;IAC9B,IAAI,CAACC,iBAAiB,GAAGA,iBAAiB;IAC1C,IAAI,CAACE,KAAK,GAAGA,KAAK;EACpB;AACF;AAEA,eAAeN,YAAY","ignoreList":[]}
|