14
10

More than 3 years have passed since last update.

INSTALL_REFERRERが廃止されるというお話

Last updated at Posted at 2019-12-11

ソース

2020年3月1日から、PlayストアがINSTALL_REFERRERブロードキャストインテントを投げなくなる、ということのようです。

調査どころ

1. 広告SDK、計測系SDKを使っているか?

大抵のSDKは、Play Install Referrer APIへの移行が済んでいるようなので、最新版にアップデートし、各社のマイグレーション手順に従いましょう。(大手のSDKがこの移行が完了したので、停止をアナウンスできるようになったようです)

2. マニフェストファイルの確認

マニフェストファイルに下記の記述があるか確認。

AndroidManifest.xml
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER"/>
            </intent-filter>

他社製SDK等で使っている以外で、上記記述があるのであれば、Play Install Referrer APIに移行する。

自社製ライブラリなどでもよく調査して下さい。

3. GA/FAを使っている場合

現在、
「これらのアプリがINSTALL_REFERRERを使っているからAPIに変えてね」
と警告するメールが適宜Googleより届いているようです。

で、このアプリの抽出が、どうやら、

"INSTALL_REFERRER"だけをgrepかけて検出したアプリを抽出している

っぽいんです。

手持ちのアプリで調べたところ、1にも2にも該当しないのに、対象として挙がっているアプリがあるため、リリースされたapkをAnalyzeしてマージ後のマニフェストファイルを調べたところ、

AndroidManifest.xml
        <receiver android:enabled="true" android:exported="false" android:name="com.google.android.gms.measurement.AppMeasurementReceiver"/>
        <receiver android:enabled="true" android:exported="true" android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver" android:permission="android.permission.INSTALL_PACKAGES">
            <intent-filter>
                <action android:name="com.android.vending.INSTALL_REFERRER"/>
            </intent-filter>
        </receiver>

という感じでほとんどのアプリに含まれていることが分かりました。
com.google.android.gms.measurementは、GA(Google Analytics)のパッケージですが、実はFA(Firebase Analytics)もGAのパッケージに依存しています。

では、Firebaseの対応がまだなのか?実は最新版では対応済みだったりする?
ということを調べるため、2019/12/11時点で最新のFirebaseバージョンでreleaseビルドして検証してみました。

アプリを取り敢えず新規で作り、Firebaseを導入します。

app/build.gradle

    implementation 'com.google.firebase:firebase-analytics:17.2.1'

com.google.firebase:firebase-coreでも一緒です

releaseビルドして(署名ファイルは適当に用意)、Android Studioの[Build]-[Analyze APK..]で見てみると・・・

AndroidManifest.xml
        <receiver
            android:name="com.google.android.gms.measurement.AppMeasurementInstallReferrerReceiver"
            android:permission="android.permission.INSTALL_PACKAGES"
            android:enabled="true"
            android:exported="true">

            <intent-filter>

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

バッチリいます。

これは、Firebaseが対応するのを待つ必要がありそうですね。しばらくは、バージョンアップ情報を注視する必要がありそうです。

(Firebaseの対応が終わってからアナウンスして欲しかった・・・サードパーティー製のSDKの移行は待ったのに、なぜそこを待たない?? もしかして、Firebaseだけ抜け道を用意するつもりorすでに用意している、とかなのかな。対象アプリ検出ロジックのミスの方かも?)

追記

14
10
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
14
10