概要

Android Open Anonymous Device Identifier (OAID) を収集し、サードパーティーのAndroidアプリストアからのインストールを特定します。

OAIDは、Android端末のユーザーリセット可能な一意の識別子です。モバイルセキュリティアライアンス(MSA)、中国情報通信研究院、デバイスメーカーにより、IMEIなどのリセット不可能なデバイス識別子に代わるプライバシーを保護するものとして導入されました。

連携

AppsFlyer SDK 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.

  • 中国での使用を意図したアプリの場合は、MSA SDK を使用する必要があります。
  • Huawei デバイスでグローバルに使用することを目的としたアプリの場合は、Huawei HMS ライブラリを使用する必要があります。

MSA SDK integration

MSA SDKを実装する:

  1. マーケティング担当者から取得: MSA SDK (aar) ファイルと、アプリに実装する必要がある証明書
    1. MSA SDK (aar) を libs フォルダーの下にコピーします。
    2. Copy and paste supplierconfig.json プロジェクトの Assets フォルダーの下で、各ストアでアプリの AppID を更新するなど、必要な変更を加えます。
    3. 証明書ファイル (バンドル名.cert.pem) をコピーして貼り付けます。プロジェクトのアセットフォルダーの下にあります。
    4. 参照:MSAのウェブサイトの完全な手順
  2. Update the build.gradle file of your project as follows:
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

Hauwei HMS SDKを実装する

  1. Huawei Mavenリポジトリを次のように追加します:
repositories {
  maven {
      url "https://developer.huawei.com/repo/"
  }
}
  1. Update the build.gradle file of your app as follows:
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.

Add the following code to your 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をAppsFlyer SDKに手動で設定するには

AppsFlyerlib.setOaidData(oaid);