【问题标题】:Android Google Analytics v2 Broadcast Receiver for all SDKs适用于所有 SDK 的 Android Google Analytics v2 广播接收器
【发布时间】:2012-12-18 23:48:17
【问题描述】:

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

【问题讨论】:

    标签: android google-analytics google-play


    【解决方案1】:

    这是指多个分析提供商,所有这些提供商都可能需要处理安装事件。在我所做的工作中,我定义了一个自定义 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");
            }
        }
    

    【讨论】:

    • 我们需要在清单中注册两个接收者吗?谷歌和我的自定义
    • 清单中只需要一个 BroadcastReceiver(此处为 InstallReceiver)。
    • 您好,CampaignTrackingReceiver 的导入语句是什么?我们应该添加这个库对吗?编译“com.google.android.gms:play-services-analytics:16.0.8”?
    猜你喜欢
    • 2022-06-11
    • 2017-07-10
    • 2013-09-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多