emm*_*mby 99 android google-analytics referrer google-play
我正在实施一些代码来对Android市场的下载进行自己的推荐跟踪.
请参阅Android推介跟踪无法了解我的应用正在做什么.
如何在部署到公众之前测试此代码是否正常工作?
pjv*_*pjv 254
最简单的方法是使用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"
Run Code Online (Sandbox Code Playgroud)
这是我的确切行:
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"
Run Code Online (Sandbox Code Playgroud)
但你BroadcastReceiver
可能需要成为AnalyticsReceiver
,即
对于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
正如Luigi所说,您也可以省略"-n"
组件名部分,但随后设备上的每个应用都会收到推介.这可以是一个很好的额外测试,看看你是否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
Run Code Online (Sandbox Code Playgroud)
Lui*_*sti 17
没有!你有几种方法来测试它
手动发送此表单的意图广播
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);
Run Code Online (Sandbox Code Playgroud)以上命令都不适合我.在尝试了很多命令之后,这里有一个对我有用的命令:
./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"
Run Code Online (Sandbox Code Playgroud)
注意:引荐来源应该是url编码的.
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
归档时间: |
|
查看次数: |
58118 次 |
最近记录: |