LoginSignup
3
5

More than 5 years have passed since last update.

AndroidのINSTALL_REFERRERテストでadbコマンドがうまくいかない時

Posted at

AndroidのGoogleAnalyticsのCampaign計測テストで、adbコマンドを使ったときにうまくいかなかった。

公式ドキュメントによると、下記コマンドでテストができると書いている。

$ adb shell am broadcast -a com.android.vending.INSTALL_REFERRER
                     -n "com.example.gatestapp/com.google.android.gms.analytics.CampaignTrackingReceiver"
                     --es referrer "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"

そうすると、Logcatに次のように出力されるらしい。

Thread[GAThread,5,main]: Campaign found: utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign

しかしながら、パラメータを&でつなげると、utm_source=testSourceまでしか出てこない。
adbの最新(1.0.32)でもバグがあるようである。

以前は=と&をエンコード文字列に置き換えれば動いたが、それもなぜか動かなくなっている。

そんな場合は下記の対応でいける。
一旦adb shell am〜〜〜でまとめてやるのでなく一旦shellを起動させてからam broadcastする。

$ adb shell // 一旦adb shellを起動する
$ am broadcast -a com.android.vending.INSTALL_REFERRER
                     -n "com.example.gatestapp/com.google.android.gms.analytics.CampaignTrackingReceiver"
                     --es referrer "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"
3
5
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
3
5