0

我开始实施 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) 及更高版本!够了吗?如果不是我需要什么,我该怎么做?

4

1 回答 1

3

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

您所说的“SDK”更恰当地称为 API 级别,即 Android API 上的迭代。

所以谷歌所指的案例是这样的:

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");
        }
    }
于 2013-01-14T09:22:51.723 回答