适用于所有SDK的Android Google Analytics v2广播接收器

时间:2013-01-04 14:18:51

标签: android google-analytics google-play

我开始实施此处的Google Play广告系列:

https://developers.google.com/analytics/devguides/collection/android/v2/campaigns#google-play-tracking

我点击了这一行

https://developers.google.com/analytics/devguides/collection/android/v2/campaigns#known-issues

指出:

  

每个应用只能指定一个BroadcastReceiver类。如果您需要合并来自不同SDK的两个或更多BroadcastReceiver,您将需要创建自己的BroadcastReceiver类,该类将接收所有广播并为每种类型的广播调用适当的BroadcastReceiver。

我的意思是com.google.analytics.tracking.android.AnalyticsReceiver不适用于所有SDK吗?我需要SDK 10(2.3.3)及更高版本!够了吗?如果不是我需要什么,我该怎么做?

1 个答案:

答案 0 :(得分:3)

这是指多个分析提供程序,所有这些都可能需要处理安装事件。在我完成的工作中,我已经定义了一个自定义的BroadcastReceiver,它将意图传递给Google Analytics,内部分析系统和MobileAppTracking。像这样的情况相当普遍。

您正在谈论的“SDK”更恰当地称为API级别,即Android API上的迭代。

Google指的是这样的情况:

public class InstallReceiver extends BroadcastReceiver {
        public static final String TAG = InstallReceiver.class.getCanonicalName();

        @Override
        public void onReceive(Context context, Intent intent) {

            // Google Analytics
            new CampaignTrackingReceiver().onReceive(context, intent);

            // HasOffers
            if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.FROYO) {
                Tracker hasOffersTracker = new Tracker();
                hasOffersTracker.onReceive(context, intent);
            }

            Log.d(TAG, intent.getExtras().getString("referrer");
        }
    }