web-dev-qa-db-ja.com

テストする方法Android紹介トラッキング?

Android市場からのダウンロードで独自の参照追跡を行うためのコードを実装しています。

私のアプリが何をしているのかについては Androidの紹介追跡が機能しない をご覧ください。

一般公開する前に、このコードが機能しているかどうかをテストするにはどうすればよいですか?

99
emmby

最も簡単な方法はadbを使用することです。コードを書く必要はありません。

ただ端末で実行

adb Shell 
am broadcast -a com.Android.vending.INSTALL_REFERRER -n <your.package>/.<path.up.until.your.BroadcastReceiver> --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"

これが私の正確な行です:

am broadcast -a com.Android.vending.INSTALL_REFERRER -n net.lp.collectionista/.util.broadcast_receivers.FacadeBroadcastReceiver --es "referrer" "utm_source=test_source\&utm_medium=test_medium\&utm_term=test_term\&utm_content=test_content\&utm_campaign=test_name"

しかし、あなたのBroadcastReceiverAnalyticsReceiverである必要があるかもしれません。

Google Analytics v2の場合:

com.your.package/com.google.analytics.tracking.Android.CampaignTrackingReceiver

Google Analytics v3の場合:

com.your.package/com.google.Android.apps.analytics.AnalyticsReceiver

Google Analytics v4の場合:

com.your.package/com.google.Android.gms.analytics.CampaignTrackingReceiver

ルイージが言ったように、"-n" componentname部分ですが、デバイス上のすべてのアプリが紹介を受け取ります。これは、BroadcastReceiverが適切に見つかるかどうかを確認するための追加のテストになります。

私が見る出力(特に最後の行が重要です):

05-13 17:28:08.335: D/Collectionista FacadeBroadcastReceiver(8525): Receiver called
05-13 17:28:08.335: V/Collectionista FacadeBroadcastReceiver(8525): Receiver called with action: com.Android.vending.INSTALL_REFERRER
05-13 17:28:08.365: D/GoogleAnalyticsTracker(8525): Stored referrer:utmcsr=test_source|utmccn=test_name|utmcmd=test_medium|utmctr=test_term|utmcct=test_content
252
pjv

番号!あなたはそれをテストするいくつかの方法を持っています

    Intent i = new Intent("com.Android.vending.INSTALL_REFERRER");
    //Set Package name
    i.setPackage("com.package.yourapp");
    //referrer is a composition of the parameter of the campaing
    i.putExtra("referrer", referrer);
    sendBroadcast(i);
16
Luigi Agosti

上記のコマンドはどれも機能しません。ここで多くのコマンドの組み合わせを試した後、私のために働くものがあります:

./adb Shell am broadcast -a com.Android.vending.INSTALL_REFERRER -n <your package>/<your package>.<your BroadcastReceiver> --es "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"

注:リファラーはURLエンコードする必要があります。

8
Pablo

here を生成する紹介qrcodeをスキャンできる、素敵なオープンソースツールを見つけ、すべての正しい情報を含むブロードキャストインテントを送信します。

https://github.com/giago/referraltester

4
Gyuri

pjvの答えは、AndroidManifest.xmlのパッケージ名がbuild.gradleのapplicationIdと一致する場合に機能します。一致しない場合は、次を実行します。
指定:
applicationIdはcom.my.app.debug
パッケージはcom.package.app
受信者はpath.to.MyReceiver
その後com.my.app.debug/com.package.app.path.to.MyReceiver
詳細はこちら: https://groups.google.com/forum/#!topic/adt-dev/PjTHX79Iomw

2
Chris Woolfe

私にとっては、「-es」ではなく「-e」で追加する場合にのみ、インテントに追加されます。広告バージョンの問題の可能性があります。したがって、私のコマンドは./adb Shell am broadcast -a com.Android.vending.INSTALL_REFERRER -n <your package>/<your package>.<your BroadcastReceiver> -e "referrer" "utm_medium%3Dpartner%26utm_campaign%3Dpartner_name"

0
Sojan P R

https://github.com/rogerbinns/referraltester 「com.Android.vending.INSTALL_REFERRER」ブロードキャストを開始するための素晴らしいアプリです。パラメーターも入力できます。

0
sammiwei

Goople PlayはAPPリンクを受信し、クリックしてダウンロードするようユーザーに要求します。ダウンロードが完了すると、Google Playはブロードキャストを送信します。 APPリンクは通常、いくつかのパラメーター(次の例など)を使用して、ソースがどこから来たかをGoogle PlayとAPPに知らせます。

Https://play.google.com/store/apps/details?id=com.example.application
& Referrer = utm_source% 3Dgoogle
% 26utm_medium% 3Dcpc
% 26utm_term% 3Drunning% 252Bshoes
% 26utm_content% 3Dlogolink
% 26utm_campaign% 3Dspring_sale

したがって、adbを使用して、Google Playからのブロードキャストをシミュレートできます。

echo 'am broadcast \
    -a com.Android.vending.INSTALL_REFERRER \
    -n "com.google.samples.quickstart.analytics/com.google.Android.gms.analytics.CampaignTrackingReceiver" \
    --es "referrer" \
      "utm_source=test_sourceCampaignTrackingReceiver&utm_medium=referral&utm_term=test_term&utm_content=test_content&utm_campaign=test_name"; \
    exit' | adb Shell
0
WeiYuan