扩展broadcastReceiver并跟踪Google Analytics INSTALL_REFERRER

时间:2011-09-08 20:03:00

标签: android google-analytics broadcastreceiver

我在引用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上有任何线索吗?

0 个答案:

没有答案