如何testingandroid引荐跟踪?
我正在实施一些代码,以对Android市场上的下载进行自己的推介跟踪。
请参阅Android引荐跟踪不了解我的应用正在做什么。
在部署给公众之前,如何testing此代码是否正在运行?
最简单的方法是使用adb
。 你不必编写任何代码。
只要在terminal上运行 :
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"
但是您的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"
componentname部分,但是你的设备上的每一个应用程序都会收到这个推荐信息。 这可以是一个很好的额外testing,看看您的BroadcastReceiver
可以正确find。
我看到的输出(特别是最后一行很重要):
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
没有! 你有几个方法来testing它
- 使用应用程序: https : //market.android.com/details?id=com.giago.referraltester&feature=search_result
-
用这种forms的意图手动发送广播
Intent i = new Intent("com.android.vending.INSTALL_REFERRER"); i.setPackage(com.package.yourapp) //referrer is a composition of the parameter of the campaing i.putExtra("referrer", referrer); sendBroadcast(i);
find一个不错的开源工具,可以让你扫描你在这里生成的推荐qrcode,并发送一个广播意图的所有正确的信息。
上述命令都不适用于我。 在尝试了很多命令组合后,这里是适合我的一个:
./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编码。
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
https://github.com/rogerbinns/referraltester这里是一个伟大的应用程序启动“com.android.vending.INSTALL_REFERRER”广播。; 你也可以input参数。
对于我而言,只有在添加“-e”而不是“–es”的情况下,才会添加附加内容。 可能是我的广告版本问题。 所以我的命令是./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"
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