Обзор

Чтобы атрибутировать установки из сторонних магазинов приложений для Android, собирайте Android OAID (Открытый анонимный идентификатор устройства).

OAID — это уникальный сбрасываемый пользователем идентификатор для устройств на Android. Он был представлен Альянсом по мобильной безопасности (Mobile Security Alliance, MSA), Китайским научно-исследовательским институтом информации и связи и производителями устройств в качестве альтернативы, сохраняющей конфиденциальность, для несбрасываемых идентификаторов устройств, таких как IMEI.

Интеграция

Требуется SDK AppsFlyer V5.4.0+

Интеграция OAID состоит из 3 шагов:

  • Integrating the AppsFlyer SDK in the build.gradle file of your project
  • Integrating the AppsFlyer OAID plugin module in the build.gradle file of your project
dependencies {
  implementation 'com.appsflyer:af-android-sdk:6.9.4'
  implementation 'com.appsflyer:oaid:6.9.0'
}
  • Integrating an SDK to generate and provide the OAID (either the MSA SDK or Huawei HMS SDK)
  • Add the ProGuard rules to protect the necessary classes and interfaces from the MSA and various device manufacturers.

Внимание:

  • Для приложений, предназначенных для использования в Китае, необходимо использовать SDK MSA.
  • Для приложений, предназначенных для использования на устройствах Huawei по всему миру, следует использовать библиотеку Huawei HMS.

MSA SDK integration

Для интеграции SDK MSA:

  1. Получите от маркетолога: файл SDK MSA (aar) и сертификат, который необходимо интегрировать в приложение.
    1. Скопируйте SDK MSA (aar) в папку библиотеки.
    2. Скопируйте и вставьте supplierconfig.json в папку активов проекта и внесите необходимые изменения, например, обновите идентификатор appid вашего приложения в каждом из магазинов.
    3. Скопируйте и вставьте файл сертификата (имя пакета.cert.pem) в папку активов проекта.
    4. См. полные инструкции на сайте MSA
  2. Обновите файл build.gradle вашего проекта следующим образом:
implementation 'com.appsflyer:af-android-sdk:6.9.4'
implementation 'com.appsflyer:oaid:6.9.0'
implementation files('libs/oaid_sdk_2.0.0.aar')

Huawei HMS SDK integration

Для интеграции SDK Huawei HMS:

  1. Добавьте репозиторий Maven Huawei:
repositories {
  maven {
      url "https://developer.huawei.com/repo/"
  }
}
  1. Обновите файл build.gradle вашего приложения следующим образом:
dependencies {
  implementation 'com.appsflyer:af-android-sdk:6.9.4'
  implementation 'com.appsflyer:oaid:6.9.0'
  implementation 'com.huawei.hms:ads-identifier:3.4.56.300'
}

ProGuard rules update (when using ProGuard)

Protect the necessary classes and interfaces from MSA and various device manufacturers.

Добавьте следующий код в свой файл proguard-rules.pro file:

# sdk
-keep class com.bun.miitmdid.** { *; }
-keep interface com.bun.supplier.** { *; }
# asus
-keep class com.asus.msa.SupplementaryDID.** { *; }
-keep class com.asus.msa.sdid.** { *; }
# freeme
-keep class com.android.creator.** { *; }
-keep class com.android.msasdk.** { *; }
# huawei
-keep class com.huawei.hms.ads.** { *; }
-keep interface com.huawei.hms.ads.** {*; }
# lenovo
-keep class com.zui.deviceidservice.** { *; }
-keep class com.zui.opendeviceidlibrary.** { *; }
# meizu
-keep class com.meizu.flyme.openidsdk.** { *; }
# nubia
-keep class com.bun.miitmdid.provider.nubia.NubiaIdentityImpl
{ *; }
# oppo
-keep class com.heytap.openid.** { *; }
# samsung
-keep class com.samsung.android.deviceidservice.** { *; }
# vivo
-keep class com.vivo.identifier.** { *; }
# xiaomi
-keep class com.bun.miitmdid.provider.xiaomi.IdentifierManager
{ *; }
# zte
-keep class com.bun.lib.** { *; }
# coolpad
-keep class com.coolpad.deviceidsupport.** { *; }

Дополнительные сведения

Opting out of OAID collection

Чтобы отказаться от сбора OAID, воспользуйтесь одним из следующих API:

AppsFlyerlib.setCollectOaid(false);
AppsFlyerlib.setDisableAdvertisingIdentifiers(true);

Setting OAID manually

Чтобы вручную задать OAID в SDK AppsFlyer:

  • Используйте setOaidData API следующим образом:
AppsFlyerlib.setOaidData(oaid);