mirror of
https://github.com/danielsogl/awesome-cordova-plugins.git
synced 2025-02-01 02:53:03 +08:00
feat(purchases)!: migrate RevenueCat to 3.1.0 (#4382)
- Breaking Changes can be found here: https://github.com/RevenueCat/cordova-plugin-purchases/releases/tag/3.0.0
This commit is contained in:
parent
62f664e61a
commit
6f14ba6031
@ -2,22 +2,6 @@ import { Injectable } from '@angular/core';
|
|||||||
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
import { Plugin, Cordova, AwesomeCordovaNativePlugin } from '@awesome-cordova-plugins/core';
|
||||||
import { Observable } from 'rxjs';
|
import { Observable } from 'rxjs';
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated use ATTRIBUTION_NETWORK instead
|
|
||||||
*
|
|
||||||
* Enum for attribution networks
|
|
||||||
* @readonly
|
|
||||||
* @enum {number}
|
|
||||||
*/
|
|
||||||
export enum ATTRIBUTION_NETWORKS {
|
|
||||||
APPLE_SEARCH_ADS = 0,
|
|
||||||
ADJUST = 1,
|
|
||||||
APPSFLYER = 2,
|
|
||||||
BRANCH = 3,
|
|
||||||
TENJIN = 4,
|
|
||||||
FACEBOOK = 5,
|
|
||||||
}
|
|
||||||
|
|
||||||
export enum ATTRIBUTION_NETWORK {
|
export enum ATTRIBUTION_NETWORK {
|
||||||
APPLE_SEARCH_ADS = 0,
|
APPLE_SEARCH_ADS = 0,
|
||||||
ADJUST = 1,
|
ADJUST = 1,
|
||||||
@ -71,18 +55,6 @@ export enum BILLING_FEATURE {
|
|||||||
PRICE_CHANGE_CONFIRMATION,
|
PRICE_CHANGE_CONFIRMATION,
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated use PURCHASE_TYPE instead
|
|
||||||
*
|
|
||||||
* Enum for attribution networks
|
|
||||||
* @readonly
|
|
||||||
* @enum {string}
|
|
||||||
*/
|
|
||||||
export enum ProductType {
|
|
||||||
SUBS = 'subs',
|
|
||||||
INAPP = 'inapp',
|
|
||||||
}
|
|
||||||
|
|
||||||
export enum PRORATION_MODE {
|
export enum PRORATION_MODE {
|
||||||
UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY = 0,
|
UNKNOWN_SUBSCRIPTION_UPGRADE_DOWNGRADE_POLICY = 0,
|
||||||
|
|
||||||
@ -211,7 +183,7 @@ export enum INTRO_ELIGIBILITY_STATUS {
|
|||||||
* constructor(public platform: Platform, private purchases: Purchases) {
|
* constructor(public platform: Platform, private purchases: Purchases) {
|
||||||
* platform.ready().then(() => {
|
* platform.ready().then(() => {
|
||||||
* this.purchases.setDebugLogsEnabled(true); // Enable to get debug logs
|
* this.purchases.setDebugLogsEnabled(true); // Enable to get debug logs
|
||||||
* this.purchases.setup("my_api_key", "my_app_user_id");
|
* this.purchases.configure("my_api_key", "my_app_user_id");
|
||||||
* }
|
* }
|
||||||
* }
|
* }
|
||||||
* ```
|
* ```
|
||||||
@ -229,15 +201,15 @@ export enum INTRO_ELIGIBILITY_STATUS {
|
|||||||
* PurchasesOfferings
|
* PurchasesOfferings
|
||||||
* PurchasesOffering
|
* PurchasesOffering
|
||||||
* PurchasesPackage
|
* PurchasesPackage
|
||||||
* PurchasesProduct
|
* PurchasesStoreProduct
|
||||||
* PurchaserInfo
|
* CustomerInfo
|
||||||
* PurchasesEntitlementInfos
|
* PurchasesEntitlementInfos
|
||||||
* PurchasesEntitlementInfo
|
* PurchasesEntitlementInfo
|
||||||
* PurchasesTransaction
|
* PurchasesStoreTransaction
|
||||||
*/
|
*/
|
||||||
@Plugin({
|
@Plugin({
|
||||||
pluginName: 'Purchases',
|
pluginName: 'Purchases',
|
||||||
plugin: 'cordova-plugin-purchases@2.4.0',
|
plugin: 'cordova-plugin-purchases@3.1.0',
|
||||||
pluginRef: 'Purchases', // the variable reference to call the plugin, example: navigator.geolocation
|
pluginRef: 'Purchases', // the variable reference to call the plugin, example: navigator.geolocation
|
||||||
repo: 'https://github.com/RevenueCat/cordova-plugin-purchases', // the github repository URL for the plugin
|
repo: 'https://github.com/RevenueCat/cordova-plugin-purchases', // the github repository URL for the plugin
|
||||||
platforms: ['Android', 'iOS'], // Array of platforms supported, example: ['Android', 'iOS']
|
platforms: ['Android', 'iOS'], // Array of platforms supported, example: ['Android', 'iOS']
|
||||||
@ -246,7 +218,6 @@ export enum INTRO_ELIGIBILITY_STATUS {
|
|||||||
providedIn: 'root',
|
providedIn: 'root',
|
||||||
})
|
})
|
||||||
export class Purchases extends AwesomeCordovaNativePlugin {
|
export class Purchases extends AwesomeCordovaNativePlugin {
|
||||||
static ATTRIBUTION_NETWORKS = ATTRIBUTION_NETWORK;
|
|
||||||
/**
|
/**
|
||||||
* Enum for attribution networks
|
* Enum for attribution networks
|
||||||
*
|
*
|
||||||
@ -295,6 +266,8 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
static INTRO_ELIGIBILITY_STATUS = INTRO_ELIGIBILITY_STATUS;
|
static INTRO_ELIGIBILITY_STATUS = INTRO_ELIGIBILITY_STATUS;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
* @deprecated Use {@link configureWith} instead. It accepts a {@link PurchasesConfiguration} object which offers more flexibility.
|
||||||
|
*
|
||||||
* Sets up Purchases with your API key and an app user id.
|
* Sets up Purchases with your API key and an app user id.
|
||||||
*
|
*
|
||||||
* @param {string} apiKey RevenueCat API Key. Needs to be a String
|
* @param {string} apiKey RevenueCat API Key. Needs to be a String
|
||||||
@ -307,7 +280,14 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
* suite, otherwise it will use standardUserDefaults. Default is null, which will make the SDK use standardUserDefaults.
|
* suite, otherwise it will use standardUserDefaults. Default is null, which will make the SDK use standardUserDefaults.
|
||||||
*/
|
*/
|
||||||
@Cordova({ sync: true })
|
@Cordova({ sync: true })
|
||||||
setup(apiKey: string, appUserID?: string | null, observerMode = false, userDefaultsSuiteName?: string): void {}
|
configure(apiKey: string, appUserID?: string | null, observerMode = false, userDefaultsSuiteName?: string): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Sets up Purchases with your API key and an app user id.
|
||||||
|
* @param {PurchasesConfiguration} Object containing configuration parameters
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
configureWith({ apiKey, appUserID, observerMode, userDefaultsSuiteName, useAmazon }: PurchasesConfiguration): void {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Set this to true if you are passing in an appUserID but it is anonymous, this is true by default if you didn't pass an appUserID
|
* Set this to true if you are passing in an appUserID but it is anonymous, this is true by default if you didn't pass an appUserID
|
||||||
@ -345,22 +325,19 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
*
|
*
|
||||||
* @param {string[]} productIdentifiers Array of product identifiers
|
* @param {string[]} productIdentifiers Array of product identifiers
|
||||||
* @param {PURCHASE_TYPE} type Optional type of products to fetch, can be inapp or subs. Subs by default
|
* @param {PURCHASE_TYPE} type Optional type of products to fetch, can be inapp or subs. Subs by default
|
||||||
* @returns {Promise<PurchasesProduct[]>} Will return a [PurchasesError] if the products are not properly configured in RevenueCat or if there is another error retrieving them.
|
* @returns {Promise<PurchasesStoreProduct[]>} Will return a [PurchasesError] if the products are not properly configured in RevenueCat or if there is another error retrieving them.
|
||||||
*/
|
*/
|
||||||
@Cordova({
|
@Cordova({
|
||||||
successIndex: 1,
|
successIndex: 1,
|
||||||
errorIndex: 2,
|
errorIndex: 2,
|
||||||
})
|
})
|
||||||
getProducts(productIdentifiers: string[], type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS): Promise<PurchasesProduct[]> {
|
getProducts(
|
||||||
|
productIdentifiers: string[],
|
||||||
|
type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS
|
||||||
|
): Promise<PurchasesStoreProduct[]> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @typedef {Object} MakePurchaseResponse
|
|
||||||
* @property {string} productIdentifier - The product identifier that has been purchased
|
|
||||||
* @property {PurchaserInfo} purchaserInfo - The new PurchaserInfo after the successful purchase
|
|
||||||
*/
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Make a purchase
|
* Make a purchase
|
||||||
*
|
*
|
||||||
@ -379,7 +356,7 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
productIdentifier: string,
|
productIdentifier: string,
|
||||||
upgradeInfo?: UpgradeInfo | null,
|
upgradeInfo?: UpgradeInfo | null,
|
||||||
type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS
|
type: PURCHASE_TYPE = PURCHASE_TYPE.SUBS
|
||||||
): Promise<{ productIdentifier: string; purchaserInfo: PurchaserInfo }> {
|
): Promise<{ productIdentifier: string; customerInfo: CustomerInfo }> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -399,17 +376,17 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
purchasePackage(
|
purchasePackage(
|
||||||
aPackage: PurchasesPackage,
|
aPackage: PurchasesPackage,
|
||||||
upgradeInfo?: UpgradeInfo | null
|
upgradeInfo?: UpgradeInfo | null
|
||||||
): Promise<{ productIdentifier: string; purchaserInfo: PurchaserInfo }> {
|
): Promise<{ productIdentifier: string; customerInfo: CustomerInfo }> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Restores a user's previous purchases and links their appUserIDs to any user's also using those purchases.
|
* Restores a user's previous purchases and links their appUserIDs to any user's also using those purchases.
|
||||||
*
|
*
|
||||||
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError]
|
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError]
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
restoreTransactions(): Promise<PurchaserInfo> {
|
restorePurchases(): Promise<CustomerInfo> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -428,7 +405,7 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
* to identify a user without calling configure.
|
* to identify a user without calling configure.
|
||||||
*
|
*
|
||||||
* @param {string} appUserID The appUserID that should be linked to the currently user
|
* @param {string} appUserID The appUserID that should be linked to the currently user
|
||||||
* @returns {Promise<LogInResult>} an object that contains the purchaserInfo after logging in, as well as a boolean indicating
|
* @returns {Promise<LogInResult>} an object that contains the customerInfo after logging in, as well as a boolean indicating
|
||||||
* whether the user has just been created for the first time in the RevenueCat backend.
|
* whether the user has just been created for the first time in the RevenueCat backend.
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
@ -440,10 +417,10 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
* Logs out the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.
|
* Logs out the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.
|
||||||
* If the current user is already anonymous, this will produce a PurchasesError.
|
* If the current user is already anonymous, this will produce a PurchasesError.
|
||||||
*
|
*
|
||||||
* @returns {Promise<PurchaserInfo>} new purchaser info after resetting.
|
* @returns {Promise<CustomerInfo>} new purchaser info after resetting.
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
logOut(): Promise<PurchaserInfo> {
|
logOut(): Promise<CustomerInfo> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -451,11 +428,11 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
* @deprecated, use logIn instead.
|
* @deprecated, use logIn instead.
|
||||||
* This function will alias two appUserIDs together.
|
* This function will alias two appUserIDs together.
|
||||||
* @param newAppUserID {String} The new appUserID that should be linked to the currently identified appUserID. Needs to be a string.
|
* @param newAppUserID {String} The new appUserID that should be linked to the currently identified appUserID. Needs to be a string.
|
||||||
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
||||||
* is an error retrieving the new purchaser info for the new user or if there is an error creating the alias.
|
* is an error retrieving the new purchaser info for the new user or if there is an error creating the alias.
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
createAlias(newAppUserID: string): Promise<PurchaserInfo> {
|
createAlias(newAppUserID: string): Promise<CustomerInfo> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -463,22 +440,22 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
* @deprecated, use logIn instead.
|
* @deprecated, use logIn instead.
|
||||||
* This function will identify the current user with an appUserID. Typically this would be used after a logout to identify a new user without calling configure
|
* This function will identify the current user with an appUserID. Typically this would be used after a logout to identify a new user without calling configure
|
||||||
* @param newAppUserID {String} The new appUserID that should be linked to the currently identified appUserID. Needs to be a string.
|
* @param newAppUserID {String} The new appUserID that should be linked to the currently identified appUserID. Needs to be a string.
|
||||||
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
||||||
* is an error retrieving the new purchaser info for the new user.
|
* is an error retrieving the new purchaser info for the new user.
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
identify(newAppUserID: string): Promise<PurchaserInfo> {
|
identify(newAppUserID: string): Promise<CustomerInfo> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @deprecated, use logOut instead.
|
* @deprecated, use logOut instead.
|
||||||
* Resets the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.
|
* Resets the Purchases client clearing the saved appUserID. This will generate a random user id and save it in the cache.
|
||||||
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
||||||
* is an error retrieving the new purchaser info for the new user.
|
* is an error retrieving the new purchaser info for the new user.
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
reset(): Promise<PurchaserInfo> {
|
reset(): Promise<CustomerInfo> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -486,25 +463,25 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
* Gets the current purchaser info. This call will return the cached purchaser info unless the cache is stale, in which case,
|
* Gets the current purchaser info. This call will return the cached purchaser info unless the cache is stale, in which case,
|
||||||
* it will make a network call to retrieve it from the servers.
|
* it will make a network call to retrieve it from the servers.
|
||||||
*
|
*
|
||||||
* @returns {Promise<PurchaserInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
* @returns {Promise<CustomerInfo>} Errors are of type [PurchasesError] and get normally triggered if there
|
||||||
* is an error retrieving the purchaser info.
|
* is an error retrieving the purchaser info.
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
getPurchaserInfo(): Promise<PurchaserInfo> {
|
getCustomerInfo(): Promise<CustomerInfo> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Returns an observable that can be used to receive updates on the purchaser info
|
* Returns an observable that can be used to receive updates on the purchaser info
|
||||||
*
|
*
|
||||||
* @returns {Observable<PurchaserInfo>}
|
* @returns {Observable<CustomerInfo>}
|
||||||
*/
|
*/
|
||||||
@Cordova({
|
@Cordova({
|
||||||
eventObservable: true,
|
eventObservable: true,
|
||||||
event: 'onPurchaserInfoUpdated',
|
event: 'onCustomerInfoUpdated',
|
||||||
element: 'window',
|
element: 'window',
|
||||||
})
|
})
|
||||||
onPurchaserInfoUpdated(): Observable<PurchaserInfo> {
|
onCustomerInfoUpdated(): Observable<CustomerInfo> {
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -542,6 +519,12 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
@Cordova({ sync: true })
|
@Cordova({ sync: true })
|
||||||
setAutomaticAppleSearchAdsAttributionCollection(enabled: boolean): void {}
|
setAutomaticAppleSearchAdsAttributionCollection(enabled: boolean): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Enable automatic collection of Apple Search Ads attribution using AdServices. Disabled by default.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
enableAdServicesAttributionTokenCollection(): void {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @returns {Promise<boolean>} A boolean indicating if the `appUserID` has been generated
|
* @returns {Promise<boolean>} A boolean indicating if the `appUserID` has been generated
|
||||||
* by RevenueCat or not.
|
* by RevenueCat or not.
|
||||||
@ -596,17 +579,17 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Invalidates the cache for purchaser information.
|
* Invalidates the cache for customer information.
|
||||||
*
|
*
|
||||||
* Most apps will not need to use this method; invalidating the cache can leave your app in an invalid state.
|
* Most apps will not need to use this method; invalidating the cache can leave your app in an invalid state.
|
||||||
* Refer to https://docs.revenuecat.com/docs/purchaserinfo#section-get-user-information for more information on
|
* Refer to https://docs.revenuecat.com/docs/customer-info#section-get-user-information for more information on
|
||||||
* using the cache properly.
|
* using the cache properly.
|
||||||
*
|
*
|
||||||
* This is useful for cases where purchaser information might have been updated outside of the
|
* This is useful for cases where customer information might have been updated outside of the
|
||||||
* app, like if a promotional subscription is granted through the RevenueCat dashboard.
|
* app, like if a promotional subscription is granted through the RevenueCat dashboard.
|
||||||
*/
|
*/
|
||||||
@Cordova({ sync: true })
|
@Cordova({ sync: true })
|
||||||
invalidatePurchaserInfoCache(): void {}
|
invalidateCustomerInfoCache(): void {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* iOS only. Presents a code redemption sheet, useful for redeeming offer codes
|
* iOS only. Presents a code redemption sheet, useful for redeeming offer codes
|
||||||
@ -661,54 +644,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
@Cordova({ sync: true })
|
@Cordova({ sync: true })
|
||||||
setPushToken(pushToken: string | null): void {}
|
setPushToken(pushToken: string | null): void {}
|
||||||
|
|
||||||
/**
|
|
||||||
* Subscriber attribute associated with the install media source for the user
|
|
||||||
*
|
|
||||||
* @param mediaSource Empty String or null will delete the subscriber attribute.
|
|
||||||
*/
|
|
||||||
@Cordova({ sync: true })
|
|
||||||
setMediaSource(mediaSource: string | null): void {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Subscriber attribute associated with the install campaign for the user
|
|
||||||
*
|
|
||||||
* @param campaign Empty String or null will delete the subscriber attribute.
|
|
||||||
*/
|
|
||||||
@Cordova({ sync: true })
|
|
||||||
setCampaign(campaign: string | null): void {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Subscriber attribute associated with the install ad group for the user
|
|
||||||
*
|
|
||||||
* @param adGroup Empty String or null will delete the subscriber attribute.
|
|
||||||
*/
|
|
||||||
@Cordova({ sync: true })
|
|
||||||
setAdGroup(adGroup: string | null): void {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Subscriber attribute associated with the install ad for the user
|
|
||||||
*
|
|
||||||
* @param ad Empty String or null will delete the subscriber attribute.
|
|
||||||
*/
|
|
||||||
@Cordova({ sync: true })
|
|
||||||
setAd(ad: string | null): void {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Subscriber attribute associated with the install keyword for the user
|
|
||||||
*
|
|
||||||
* @param keyword Empty String or null will delete the subscriber attribute.
|
|
||||||
*/
|
|
||||||
@Cordova({ sync: true })
|
|
||||||
setKeyword(keyword: string | null): void {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* Subscriber attribute associated with the install ad creative for the user
|
|
||||||
*
|
|
||||||
* @param creative Empty String or null will delete the subscriber attribute.
|
|
||||||
*/
|
|
||||||
@Cordova({ sync: true })
|
|
||||||
setCreative(creative: string | null): void {}
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Subscriber attribute associated with the Adjust Id for the user
|
* Subscriber attribute associated with the Adjust Id for the user
|
||||||
* Required for the RevenueCat Adjust integration
|
* Required for the RevenueCat Adjust integration
|
||||||
@ -763,6 +698,81 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
@Cordova({ sync: true })
|
@Cordova({ sync: true })
|
||||||
setAirshipChannelID(airshipChannelID: string | null): void {}
|
setAirshipChannelID(airshipChannelID: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the Firebase App Instance ID for the user
|
||||||
|
* Required for the RevenueCat Firebase integration
|
||||||
|
*
|
||||||
|
* @param firebaseAppInstanceID Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setFirebaseAppInstanceID(firebaseAppInstanceID: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the Mixpanel Distinct ID for the user
|
||||||
|
* Required for the RevenueCat Mixpanel integration
|
||||||
|
*
|
||||||
|
* @param mixpanelDistinctID Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setMixpanelDistinctID(mixpanelDistinctID: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the CleverTap ID for the user
|
||||||
|
* Required for the RevenueCat CleverTap integration
|
||||||
|
*
|
||||||
|
* @param cleverTapID Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setCleverTapID(cleverTapID: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the install media source for the user
|
||||||
|
*
|
||||||
|
* @param mediaSource Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setMediaSource(mediaSource: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the install campaign for the user
|
||||||
|
*
|
||||||
|
* @param campaign Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setCampaign(campaign: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the install ad group for the user
|
||||||
|
*
|
||||||
|
* @param adGroup Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setAdGroup(adGroup: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the install ad for the user
|
||||||
|
*
|
||||||
|
* @param ad Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setAd(ad: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the install keyword for the user
|
||||||
|
*
|
||||||
|
* @param keyword Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setKeyword(keyword: string | null): void {}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Subscriber attribute associated with the install ad creative for the user
|
||||||
|
*
|
||||||
|
* @param creative Empty String or null will delete the subscriber attribute.
|
||||||
|
*/
|
||||||
|
@Cordova({ sync: true })
|
||||||
|
setCreative(creative: string | null): void {}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Automatically collect subscriber attributes associated with the device identifiers.
|
* Automatically collect subscriber attributes associated with the device identifiers.
|
||||||
* $idfa, $idfv, $ip on iOS
|
* $idfa, $idfv, $ip on iOS
|
||||||
@ -778,9 +788,8 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
* Note: Billing features are only relevant to Google Play Android users.
|
* Note: Billing features are only relevant to Google Play Android users.
|
||||||
* For other stores and platforms, billing features won't be checked.
|
* For other stores and platforms, billing features won't be checked.
|
||||||
*
|
*
|
||||||
* @param feature An array of feature types to check for support. Feature types must be one of
|
* @param features An array of feature types to check for support. Feature types must be one of
|
||||||
* [BILLING_FEATURE]. By default, is an empty list and no specific feature support will be checked.
|
* [BILLING_FEATURE]. By default, is an empty list and no specific feature support will be checked.
|
||||||
* @param features
|
|
||||||
* @returns {Promise<boolean>} Or [PurchasesError] if there is an error.
|
* @returns {Promise<boolean>} Or [PurchasesError] if there is an error.
|
||||||
*/
|
*/
|
||||||
@Cordova()
|
@Cordova()
|
||||||
@ -796,21 +805,6 @@ export class Purchases extends AwesomeCordovaNativePlugin {
|
|||||||
@Cordova({ sync: true })
|
@Cordova({ sync: true })
|
||||||
setProxyURL(url: string): void {}
|
setProxyURL(url: string): void {}
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated use PurchasesProduct instead
|
|
||||||
*/
|
|
||||||
export interface RCProduct {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated use PurchaserInfo instead
|
|
||||||
*/
|
|
||||||
export interface RCPurchaserInfo {}
|
|
||||||
|
|
||||||
/**
|
|
||||||
* @deprecated use PurchasesError instead
|
|
||||||
*/
|
|
||||||
export interface RCError {}
|
|
||||||
/**
|
/**
|
||||||
* The EntitlementInfo object gives you access to all of the information about the status of a user entitlement.
|
* The EntitlementInfo object gives you access to all of the information about the status of a user entitlement.
|
||||||
*/
|
*/
|
||||||
@ -884,11 +878,38 @@ export interface PurchasesEntitlementInfos {
|
|||||||
* Map of active EntitlementInfo (`PurchasesEntitlementInfo`) objects keyed by entitlement identifier.
|
* Map of active EntitlementInfo (`PurchasesEntitlementInfo`) objects keyed by entitlement identifier.
|
||||||
*/
|
*/
|
||||||
readonly active: { [key: string]: PurchasesEntitlementInfo };
|
readonly active: { [key: string]: PurchasesEntitlementInfo };
|
||||||
|
/**
|
||||||
|
* Dictionary of active ``EntitlementInfo`` objects keyed by their identifiers.
|
||||||
|
* @ Note: When queried from the sandbox environment, it only returns entitlements active in sandbox.
|
||||||
|
* When queried from production, this only returns entitlements active in production.
|
||||||
|
*/
|
||||||
|
readonly activeInCurrentEnvironment: { [key: string]: PurchasesEntitlementInfo };
|
||||||
|
/**
|
||||||
|
* Dictionary of active ``EntitlementInfo`` objects keyed by their identifiers.
|
||||||
|
*
|
||||||
|
* @note: these can be active on any environment.
|
||||||
|
*/
|
||||||
|
readonly activeInAnyEnvironment: { [key: string]: PurchasesEntitlementInfo };
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PurchaserInfo {
|
export interface PurchasesStoreTransaction {
|
||||||
/**
|
/**
|
||||||
* Entitlements attached to this purchaser info
|
* RevenueCat Id associated to the transaction.
|
||||||
|
*/
|
||||||
|
readonly transactionIdentifier: string;
|
||||||
|
/**
|
||||||
|
* Product Id associated with the transaction.
|
||||||
|
*/
|
||||||
|
readonly productIdentifier: string;
|
||||||
|
/**
|
||||||
|
* Purchase date of the transaction in ISO 8601 format.
|
||||||
|
*/
|
||||||
|
readonly purchaseDate: string;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface CustomerInfo {
|
||||||
|
/**
|
||||||
|
* Entitlements attached to this customer info
|
||||||
*/
|
*/
|
||||||
readonly entitlements: PurchasesEntitlementInfos;
|
readonly entitlements: PurchasesEntitlementInfos;
|
||||||
/**
|
/**
|
||||||
@ -903,7 +924,7 @@ export interface PurchaserInfo {
|
|||||||
* Returns all the non-subscription purchases a user has made.
|
* Returns all the non-subscription purchases a user has made.
|
||||||
* The purchases are ordered by purchase date in ascending order.
|
* The purchases are ordered by purchase date in ascending order.
|
||||||
*/
|
*/
|
||||||
readonly nonSubscriptionTransactions: PurchasesTransaction[];
|
readonly nonSubscriptionTransactions: PurchasesStoreTransaction[];
|
||||||
/**
|
/**
|
||||||
* The latest expiration date of all purchased skus
|
* The latest expiration date of all purchased skus
|
||||||
*/
|
*/
|
||||||
@ -952,22 +973,65 @@ export interface PurchaserInfo {
|
|||||||
readonly managementURL: string | null;
|
readonly managementURL: string | null;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PurchasesTransaction {
|
export interface PurchasesIntroPrice {
|
||||||
/**
|
/**
|
||||||
* RevenueCat Id associated to the transaction.
|
* Price in the local currency.
|
||||||
*/
|
*/
|
||||||
readonly revenueCatId: string;
|
readonly price: number;
|
||||||
/**
|
/**
|
||||||
* Product Id associated with the transaction.
|
* Formatted price, including its currency sign, such as €3.99.
|
||||||
*/
|
*/
|
||||||
readonly productId: string;
|
readonly priceString: string;
|
||||||
/**
|
/**
|
||||||
* Purchase date of the transaction in ISO 8601 format.
|
* Number of subscription billing periods for which the user will be given the discount, such as 3.
|
||||||
*/
|
*/
|
||||||
readonly purchaseDate: string;
|
readonly cycles: number;
|
||||||
|
/**
|
||||||
|
* Billing period of the discount, specified in ISO 8601 format.
|
||||||
|
*/
|
||||||
|
readonly period: string;
|
||||||
|
/**
|
||||||
|
* Unit for the billing period of the discount, can be DAY, WEEK, MONTH or YEAR.
|
||||||
|
*/
|
||||||
|
readonly periodUnit: string;
|
||||||
|
/**
|
||||||
|
* Number of units for the billing period of the discount.
|
||||||
|
*/
|
||||||
|
readonly periodNumberOfUnits: number;
|
||||||
}
|
}
|
||||||
|
|
||||||
export interface PurchasesProduct {
|
export interface PurchasesStoreProductDiscount {
|
||||||
|
/**
|
||||||
|
* Identifier of the discount.
|
||||||
|
*/
|
||||||
|
readonly identifier: string;
|
||||||
|
/**
|
||||||
|
* Price in the local currency.
|
||||||
|
*/
|
||||||
|
readonly price: number;
|
||||||
|
/**
|
||||||
|
* Formatted price, including its currency sign, such as €3.99.
|
||||||
|
*/
|
||||||
|
readonly priceString: string;
|
||||||
|
/**
|
||||||
|
* Number of subscription billing periods for which the user will be given the discount, such as 3.
|
||||||
|
*/
|
||||||
|
readonly cycles: number;
|
||||||
|
/**
|
||||||
|
* Billing period of the discount, specified in ISO 8601 format.
|
||||||
|
*/
|
||||||
|
readonly period: string;
|
||||||
|
/**
|
||||||
|
* Unit for the billing period of the discount, can be DAY, WEEK, MONTH or YEAR.
|
||||||
|
*/
|
||||||
|
readonly periodUnit: string;
|
||||||
|
/**
|
||||||
|
* Number of units for the billing period of the discount.
|
||||||
|
*/
|
||||||
|
readonly periodNumberOfUnits: number;
|
||||||
|
}
|
||||||
|
|
||||||
|
export interface PurchasesStoreProduct {
|
||||||
/**
|
/**
|
||||||
* Product Id.
|
* Product Id.
|
||||||
*/
|
*/
|
||||||
@ -987,35 +1051,19 @@ export interface PurchasesProduct {
|
|||||||
/**
|
/**
|
||||||
* Formatted price of the item, including its currency sign, such as €3.99.
|
* Formatted price of the item, including its currency sign, such as €3.99.
|
||||||
*/
|
*/
|
||||||
readonly price_string: string;
|
readonly priceString: string;
|
||||||
/**
|
/**
|
||||||
* Currency code for price and original price.
|
* Currency code for price and original price.
|
||||||
*/
|
*/
|
||||||
readonly currency_code: string;
|
readonly currencyCode: string;
|
||||||
/**
|
/**
|
||||||
* Introductory price of a subscription in the local currency.
|
* Introductory price.
|
||||||
*/
|
*/
|
||||||
readonly intro_price: number | null;
|
readonly introPrice: PurchasesIntroPrice | null;
|
||||||
/**
|
/**
|
||||||
* Formatted introductory price of a subscription, including its currency sign, such as €3.99.
|
* Collection of discount offers for a product. Null for Android.
|
||||||
*/
|
*/
|
||||||
readonly intro_price_string: string | null;
|
readonly discounts: PurchasesStoreProductDiscount[] | null;
|
||||||
/**
|
|
||||||
* Billing period of the introductory price, specified in ISO 8601 format.
|
|
||||||
*/
|
|
||||||
readonly intro_price_period: string | null;
|
|
||||||
/**
|
|
||||||
* Number of subscription billing periods for which the user will be given the introductory price, such as 3.
|
|
||||||
*/
|
|
||||||
readonly intro_price_cycles: number | null;
|
|
||||||
/**
|
|
||||||
* Unit for the billing period of the introductory price, can be DAY, WEEK, MONTH or YEAR.
|
|
||||||
*/
|
|
||||||
readonly intro_price_period_unit: string | null;
|
|
||||||
/**
|
|
||||||
* Number of units for the billing period of the introductory price.
|
|
||||||
*/
|
|
||||||
readonly intro_price_period_number_of_units: number | null;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -1034,7 +1082,7 @@ export interface PurchasesPackage {
|
|||||||
/**
|
/**
|
||||||
* Product assigned to this package.
|
* Product assigned to this package.
|
||||||
*/
|
*/
|
||||||
readonly product: PurchasesProduct;
|
readonly product: PurchasesStoreProduct;
|
||||||
/**
|
/**
|
||||||
* Offering this package belongs to.
|
* Offering this package belongs to.
|
||||||
*/
|
*/
|
||||||
@ -1143,13 +1191,43 @@ export interface IntroEligibility {
|
|||||||
*/
|
*/
|
||||||
export interface LogInResult {
|
export interface LogInResult {
|
||||||
/**
|
/**
|
||||||
* The Purchaser Info for the user.
|
* The Customer Info for the user.
|
||||||
*/
|
*/
|
||||||
readonly purchaserInfo: PurchaserInfo;
|
readonly customerInfo: CustomerInfo;
|
||||||
/**
|
/**
|
||||||
* True if the call resulted in a new user getting created in the RevenueCat backend.
|
* True if the call resulted in a new user getting created in the RevenueCat backend.
|
||||||
*/
|
*/
|
||||||
readonly created: boolean;
|
readonly created: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Holds parameters to initialize the SDK.
|
||||||
|
*/
|
||||||
|
export interface PurchasesConfiguration {
|
||||||
|
/**
|
||||||
|
* RevenueCat API Key. Needs to be a string
|
||||||
|
*/
|
||||||
|
apiKey: string;
|
||||||
|
/**
|
||||||
|
* A unique id for identifying the user
|
||||||
|
*/
|
||||||
|
appUserID?: string | null;
|
||||||
|
/**
|
||||||
|
* An optional boolean. Set this to TRUE if you have your own IAP implementation and
|
||||||
|
* want to use only RevenueCat's backend. Default is FALSE. If you are on Android and setting this to ON, you will have
|
||||||
|
* to acknowledge the purchases yourself.
|
||||||
|
*/
|
||||||
|
observerMode?: boolean;
|
||||||
|
/**
|
||||||
|
* An optional string. iOS-only, will be ignored for Android.
|
||||||
|
* Set this if you would like the RevenueCat SDK to store its preferences in a different NSUserDefaults
|
||||||
|
* suite, otherwise it will use standardUserDefaults. Default is null, which will make the SDK use standardUserDefaults.
|
||||||
|
*/
|
||||||
|
userDefaultsSuiteName?: string;
|
||||||
|
/**
|
||||||
|
* An optional boolean. Android only. Required to configure the plugin to be used in the Amazon Appstore.
|
||||||
|
*/
|
||||||
|
useAmazon?: boolean;
|
||||||
|
}
|
||||||
|
|
||||||
export type ShouldPurchasePromoProductListener = (deferredPurchase: () => void) => void;
|
export type ShouldPurchasePromoProductListener = (deferredPurchase: () => void) => void;
|
||||||
|
Loading…
Reference in New Issue
Block a user