Чем мы можем помочь?

Переход с версии 3.3.X на версию 4.3.2 и выше

  • Обновлено

Кратко: что нужно учесть при переходе между версиями Android SDK AppsFlyer.

В интеграцию Android SDK были внесены значительные изменения.

Основные изменения:

  • Теперь SDK является синглтоном, то есть все вызовы API должны выполняться следующим образом:
AppsFlyerLib.getInstance().setCustomerUserId("myId");
  • SetAppsFlyerKey() — этот метод был удален; в результате мы ожидаем получить dev key с помощью нового метода инициализации: AppsFlyerLib.getInstance().startTracking(this,"YOUR_APPSFLYER_DEV_KEY")
  • sendTracking(), onActivityPause(), onActivityResume() были удалены. SDK автоматически определяет запуски
  • Deep Link — для активностей с поддержкой диплинкинга разработчик должен вызвать:
AppsFlyerLib.getInstance().sendDeepLinkData(this) в onCreate()

отображаемой активности.

Это требуется только в том случае, если приложение не работает в фоновом режиме.

  • Logging — значение флага логирования по умолчанию изменено на false. Кроме того, если флаг отключен, логи не выводятся (исправление ошибки). Чтобы включить флаг логирования, разработчик должен вызвать:
AppsFlyerLib.getInstance().setDebugLog(true);

Чтобы посмотреть руководство по интеграции AppsFlyer SDK для Android, нажмите здесь.

Переход на 4.4.0 и выше

Android SDK AppsFlyer v4.4.0 больше не поддерживает следующий receiver в манифесте:

<receiver android:name="com.appsflyer.AppsFlyerLib">
  <intent-filter>
    <action android:name="android.intent.action.PACKAGE_REMOVED"/>
    <data android:scheme="package"/>
  </intent-filter> 
</receiver>

Если вы используете версию 4.4.0+, удалите этот receiver из файла манифеста.

Единственный обязательный receiver для SDK выглядит следующим образом:

<receiver
  android:name="com.appsflyer.MultipleInstallBroadcastReceiver"
  android:exported="true">
    <intent-filter>
      <action android:name="com.android.vending.INSTALL_REFERRER" />
    </intent-filter>
</receiver>