configure static method
Sets up Purchases with your API key and an app user id.
PurchasesConfiguration Object containing configuration parameters
Implementation
static Future<void> configure(
PurchasesConfiguration purchasesConfiguration,
) async {
var purchasesCompletedByToUse = PurchasesAreCompletedByType.revenueCat;
var storeKitVersionToUse = purchasesConfiguration.storeKitVersion ??
StoreKitVersion.defaultVersion;
if (purchasesConfiguration.purchasesAreCompletedBy
is PurchasesAreCompletedByMyApp) {
purchasesCompletedByToUse = PurchasesAreCompletedByType.myApp;
storeKitVersionToUse = (purchasesConfiguration.purchasesAreCompletedBy
as PurchasesAreCompletedByMyApp)
.storeKitVersion;
if (purchasesConfiguration.storeKitVersion != null &&
purchasesConfiguration.storeKitVersion !=
StoreKitVersion.defaultVersion &&
storeKitVersionToUse != purchasesConfiguration.storeKitVersion) {
debugPrint(
'Warning: The storeKitVersion in purchasesAreCompletedBy does not match the '
'function\'s storeKitVersion parameter. We will use the value found in purchasesAreCompletedBy.');
}
if (storeKitVersionToUse == StoreKitVersion.defaultVersion) {
debugPrint(
'Warning: You should provide the specific StoreKit version you\'re using in '
'your implementation when configuring PurchasesAreCompletedByMyApp, '
'and not rely on the DEFAULT.');
}
}
await _channel.invokeMethod(
'setupPurchases',
{
'apiKey': purchasesConfiguration.apiKey,
'appUserId': purchasesConfiguration.appUserID,
'purchasesAreCompletedBy': purchasesCompletedByToUse.name,
'userDefaultsSuiteName': purchasesConfiguration.userDefaultsSuiteName,
'storeKitVersion': storeKitVersionToUse.name,
'useAmazon': purchasesConfiguration.store == Store.amazon,
'shouldShowInAppMessagesAutomatically':
purchasesConfiguration.shouldShowInAppMessagesAutomatically,
'entitlementVerificationMode':
purchasesConfiguration.entitlementVerificationMode.name,
'pendingTransactionsForPrepaidPlansEnabled':
purchasesConfiguration.pendingTransactionsForPrepaidPlansEnabled,
'automaticDeviceIdentifierCollectionEnabled':
purchasesConfiguration.automaticDeviceIdentifierCollectionEnabled,
},
);
}