我在测试我的应用的install_referrer时遇到了一些问题,然后才将其发布到Google Play商店。这些是我做的步骤。因此,如果您发现任何错误或遗漏,请告诉我们!
下面是更新的Android Manifest:
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<service android:name="com.google.analytics.tracking.android.CampaignTrackingService" />
<receiver android:name="com.google.analytics.tracking.android.CampaignTrackingReceiver" android:exported="true" >
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
之后我创建了/res/analytics.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources>
<string name="ga_trackingId">TRACKING ID FROM GOOGLE ANALYTICS ACCOUNT<string>
<bool name="ga_autoActivityTracking">true </bool>
<bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
将这两种方法添加到我的MainActivity File中:
@Override
public void onStart() {
super.onStart();
EasyTracker.getInstance(this).activityStart(this); // Add this method.
}
@Override
public void onStop() {
super.onStop();
EasyTracker.getInstance(this).activityStop(this); // Add this method.
}
然后(我正在研究Ubuntu)我打开终端(我认为错误就在这里):
PATH_ADB_TOOL shell am broadcast -a com.android.vending.INSTALL_REFERRER
-n MY_PACKAGE_NAME/com.google.analytics.tracking.android.CampaignTrackingReceiver--es "referrer"
"utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign"
之后,它说:
Broadcasting: Intent { act=com.android.vending.INSTALL_REFERRER pkg=referrer cmp=MY_PACKAGE_NAME/com.google.analytics.tracking.android.CampaignTrackingReceiver--es }
Broadcast completed: result=0
当我从Eclipse启动我的应用程序到我的Nexus 7时,我在logcat中找到了这个:
05-22 11:05:39.461: W/GAV2(15255): Thread[GAThread,5,main]: Service unavailable (code=1), will retry.
05-22 11:05:39.461: W/ActivityManager(515): Unable to start service Intent { act=com.google.android.gms.analytics.service.START cmp=com.google.android.gms/.analytics.service.AnalyticsService (has extras) } U=0: not found
05-22 11:05:39.471: I/GAV2(15255): Thread[GAThread,5,main]: No campaign data found.
修改
最后它奏效了。问题太愚蠢了:既然我正在使用Eclipse,我想我只是插入我要安装应用程序并调试Android项目的设备,然后从设备关闭应用程序。
我的错:我必须安装app vi ADB INSTALL,然后从设备启动它并检查Eclipse上的logcat。
在Google教程上,它说:
如果广告系列数据收到正确,您可以看到SDK使用与此类似的logcat打印调试消息:
Thread[GAThread,5,main]: Campaign found: utm_source=testSource&utm_medium=testMedium&utm_term=testTerm&utm_content=testContent&utm_campaign=testCampaign
但我得到了:
05-24 14:42:19.303: I/GAV3(30436): Thread[GAThread,5,main]: Campaign found: utm_source=testSource
它说 SIMILAR ,但我问自己,为什么它不一样..任何人都可以帮助我?
答案 0 :(得分:1)
它说的是SIMILAR,但我问自己,为什么不一样......任何人都可以帮助我?
您必须URL encode引荐来源字符串。特别是你必须用%26
替换所有的&符号(&amp;)。
您还可以使用campaign measurement URL generator,然后复制referrer=
之后的所有内容,并将其用作与adb一起使用的引荐来源。