Flutter совет: шаблон RevenueCat
Вот несколько методов расширения, чтобы упростить работу с пакетом RevenueCat:
Получение периода подписки продукта в виде Duration
Получение количества пробных дней для продукта
Получение списка характеристик из метаданных RevenueCat в зависимости от языка пользователя
Оцените новую рубрику и напишите своё мнение! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #RevenueCat #boilerplate #mobiledevelopment #appdevelopment #codingtips
Вот несколько методов расширения, чтобы упростить работу с пакетом RevenueCat:
Получение периода подписки продукта в виде Duration
@override
Duration get duration => switch (revenueCatPackage.storeProduct.subscriptionPeriod) {
'P1W' => const Duration(days: 7),
'P1M' => const Duration(days: 30),
'P3M' => const Duration(days: 90),
'P6M' => const Duration(days: 180),
'P1Y' => const Duration(days: 365),
_ => Duration.zero,
};
Получение количества пробных дней для продукта
@override
int? get trialDays {
final introductory = revenueCatPackage.storeProduct.introductoryPrice;
if (introductory == null) {
return null;
}
if (introductory.price == 0) {
final unit = introductory.periodUnit;
switch (unit) {
case PeriodUnit.day:
return introductory.periodNumberOfUnits;
case PeriodUnit.week:
return introductory.periodNumberOfUnits * 7;
case PeriodUnit.month:
return introductory.periodNumberOfUnits * 30;
case PeriodUnit.year:
return introductory.periodNumberOfUnits * 365;
default:
return null;
}
}
return null;
}
Получение списка характеристик из метаданных RevenueCat в зависимости от языка пользователя
@override
List<String>? get features {
final locale = LocaleSettings.currentLocale.languageCode;
if (revenueCatOffer.metadata[locale] == null) {
return null;
}
final data = revenueCatOffer.metadata[locale]! as Map<Object?, Object?>;
final featurerObj = data["features"]! as List<Object?>;
return featurerObj.map((e) => e! as String).toList();
}
Оцените новую рубрику и напишите своё мнение! 👍💬
Все подобные новости можно найти по хэштегу #FlutterPulseTips
#flutter #dart #flutterpulse #FlutterPulseTips #RevenueCat #boilerplate #mobiledevelopment #appdevelopment #codingtips