【问题标题】:Android: Google Analytics availability in Google Play Services?Android:Google Play 服务中的 Google Analytics 可用性?
【发布时间】:2014-03-24 13:48:51
【问题描述】:

Google Analytics 已宣布成为推出 Google Play 服务 4.3 的一部分,但它尚未包含在 Google Play 服务包列表中:

http://developer.android.com/reference/gms-packages.html

知道它什么时候可用,是否可以立即使用安全,还是等待一段时间以确保每个用户都已安装 Google Play Services 4.3 会更好?

【问题讨论】:

    标签: android google-analytics google-play-services


    【解决方案1】:

    我注意到了其他一些差异。

    追踪器

    要获取新的Tracker,请使用newTracker() 方法(接受String 值和int 值[用于XML 配置]):

    googleTracker = gaInstance.getTracker(GA_KEY); // OLD
    googleTracker = gaInstance.newTracker(GA_KEY); // NEW
    

    EasyTracker

    EasyTracker 现已消失,因此我们将不得不使用 Paito 报告的GoogleAnalytics.getInstance(this).reportActivityStart(this)。

    二传手

    googleTracker.set() 方法不再可用。它已被更专业的方法取代,例如:

    googleTracker.set(Fields.SCREEN_NAME, null); // OLD
    googleTracker.setScreenName(null);           // NEW
    

    事件创建

    googleTracker.send() 方法也发生了一些变化。

    googleTracker.send(MapBuilder
                    .createEvent(category, action, label, value)
                    .build()); // OLD
    googleTracker.send(new HitBuilders.EventBuilder()
                    .setCategory(category)
                    .setAction(action)
                    .setLabel(label)
                    .setValue(value)
                    .build()); // NEW
    

    AppView

    现在变成了

    googleTracker.send(MapBuilder.createAppView().build());       // OLD
    googleTracker.send(new HitBuilders.AppViewBuilder().build()); // NEW
    

    AppViewBuilder

    AppViewBuilder 现已弃用,取而代之的是新的 ScreenViewBuilder 类。 (感谢海防的提示!)


    对于那些遇到(或已经处理)Dalvik 的 64K 方法限制的人,现在您可以在应用程序中摆脱 3K 方法,多亏了这一点整合。

    【讨论】:

    • 您知道如何将配置传递给 GoogleAnalytics.getInstance(this).reportActivityStart(this) 吗?例如,我不知道如何设置 ga_trackingId
    • 如果您的意思是传递 XML 配置,newTracker() 也接受 int 参数用于 configResId。 developer.android.com/reference/com/google/android/gms/…
    • 使用 EasyTracker,我可以将其称为 onStart 和 onStop。我想弄清楚我在 GoogleAnalytics.getInstance(this).reportActivityStart(this) 之前调用什么来将我的配置传递给 GoogleAnalytics 实例
    • 好吧,示例没有说明,但您需要将其添加到 AndroidManifest
    • AppViewBuilder 已被弃用,取而代之的是新的 ScreenViewBuilder 类
    【解决方案2】:

    它现在是包列表的一部分。

    我认为基本功能是这样工作的......

    import com.google.android.gms.analytics.GoogleAnalytics;
    
    @Override
    protected void onStart() {
        super.onStart();
        GoogleAnalytics.getInstance(this).reportActivityStart(this);
    }
    
    @Override
    protected void onStop() {
        super.onStop();
        GoogleAnalytics.getInstance(this).reportActivityStop(this);
    }
    

    【讨论】:

    【解决方案3】:

    根据对话以使用 Easytracker 替换

    GoogleAnalytics.getInstance(this).reportActivityStart(this);
    GoogleAnalytics.getInstance(this).reportActivityStop(this);
    

    您需要将配置添加到 AndroidManifest 中,例如

    <meta-data android:name="com.google.android.gms.analytics.globalConfigResource" android:resource="@xml/analytics_global_config" />
    

    我仍然需要获取 Tracker 的实例来发送事件,也许其他人会更幸运地替换

     EasyTracker.getInstance(mContext).send(MapBuilder....)
    

    【讨论】:

    • 我仍然收到错误消息“未找到 Google Play 服务资源。请检查您的项目配置以确保包含资源。”但在我将此元数据添加到我的 AndroidManifest 后,Google Analytics 开始正确跟踪。
    【解决方案4】:

    Google Analytics SDK v4(现在是 Google Play 服务的一部分)的文档刚刚发布!

    https://developers.google.com/analytics/devguides/collection/android/v4/

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-05-29
      • 2019-05-14
      • 1970-01-01
      • 1970-01-01
      • 2015-01-09
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多