UNPKG

cordova-plugin-qonversion

Version:
276 lines (275 loc) 12.3 kB
"use strict"; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); const enums_1 = require("./enums"); const Mapper_1 = __importDefault(require("./Mapper")); const utils_1 = require("./utils"); const PurchaseOptionsBuilder_1 = require("./PurchaseOptionsBuilder"); const sdkVersion = "6.3.1"; class QonversionInternal { entitlementsUpdateListener; promoPurchasesListener; constructor(qonversionConfig) { (0, utils_1.callQonversionNative)('storeSDKInfo', ['cordova', sdkVersion]).then(utils_1.noop); (0, utils_1.subscribeOnQonversionNativeEvents)('initializeSdk', (updatedEntitlements) => { if (this.entitlementsUpdateListener) { const entitlements = Mapper_1.default.convertEntitlements(updatedEntitlements); this.entitlementsUpdateListener.onEntitlementsUpdated(entitlements); } }, [ qonversionConfig.projectKey, qonversionConfig.launchMode, qonversionConfig.environment, qonversionConfig.entitlementsCacheLifetime, qonversionConfig.proxyUrl, qonversionConfig.kidsMode ]); this.entitlementsUpdateListener = qonversionConfig.entitlementsUpdateListener; } syncHistoricalData() { (0, utils_1.callQonversionNative)('syncHistoricalData').then(utils_1.noop); } syncStoreKit2Purchases() { if ((0, utils_1.isIos)()) { (0, utils_1.callQonversionNative)('syncStoreKit2Purchases').then(utils_1.noop); } } async getPromotionalOffer(product, discount) { if ((0, utils_1.isAndroid)()) { return null; } const args = [product.qonversionID, discount.identifier]; let promoOffer = await (0, utils_1.callQonversionNative)('getPromotionalOffer', args); const mappedPromoOffer = Mapper_1.default.convertPromoOffer(promoOffer); return mappedPromoOffer; } async purchaseProduct(product, options) { try { if (!options) { options = new PurchaseOptionsBuilder_1.PurchaseOptionsBuilder().build(); } const promoOffer = { productDiscountId: options.promotionalOffer?.productDiscount.identifier, keyIdentifier: options.promotionalOffer?.paymentDiscount.keyIdentifier, nonce: options.promotionalOffer?.paymentDiscount.nonce, signature: options.promotionalOffer?.paymentDiscount.signature, timestamp: options.promotionalOffer?.paymentDiscount.timestamp }; let args = [product.qonversionID]; if ((0, utils_1.isIos)()) { args = [...args, options.quantity, options.contextKeys, promoOffer]; } else { args = [...args, options.offerId, options.applyOffer, options.oldProduct?.qonversionID, options.updatePolicy, options.contextKeys]; } const entitlements = await (0, utils_1.callQonversionNative)('purchase', args); // noinspection UnnecessaryLocalVariableJS const mappedPermissions = Mapper_1.default.convertEntitlements(entitlements); return mappedPermissions; } catch (e) { if (e) { e.userCanceled = e.code === enums_1.QonversionErrorCode.PURCHASE_CANCELED; throw e; } else { throw 'Unknown error occurred while purchase'; } } } async purchase(purchaseModel) { try { let args = [purchaseModel.productId]; if ((0, utils_1.isAndroid)()) { args = [...args, purchaseModel.offerId, purchaseModel.applyOffer, null, null, []]; } const entitlements = await (0, utils_1.callQonversionNative)('purchase', args); // noinspection UnnecessaryLocalVariableJS const mappedEntitlement = Mapper_1.default.convertEntitlements(entitlements); return mappedEntitlement; } catch (e) { if (e) { e.userCanceled = e.code === enums_1.QonversionErrorCode.PURCHASE_CANCELED; throw e; } else { throw 'Unknown error occurred while purchase'; } } } async updatePurchase(purchaseUpdateModel) { if (!(0, utils_1.isAndroid)()) { return null; } try { const entitlements = await (0, utils_1.callQonversionNative)('updatePurchase', [ purchaseUpdateModel.productId, purchaseUpdateModel.offerId, purchaseUpdateModel.applyOffer, purchaseUpdateModel.oldProductId, purchaseUpdateModel.updatePolicy, [] ]); // noinspection UnnecessaryLocalVariableJS const mappedEntitlement = Mapper_1.default.convertEntitlements(entitlements); return mappedEntitlement; } catch (e) { if (e) { e.userCanceled = e.code === enums_1.QonversionErrorCode.PURCHASE_CANCELED; throw e; } else { throw 'Unknown error occurred while purchase'; } } } async products() { let products = await (0, utils_1.callQonversionNative)('products'); // noinspection UnnecessaryLocalVariableJS const mappedProducts = Mapper_1.default.convertProducts(products); return mappedProducts; } async offerings() { let offerings = await (0, utils_1.callQonversionNative)('offerings'); // noinspection UnnecessaryLocalVariableJS const mappedOfferings = Mapper_1.default.convertOfferings(offerings); return mappedOfferings; } async checkTrialIntroEligibility(ids) { const eligibilityInfo = await (0, utils_1.callQonversionNative)('checkTrialIntroEligibilityForProductIds', [ids]); // noinspection UnnecessaryLocalVariableJS const mappedEligibility = Mapper_1.default.convertEligibility(eligibilityInfo); return mappedEligibility; } async checkEntitlements() { const entitlements = await (0, utils_1.callQonversionNative)('checkEntitlements'); // noinspection UnnecessaryLocalVariableJS const mappedEntitlement = Mapper_1.default.convertEntitlements(entitlements); return mappedEntitlement; } async restore() { const entitlements = await (0, utils_1.callQonversionNative)('restore'); // noinspection UnnecessaryLocalVariableJS const mappedEntitlement = Mapper_1.default.convertEntitlements(entitlements); return mappedEntitlement; } syncPurchases() { if (!(0, utils_1.isAndroid)()) { return; } (0, utils_1.callQonversionNative)('syncPurchases').then(utils_1.noop); } async isFallbackFileAccessible() { const isAccessibleResult = await (0, utils_1.callQonversionNative)('isFallbackFileAccessible'); return isAccessibleResult.success; } async identify(userID) { const info = await (0, utils_1.callQonversionNative)('identify', [userID]); // noinspection UnnecessaryLocalVariableJS const mappedUserInfo = Mapper_1.default.convertUserInfo(info); return mappedUserInfo; } logout() { (0, utils_1.callQonversionNative)('logout').then(utils_1.noop); } async userInfo() { const info = await (0, utils_1.callQonversionNative)('userInfo'); // noinspection UnnecessaryLocalVariableJS const mappedUserInfo = Mapper_1.default.convertUserInfo(info); return mappedUserInfo; } async remoteConfig(contextKey) { const remoteConfig = await (0, utils_1.callQonversionNative)('remoteConfig', [contextKey]); // noinspection UnnecessaryLocalVariableJS const mappedRemoteConfig = Mapper_1.default.convertRemoteConfig(remoteConfig); return mappedRemoteConfig; } async remoteConfigList() { const remoteConfigList = await (0, utils_1.callQonversionNative)('remoteConfigList'); // noinspection UnnecessaryLocalVariableJS const mappedRemoteConfigList = Mapper_1.default.convertRemoteConfigList(remoteConfigList); return mappedRemoteConfigList; } async remoteConfigListForContextKeys(contextKeys, includeEmptyContextKey) { let remoteConfigList = await (0, utils_1.callQonversionNative)('remoteConfigListForContextKeys', [contextKeys, includeEmptyContextKey]); // noinspection UnnecessaryLocalVariableJS const mappedRemoteConfigList = Mapper_1.default.convertRemoteConfigList(remoteConfigList); return mappedRemoteConfigList; } async attachUserToExperiment(experimentId, groupId) { await (0, utils_1.callQonversionNative)('attachUserToExperiment', [experimentId, groupId]); return; } async detachUserFromExperiment(experimentId) { await (0, utils_1.callQonversionNative)('detachUserFromExperiment', [experimentId]); return; } async attachUserToRemoteConfiguration(remoteConfigurationId) { await (0, utils_1.callQonversionNative)('attachUserToRemoteConfiguration', [remoteConfigurationId]); return; } async detachUserFromRemoteConfiguration(remoteConfigurationId) { await (0, utils_1.callQonversionNative)('detachUserFromRemoteConfiguration', [remoteConfigurationId]); return; } attribution(data, provider) { (0, utils_1.callQonversionNative)('attribution', [data, provider]).then(utils_1.noop); } setUserProperty(property, value) { if (property == enums_1.UserPropertyKey.CUSTOM) { console.warn("Can not set user property with the key `UserPropertyKey.CUSTOM`. " + "To set custom user property, use the `setCustomUserProperty` method."); return; } (0, utils_1.callQonversionNative)('setDefinedProperty', [property, value]).then(utils_1.noop); } setCustomUserProperty(property, value) { (0, utils_1.callQonversionNative)('setCustomProperty', [property, value]).then(utils_1.noop); } async userProperties() { const properties = await (0, utils_1.callQonversionNative)('userProperties'); // noinspection UnnecessaryLocalVariableJS const mappedUserProperties = Mapper_1.default.convertUserProperties(properties); return mappedUserProperties; } collectAdvertisingId() { if ((0, utils_1.isIos)()) { (0, utils_1.callQonversionNative)('collectAdvertisingId').then(utils_1.noop); } } collectAppleSearchAdsAttribution() { if ((0, utils_1.isIos)()) { (0, utils_1.callQonversionNative)('collectAppleSearchAdsAttribution').then(utils_1.noop); } } setEntitlementsUpdateListener(listener) { this.entitlementsUpdateListener = listener; } setPromoPurchasesDelegate(delegate) { if (!(0, utils_1.isIos)()) { return; } this.promoPurchasesListener = delegate; (0, utils_1.subscribeOnQonversionNativeEvents)('subscribeOnPromoPurchases', productId => { if (this.promoPurchasesListener) { const promoPurchaseExecutor = async () => { const entitlements = await (0, utils_1.callQonversionNative)('promoPurchase', [productId]); // noinspection UnnecessaryLocalVariableJS const mappedEntitlement = Mapper_1.default.convertEntitlements(entitlements); return mappedEntitlement; }; this.promoPurchasesListener.onPromoPurchaseReceived(productId, promoPurchaseExecutor); } }); } presentCodeRedemptionSheet() { if ((0, utils_1.isIos)()) { (0, utils_1.callQonversionNative)('presentCodeRedemptionSheet').then(utils_1.noop); } } } exports.default = QonversionInternal;