Миграция Adapty Flutter SDK на v3.0

Adapty SDK v3.0 добавляет поддержку нового Adapty Paywall Builder — обновлённой версии no-code инструмента для создания пейволов. Благодаря максимальной гибкости и широким возможностям дизайна ваши пейволы станут ещё эффективнее и прибыльнее.

Обратите внимание: библиотека AdaptyUI устарела и теперь включена в состав AdaptySDK.

Удаление AdaptyUI SDK

  1. AdaptyUI теперь является модулем Adapty SDK, поэтому удалите adapty_ui_flutter из файла pubspec.yaml:

    dependencies:
    + adapty_flutter: ^3.2.1
    - adapty_flutter: ^2.10.3
    - adapty_ui_flutter: ^2.1.3
  2. Выполните команду:

    flutter pub get

Настройка Adapty SDK

Ранее для настройки Adapty SDK требовалось использовать файлы Adapty-Info.plist и AndroidManifest.xml.

Теперь дополнительные файлы не нужны — все необходимые параметры передаются при активации.

Настройку Adapty SDK достаточно выполнить один раз, как правило, при запуске приложения.

Активация модуля Adapty SDK

  1. Удалите импорт AdaptyUI SDK из вашего приложения:

    import 'package:adapty_flutter/adapty_flutter.dart';
    - import 'package:adapty_ui_flutter/adapty_ui_flutter.dart';
  2. Обновите активацию Adapty SDK следующим образом:

try {
-	Adapty().activate();  
+    await Adapty().activate(
+        configuration: AdaptyConfiguration(apiKey: 'YOUR_API_KEY')
+         ..withLogLevel(AdaptyLogLevel.debug)
+         ..withObserverMode(false)
+         ..withCustomerUserId(null)
+         ..withIpAddressCollectionDisabled(false)
+         ..withIdfaCollectionDisabled(false),
+   );
} catch (e) {
    // handle the error
}

Параметры:

ПараметрОбязательностьОписание
PUBLIC_SDK_KEYобязательныйКлюч, который можно найти в поле Public SDK key в настройках приложения в Adapty: App settings-> General tab -> API keys subsection
withLogLevelопциональныйAdapty записывает ошибки и другую важную информацию для анализа работы вашего приложения. Доступны следующие уровни логирования:
  • error: регистрируются только ошибки.
  • warn: регистрируются ошибки и сообщения от SDK, которые не вызывают критических ошибок, но заслуживают внимания.
  • info: регистрируются ошибки, предупреждения и важные информационные сообщения, например о жизненном цикле различных модулей.
  • verbose: регистрируется любая дополнительная информация, которая может быть полезна при отладке: вызовы функций, API-запросы и т. д.
withObserverModeопциональный

Булево значение, управляющее режимом Observer. Включите его, если вы самостоятельно обрабатываете покупки и статус подписки, а Adapty используете только для отправки событий подписки и аналитики.

Значение по умолчанию: false.

🚧 В режиме Observer Adapty SDK не закрывает транзакции — убедитесь, что вы обрабатываете их самостоятельно.

withCustomerUserIdопциональныйИдентификатор пользователя в вашей системе. Мы передаём его в событиях подписки и аналитики, чтобы привязать события к нужному профилю. Вы также можете искать пользователей по customerUserId в меню Profiles and Segments.
withIdfaCollectionDisabledопциональный

Установите значение true, чтобы отключить сбор и передачу IDFA.

а также передачу IP-адреса пользователя.

Значение по умолчанию: false.

Подробнее о сборе IDFA см. в разделе Интеграция с аналитикой.

withIpAddressCollectionDisabledопциональный

Установите значение true, чтобы отключить сбор и передачу IP-адреса пользователя.

Значение по умолчанию: false.

Активация модуля AdaptyUI в SDK Adapty

Настраивать модуль AdaptyUI нужно только в том случае, если вы планируете использовать Paywall Builder:

try {
    final mediaCache = AdaptyUIMediaCacheConfiguration(
        memoryStorageTotalCostLimit: 100 * 1024 * 1024, // 100MB
        memoryStorageCountLimit: 2147483647, // 2^31 - 1, max int value in Dart
        diskStorageSizeLimit: 100 * 1024 * 1024, // 100MB
    );

    await AdaptyUI().activate(
        configuration: AdaptyUIConfiguration(mediaCache: mediaCache),
        observer: <AdaptyUIObserver Implementation>,
    );
} catch (e) {
    // handle the error
}

Обратите внимание, что конфигурация AdaptyUI необязательна — модуль AdaptyUI можно активировать без неё. Однако если вы используете конфигурацию, все её параметры обязательны.

Параметры:

ПараметрНаличиеОписание
memoryStorageTotalCostLimitобязательныйОбщий лимит стоимости хранилища в байтах.
memoryStorageCountLimitобязательныйЛимит количества элементов в памяти.
diskStorageSizeLimitобязательныйЛимит размера файла на диске в байтах. 0 означает отсутствие ограничений.