Миграция Adapty Flutter SDK на версию 3.0

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

Обратите внимание: библиотека 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 в 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 -> раздел API keys
withLogLevelопциональныйAdapty записывает ошибки и другую важную информацию для отслеживания работы приложения. Доступны следующие уровни:
  • error: записываются только ошибки.
  • warn: записываются ошибки и сообщения SDK, которые не являются критическими, но заслуживают внимания.
  • info: записываются ошибки, предупреждения и важные информационные сообщения, например о жизненном цикле различных модулей.
  • verbose: записывается вся дополнительная информация, полезная при отладке: вызовы функций, API-запросы и т. д.
withObserverModeопциональный

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

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

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

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

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

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

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

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

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

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

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

Настройка модуля 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 не является обязательной — модуль можно активировать без неё. Однако если вы используете конфигурацию, все её параметры обязательны.

Параметры:

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