我在我的应用上设置了Google Analytics,并且我一直在关注v4的Google文档。使用广告系列跟踪时,他们会说要添加以下“清单”
<!-- Used for Google Play Store Campaign Measurement-->
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" />
<receiver android:name="com.google.android.gms.analytics.CampaignTrackingReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
这看起来很好但是当我使用shell和logcat与adb来验证所有工作时我发现没有找到广告系列数据。他们说在应用程序关闭的shell中运行的示例数据是
am broadcast -a com.android.vending.INSTALL_REFERRER
-n com.mystraldesign.colorlib/com.google.analytics.tracking.android.CampaignTrackingReceiver
--es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"
每次产生相同的错误No Campaign Data found
。我开始玩游戏并在Manifest中发现接收者名称
com.google.android.gms.analytics.CampaignTrackingReceiver
与使用
的测试代码不同 com.google.analytics.tracking.android.CampaignTrackingReceiver
所以我更改了测试代码以使用与应用程序相同的接收者名称,所以它现在看起来像这样
am broadcast -a com.android.vending.INSTALL_REFERRER
-n com.mystraldesign.colorlib/com.google.android.gms.analytics.CampaignTrackingReceiver
--es "referrer" "utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"
这会生成正确发送广告系列消息的正确logcat输出。
我的问题是哪个是正确的。我应该按原样离开清单接收者电话并假设Google没有更新他们的示例,还是应该更改清单以匹配示例?
答案 0 :(得分:0)
如果您使用Google Play服务提供的最新v4 Google AnalyticsSDK,则正确的接收者是com.google.android.gms.analytics.CampaignTrackingReceiver。 Google Analytics v2接收器使用的是不同的类 - com.google.analytics.tracking.android.CampaignTrackingReceiver。检查您的应用是否使用Google Play服务jar中的Google Analytics,而不是独立的Google Analytics v2 SDK。