我在引用Android的INSTALL_REFERRER时遇到覆盖android BroadcastReceiver类的问题。
我没有直接从我的android manifest.xml调用谷歌分析接收器,而是调用自定义广播接收器,然后将其传递给Google Analytics。我需要知道我的推介在Google Analytics中的来源,并利用广播接收器将其发送给第三方,从而为我的应用带来流量。
以下是我的广播接收器和Android清单文件中的一些示例代码。
package com.sigmyers.broadcastExample;
import android.content.BroadcastReceiver;
import android.content.Context;
import android.content.Intent;
import com.google.android.apps.analytics.AnalyticsReceiver;
import com.mdotm.MdotmReceiver;
public class TestReceiver extends BroadcastReceiver
{
@Override
public void onReceive(Context context, Intent intent)
{
AnalyticsReceiver googleAnalyticsReceiver = new AnalyticsReceiver();
googleAnalyticsReceiver.onReceive(context, intent);
MdotmReceiver mdotmReceiver = new MdotmReceiver();
mdotmReceiver.onReceive(context, intent);
}
}
我的Android Manifest xml文件如下:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.sigmyers.broadcastExample"
android:versionCode="10"
android:versionName="1.9">
<uses-sdk android:minSdkVersion="4"/>
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<application android:label="@string/app_name" android:icon="@drawable/icon">
<activity android:name="MyActivity"
android:label="@string/app_name">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<receiver android:name="com.sigmyers.broadcastExample.TestReceiver" android:exported="true">
<intent-filter>
<action android:name="com.android.vending.INSTALL_REFERRER" />
</intent-filter>
</receiver>
</application>
</manifest>
奇怪的是,当使用以下网址底部的表单生成网址时,mDotM报告引荐很正常:http://code.google.com/mobile/analytics/docs/android/#referrals
然而,GoogleAnalytics中没有任何内容(除了跟踪应用程序中其他位置的数据,但不会跟踪install_referrer)。有什么我想念或忘记做的事吗?
从Android应用程序商店下载后调试我的应用程序时,我总是看到Google Analytics会抛出某种错误,导致它无法触发,但我想调用onReceive方法,如Google / Ad Mob所述,只需要正确传递Install referrer就可以了。
Stack Overflow上有任何线索吗?