应用上架Google Play后推广活动失效,已参考官方文档配置Manifest
我之前也碰到过类似的问题,结合踩过的坑,给你几个针对性的排查方向:
1. 补全Manifest配置并检查混淆规则
你贴的Manifest代码看起来不完整,先确认CampaignTrackingReceiver的标签是否完全闭合,另外必须添加CampaignTrackingService的配置,很多人会漏掉这一步:
<service android:name="com.google.android.gms.analytics.CampaignTrackingService" android:enabled="true" android:exported="false" />
如果你的App开启了ProGuard混淆,一定要在混淆规则里保护Analytics相关类,避免被混淆导致功能失效:
-keep class com.google.android.gms.analytics.** { *; } -keep class com.google.android.gms.common.** { *; } -keep class com.google.android.gms.tagmanager.** { *; }
2. 用命令模拟验证广播接收逻辑
Google Play的INSTALL_REFERRER广播仅在首次通过Play商店安装启动App时触发,非Play渠道安装不会发送该广播。你可以用adb命令模拟广播,验证追踪逻辑是否正常:
adb shell am broadcast -a com.android.vending.INSTALL_REFERRER \ -n 你的应用包名/com.google.android.gms.analytics.CampaignTrackingReceiver \ --es "referrer" "utm_source=test_source&utm_medium=test_medium&utm_campaign=test_campaign"
执行后查看Logcat,搜索CampaignTracking关键词,确认是否有成功解析referrer参数的日志。
3. 确认Analytics SDK初始化正确性
要保证App启动时正确初始化Analytics实例,并且关闭DryRun模式(发布版本必须设为false):
GoogleAnalytics analytics = GoogleAnalytics.getInstance(getApplicationContext()); analytics.setDryRun(false); // 发布版本务必关闭测试模式 Tracker tracker = analytics.newTracker(R.xml.global_tracker); tracker.enableAutoActivityTracking(true);
同时检查res/xml/global_tracker.xml配置,确保ga_trackingId与你Analytics后台的ID一致,ga_autoActivityTracking设为true。
4. 核对推广活动参数拼写
检查Google Play控制台创建的推广活动参数(如utm_source、utm_medium、utm_campaign)是否和Analytics追踪配置完全一致,拼写错误(比如少写字母)是最容易忽略的问题。
5. 注意数据延迟问题
Google Play的推广数据不会实时同步到Analytics,通常会有几小时到1天的延迟,刚发布的推广活动可以先等待一段时间再查看数据。
内容的提问来源于stack exchange,提问作者Anmol317

