Android推荐跟踪不起作用
我正在尝试让Android转介跟踪工作。我正在关注我在这里找到的唯一文档,我的android清单文件中有以下内容Android推荐跟踪不起作用,android,google-analytics,referrer,Android,Google Analytics,Referrer,我正在尝试让Android转介跟踪工作。我正在关注我在这里找到的唯一文档,我的android清单文件中有以下内容 <receiver android:name="com.google.android.apps.analytics.AnalyticsReceiver" android:exported="true"> <intent-filter> <action android:name="com.androi
<receiver
android:name="com.google.android.apps.analytics.AnalyticsReceiver"
android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<receiver android:name="com.package.Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
<uses-sdk android:minSdkVersion="4"/>
此外,还有一点反编译com.google.android.apps.analytics.analytics接收器,其中包含以下代码:
public void onReceive(Context ctx, Intent intent)
/* */ {
/* 24 */ String referrer = intent.getStringExtra("referrer");
/* */
/* 26 */ if ((!
("com.android.vending.INSTALL_REFERRER".equals(intent.getAction())))
|| (referrer == null))
/* */ {
/* 28 */ return;
/* */ }
/* */
/* 31 */ String formattedReferrer = formatReferrer(referrer);
/* */
/* 33 */ if (formattedReferrer != null) {
/* 34 */ PersistentEventStore store = new
PersistentEventStore(ctx);
/* 35 */ store.setReferrer(formattedReferrer);
/* 36 */ Log.d("googleanalytics", new
StringBuilder().append("Stored
referrer:").append(formattedReferrer).toString());
/* */ } else {
/* 38 */ Log.w("googleanalytics", "Badly formatted referrer, ignored");
/* */ }
/* */ }
请注意记录“googleanalytics”的第36行和第38行。我曾尝试将上述应用推向市场,并在我的NexusOne上下载它(在卸载以前版本的应用程序后)。我已经用我在这篇文章开头链接到的谷歌页面生成了一个链接
http://www.google.com/url?sa=D&q=http://market.android.com/search%3Fq%3Dpname:com.package.app%26referrer%3Dutm_source%253Dgoogle%2526utm_medium%253Dcpc%2526utm_term%253Drunning%25252Bshoes%2526utm_content%253Dcontent1%2526utm_campaign%253Dslogan&usg=AFQjCNFctwqk1WgWl0bhiIBNVqy3U4OPRw
我将logcat连接到我的NexusOne,而我从该链接下载应用程序,我没有看到任何来自“googleanalytics”或“myapp”的日志。谷歌分析库的其余部分确实适用于我的应用程序。也就是说,我在谷歌分析上看到了关于页面点击率等的记录,但是所有的流量来源都是“直接流量”。我不知道发生了什么事。有人吗
你知道我可能做错了什么吗 像往常一样,我找到了自己的答案。我的问题在我的AndroidManifest.xml中 我的舱单上有以下内容:
<manifest>
<application>
</application>
<receiver>
</receiver>
<uses-sd/>
</manifest>
接收器标签放错位置了。应该是这样的
<manifest>
<application>
<receiver>
</receiver>
</application>
<uses-sd/>
</manifest>
我现在看到了我希望在安装应用程序时看到的日志。几小时后,希望谷歌分析也能得到这些数据。我已经用android分析系统探索了很多推荐跟踪程序。你不需要将应用程序投放市场,你只需发送一个广播意向即可
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);
一个操作只能有一个BroadcastReceiver。在AndroidManifest.xml中,您有两个用户正在监听
com.android.vending.INSTALL\u referer
如果您想让您的接收者和Google Analytics接收者都处理该意图,请将您的接收者设置为AnalyticsReceiver的子类,如下所示:
import com.google.android.apps.analytics.AnalyticsReceiver;
class Receiver extends AnalyticsReceiver {
@Override
void onReceive(Context context, Intent intent) {
super.onReceive(context, intent);
// Add your custom handling here
}
}
然后确保您是AndroidManifest.xml中的唯一接收者:
<receiver android:name="com.package.Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
突出显示您的代码并点击{}框以正确显示,不要将其加引号。看起来您或其他人已经这样做了。感谢您指出这一点。此外,您不能让多个广播接收器接收同一事件。若你们想这样做,你们必须创建一个接收器,它将传递给所有其他扫描你们告诉我更多关于分析接收器?我到处都找不到这门课。
<receiver android:name="com.package.Receiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>