适用于 Android 的 Google Analytics API v4 不发送屏幕视图 [英] Google Analytics API v4 for Android Does NOT Send Screen Views

查看:21
本文介绍了适用于 Android 的 Google Analytics API v4 不发送屏幕视图的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经为这里提到的 google analytics api v4 设置了所有内容:
https://developers.google.com/analytics/devguides/collection/android/v4/
这里:http://www.javacodegeeks.com/2014/04/working-with-google-analytics-api-v4-for-android.html

I've set all things for google analytics api v4 as it mentioned here:
https://developers.google.com/analytics/devguides/collection/android/v4/
and here: http://www.javacodegeeks.com/2014/04/working-with-google-analytics-api-v4-for-android.html


我可以查看实时数据,但我无法查看特定时间段(例如所有时间")中的屏幕、活跃用户、新用户和热门设备型号.

I can see real time data but i could NOT see Screens, Active Users,New Users and Top Device Models in specific time period such as "All Time".

Analytic 不发送屏幕视图.

Analytic does not send screen views.


这是我的 global_tracker.xml

    <string name="ga_trackingId">UA-XXXXXXXX-Y</string>

    <integer name="ga_sessionTimeout">300</integer>

    <bool name="ga_autoActivityTracking">true</bool>

    <bool name="ga_reportUncaughtExceptions">true</bool>

    <screenName name="com.org.ScreenActivity1">Screen 1</screenName>
    <screenName name="com.org.ScreenActivity2">Screen 2</screenName>


这是我的 AndroidManifest.xml

        <meta-data
            android:name="com.google.android.gms.version"
            android:value="@integer/google_play_services_version"/>

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


这是我的 Analytics.java

public enum TrackerName {
        APP_TRACKER, // Tracker used only in this app.
        GLOBAL_TRACKER // Tracker used by all the apps from a company. eg: roll-up tracking.
    }

    HashMap<TrackerName, Tracker> mTrackers = new HashMap<TrackerName, Tracker>();

    public Analytics() {
        super();
    }

    public synchronized Tracker getTracker(TrackerName trackerId) {

        if (!mTrackers.containsKey(trackerId)) {

            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);

            if (trackerId == TrackerName.GLOBAL_TRACKER) {
                mTrackers.put(trackerId, analytics.newTracker(R.xml.global_tracker));
            }

        }

        return mTrackers.get(trackerId);
    }


这是我的活动课:

protected void onCreate(Bundle bundle){
//......................

Tracker tracker = ((Analytics) getApplication()).getTracker(Analytics.TrackerName.GLOBAL_TRACKER);
        tracker.setScreenName("Main Activity");
        tracker.send(new HitBuilders.AppViewBuilder().build());

//......................

}

    @Override
    protected void onStart() {
        super.onStart();
        GoogleAnalytics.getInstance(this).reportActivityStart(this);
    }

    @Override
    protected void onStop() {
        super.onStop();
        GoogleAnalytics.getInstance(this).reportActivityStop(this);
    }

推荐答案

根据@stkent 回答的问题是 AppViewBuilder() 已被弃用,因此您可以通过删除这一行来解决您的问题您的情况下需要的代码并帮助在关注this后遇到同样问题的人删除这行代码

The problem according to @stkent answer is that the AppViewBuilder() is deprecated so you can fix your problem by deleteing this line of code that's what you need in your case And to help people that have same problem after following this delete this line of code

 tracker.send(new HitBuilders.AppViewBuilder().build());

然后添加这个

  @Override
protected void onStart() {
    super.onStart();
    GoogleAnalytics.getInstance(this).reportActivityStart(this);
}

@Override
protected void onStop() {
    super.onStop();
    GoogleAnalytics.getInstance(this).reportActivityStop(this);
}

在您要跟踪的每个活动中

in each activity you want to track

来自谷歌文档的关于这两种方法的附加信息

additional info from google doc about those 2 method

reportActivityStop
reportActivityStart

将其与自动跟踪一起使用是一个空运,因此您可以禁用它

using this with auto tracking is a noop so you can disable it

原始答案针对此 发布

这篇关于适用于 Android 的 Google Analytics API v4 不发送屏幕视图的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆