Purchases
Entry point for Purchases. It should be instantiated as soon as your app has a unique user id for your user. This can be when a user logs in if you have accounts or on launch if you can generate a random user identifier. Make sure you follow the quickstart guide to setup your RevenueCat account.
Functions
Gets the current user's CustomerCenterConfigData. Used by RevenueCatUI to present the customer center.
Get latest available customer info. Coroutine friendly version of Purchases.getCustomerInfo.
This function will change the current appUserID. Typically this would be used after a log out to identify a new user without calling configure
Logs out the Purchases client clearing the save appUserID. This will generate a random user id and save it in the cache.
Syncs subscriber attributes and then fetches the configured offerings for this user. This method is intended to be called when using Targeting Rules with Custom Attributes. Any subscriber attributes should be set before calling this method to ensure the returned offerings are applied with the latest subscriber attributes.
This method will send all the purchases to the RevenueCat backend. Call this when using your own implementation for subscriptions anytime a sync is needed, such as when migrating existing users to RevenueCat.
Automatically collect subscriber attributes associated with the device identifiers $gpsAdId, $androidId, $ip
Note: This method only works for the Amazon Appstore. There is no Google equivalent at this time. Calling from a Google-configured app will always return AmazonLWAConsentStatus.UNAVAILABLE.
Note: This method only works for the Amazon Appstore. There is no Google equivalent at this time. Calling from a Google-configured app will always return AmazonLWAConsentStatus.UNAVAILABLE.
Note: This method only works for the Amazon Appstore. There is no Google equivalent at this time. Calling from a Google-configured app will always return AmazonLWAConsentStatus.UNAVAILABLE.
Get latest available customer info.
Get latest available customer info.
Get customer info from cache or network depending on fetch policy.
Fetch the configured offerings for this user. Offerings allows you to configure your in-app products vis RevenueCat and greatly simplifies management. See the guide for more info.
Gets the StoreProduct(s) for the given list of product ids for all product types.
Gets the StoreProduct(s) for the given list of product ids of type type
Invalidates the cache for customer information.
This function will change the current appUserID. Typically this would be used after a log out to identify a new user without calling configure
This function will change the current appUserID. Typically this would be used after a log out to identify a new user without calling configure
Resets the Purchases client clearing the save appUserID. This will generate a random user id and save it in the cache.
Logs out the Purchases client clearing the save appUserID. This will generate a random user id and save it in the cache.
Initiate a purchase with the given PurchaseParams. Initialized with an Activity either a Package, StoreProduct, or SubscriptionOption.
Redeem a web purchase using a WebPurchaseRedemption object obtained through Purchases.parseAsWebPurchaseRedemption.
Call this when you are finished using the UpdatedCustomerInfoListener. You should call this to avoid memory leaks.
Restores purchases made with the current Play Store account for the current user. This method will post all purchases associated with the current Play Store account to RevenueCat and become associated with the current appUserID
. If the receipt token is being used by an existing user, the current appUserID
will be aliased together with the appUserID
of the existing user. Going forward, either appUserID
will be able to reference the same user.
Subscriber attribute associated with the install ad group for the user
Subscriber attribute associated with the Adjust Id for the user Required for the RevenueCat Adjust integration
Subscriber attribute associated with the Airship Channel ID Required for the RevenueCat Airship integration
Subscriber attribute associated with the AppsFlyer Id for the user Required for the RevenueCat AppsFlyer integration
Subscriber attributes are useful for storing additional, structured information on a user. Since attributes are writable using a public key they should not be used for managing secure or sensitive information such as subscription status, coins, etc.
Subscriber attribute associated with the install campaign for the user
Subscriber attribute associated with the CleverTap ID for the user Required for the RevenueCat CleverTap integration
Subscriber attribute associated with the install ad creative for the user
Subscriber attribute associated with the display name for the user
Subscriber attribute associated with the Facebook SDK Anonymous Id for the user Recommended for the RevenueCat Facebook integration
Subscriber attribute associated with the Firebase App Instance ID for the user Required for the RevenueCat Firebase integration
Subscriber attribute associated with the install keyword for the user
Subscriber attribute associated with the Kochava Device ID for the user Recommended for the RevenueCat Kochava integration
Subscriber attribute associated with the install media source for the user
Subscriber attribute associated with the Mixpanel Distinct ID for the user
Subscriber attribute associated with the mParticle Id for the user Recommended for the RevenueCat mParticle integration
Subscriber attribute associated with the OneSignal Player Id for the user Required for the RevenueCat OneSignal integration. Deprecated for OneSignal versions above v9.0.
Subscriber attribute associated with the OneSignal User ID for the user Required for the RevenueCat OneSignal integration with versions v11.0 and above.
Subscriber attribute associated with the phone number for the user
Subscriber attribute associated with the push token for the user
Subscriber attribute associated with the Tenjin Analytics installation ID for the user Required for the RevenueCat Tenjin integration
Google Play only, no-op for Amazon. Displays the specified in-app message types to the user as a snackbar if there are any available to be shown. If PurchasesConfiguration.showInAppMessagesAutomatically is enabled, this will be done automatically on each Activity's onStart.
This method will send an Amazon purchase to the RevenueCat backend. This function should only be called if you have set purchasesAreCompletedBy to MY_APP or when performing a client side migration of your current users to RevenueCat.
Syncs subscriber attributes and then fetches the configured offerings for this user. This method is intended to be called when using Targeting Rules with Custom Attributes. Any subscriber attributes should be set before calling this method to ensure the returned offerings are applied with the latest subscriber attributes.
Syncs subscriber attributes and then fetches the configured offerings for this user. This method is intended to be called when using Targeting Rules with Custom Attributes. Any subscriber attributes should be set before calling this method to ensure the returned offerings are applied with the latest subscriber attributes.
This method will send all the purchases to the RevenueCat backend. Call this when using your own implementation for subscriptions anytime a sync is needed, such as when migrating existing users to RevenueCat. The SyncPurchasesCallback.onSuccess callback will be called if all purchases have been synced successfully or there are no purchases. Otherwise, the SyncPurchasesCallback.onError callback will be called with a PurchasesError indicating the first error found.
This method will send all the purchases to the RevenueCat backend. Call this when using your own implementation for subscriptions anytime a sync is needed, such as when migrating existing users to RevenueCat. The onSuccess callback will be called if all purchases have been synced successfully or there are no purchases. Otherwise, the onError callback will be called with a PurchasesError indicating the first error found.
Used by RevenueCatUI
to keep track of PaywallEvents.
Properties
The passed in or generated app user ID
The current configuration parameters of the Purchases SDK.
If the appUserID
has been generated by RevenueCat
Default to TRUE, set this to FALSE if you are consuming and acknowledging transactions outside of the Purchases SDK.
The listener is responsible for handling changes to customer information. Make sure removeUpdatedCustomerInfoListener is called when the listener needs to be destroyed.