react-native-qonversion
Version:
Qonversion provides full in-app purchases infrastructure, so you do not need to build your own server for receipt validation. Implement in-app subscriptions, validate user receipts, check subscription status, and provide access to your app features and co
54 lines (53 loc) • 3.1 kB
TypeScript
import { AttributionProvider, UserPropertyKey } from "../dto/enums";
import IntroEligibility from "../dto/IntroEligibility";
import Offerings from "../dto/Offerings";
import Entitlement from "../dto/Entitlement";
import Product from "../dto/Product";
import { EntitlementsUpdateListener } from '../dto/EntitlementsUpdateListener';
import { PromoPurchasesListener } from '../dto/PromoPurchasesListener';
import User from '../dto/User';
import PurchaseOptions from '../dto/PurchaseOptions';
import SKProductDiscount from '../dto/storeProducts/SKProductDiscount';
import QonversionApi from '../QonversionApi';
import QonversionConfig from '../QonversionConfig';
import RemoteConfig from "../dto/RemoteConfig";
import UserProperties from '../dto/UserProperties';
import PurchaseModel from '../dto/PurchaseModel';
import PurchaseUpdateModel from '../dto/PurchaseUpdateModel';
import { RemoteConfigList } from '../index';
import PromotionalOffer from '../dto/PromotionalOffer';
export default class QonversionInternal implements QonversionApi {
constructor(qonversionConfig: QonversionConfig);
syncHistoricalData(): void;
syncStoreKit2Purchases(): void;
isFallbackFileAccessible(): Promise<Boolean>;
getPromotionalOffer(product: Product, discount: SKProductDiscount): Promise<PromotionalOffer | null>;
purchaseProduct(product: Product, options: PurchaseOptions | undefined): Promise<Map<string, Entitlement>>;
purchase(purchaseModel: PurchaseModel): Promise<Map<string, Entitlement>>;
updatePurchase(purchaseUpdateModel: PurchaseUpdateModel): Promise<Map<string, Entitlement> | null>;
products(): Promise<Map<string, Product>>;
offerings(): Promise<Offerings | null>;
checkTrialIntroEligibility(ids: string[]): Promise<Map<string, IntroEligibility>>;
checkEntitlements(): Promise<Map<string, Entitlement>>;
restore(): Promise<Map<string, Entitlement>>;
syncPurchases(): void;
identify(userID: string): Promise<User>;
logout(): void;
userInfo(): Promise<User>;
attribution(data: Object, provider: AttributionProvider): void;
setUserProperty(property: UserPropertyKey, value: string): void;
setCustomUserProperty(property: string, value: string): void;
userProperties(): Promise<UserProperties>;
collectAdvertisingId(): void;
collectAppleSearchAdsAttribution(): void;
setEntitlementsUpdateListener(listener: EntitlementsUpdateListener): void;
setPromoPurchasesDelegate(delegate: PromoPurchasesListener): void;
presentCodeRedemptionSheet(): void;
remoteConfig(contextKey: string | undefined): Promise<RemoteConfig>;
remoteConfigList(): Promise<RemoteConfigList>;
remoteConfigListForContextKeys(contextKeys: string[], includeEmptyContextKey: boolean): Promise<RemoteConfigList>;
attachUserToExperiment(experimentId: string, groupId: string): Promise<void>;
detachUserFromExperiment(experimentId: string): Promise<void>;
attachUserToRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
detachUserFromRemoteConfiguration(remoteConfigurationId: string): Promise<void>;
}