首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >安卓-谷歌分析v4点击量已生成但未发送

安卓-谷歌分析v4点击量已生成但未发送
EN

Stack Overflow用户
提问于 2015-02-19 08:16:27
回答 1查看 2.5K关注 0票数 3

我目前遇到了一个似乎很常见的问题,尽管我认为我看到它的原因源于其他一些东西。

代码语言:javascript
复制
02-18 12:00:13.854    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: connecting to Analytics service
02-18 12:00:13.867    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: connect: bindService returned true for Intent { act=com.google.android.gms.analytics.service.START cmp=com.google.android.gms/.analytics.service.AnalyticsService (has extras) }
02-18 12:00:13.872    3654-3672/com.mobileanalytics_test I/GAV4﹕ Thread[GAThread,5,main]: No campaign data found.
02-18 12:00:13.872    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: Initialized GA Thread
02-18 12:00:13.873    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: Loaded clientId
02-18 12:00:13.874    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: putHit called
02-18 12:00:13.874    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: Loaded clientId
02-18 12:00:13.874    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: putHit called
02-18 12:00:13.876    3654-3654/com.mobileanalytics_test V/GAV4﹕ Thread[main,5,main]: service connected, binder: android.os.BinderProxy@<Redacted>
02-18 12:00:13.877    3654-3654/com.mobileanalytics_test V/GAV4﹕ Thread[main,5,main]: bound to service
02-18 12:00:13.878    3654-3654/com.mobileanalytics_test V/GAV4﹕ Thread[main,5,main]: Connected to service
02-18 12:00:13.890    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: Sending hit to service   PATH: <SNIP>
02-18 12:00:13.913    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: Sending hit to service   PATH: <SNIP>
02-18 12:09:23.372    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: Loaded clientId
02-18 12:09:23.372    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: putHit called
02-18 12:09:23.378    3654-3672/com.mobileanalytics_test V/GAV4﹕ Thread[GAThread,5,main]: Sending hit to service   PATH: <SNIP>

这里最让我担心的是,尽管我在global_tracker.xml文件中将调度配置为每30秒触发一次,但我从未看到调度触发。下面是所有相关的代码,我已经看过了它和我能找到的每个教程,但我找不到我做错了什么。

global_tracker.xml

代码语言:javascript
复制
 <?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
    <string name="ga_logLevel">verbose</string>
    <int name="ga_dispatchPeriod">30</int>
    <bool name="ga_dryRun">false</bool>
    <string name="com.mobileanalytics_test.MainActivity">Test Activity Reporting</string>
</resources>

app_tracker.xml

代码语言:javascript
复制
<?xml version="1.0" encoding="utf-8"?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
    <string name="ga_trackingId">UA-XXXXXXXX-Y</string>
    <string name="ga_sampleFrequency">100.0</string>
    <bool name="ga_autoActivityTracking">true</bool>
    <bool name="ga_reportUncaughtExceptions">true</bool>
    <integer name="ga_sessionTimeout">-1</integer>
    <screenName name="com.mobileanalytics_test.MainActivity">Test Activity Reporting</screenName>
</resources>

MyApplicationClass.java

代码语言:javascript
复制
public class MyApplicationClass extends Application {

    private static final String PROPERTY_ID = "UA-XXXXXXXX-Y";

    public enum TrackerName {
        APP_TRACKER,
        GLOBAL_TRACKER
    }

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

    synchronized Tracker getTracker(TrackerName trackerId) {
        if (!mTrackers.containsKey(trackerId)) {

            GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
            //Tracker t = analytics.newTracker(R.xml.app_tracker);
            Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
            :  analytics.newTracker(R.xml.global_tracker);
            //Tracker t = (trackerId == TrackerName.APP_TRACKER) ? analytics.newTracker(PROPERTY_ID)
            //        : (trackerId == TrackerName.GLOBAL_TRACKER) ? analytics.newTracker(R.xml.global_tracker)
            //       : analytics.newTracker(R.xml.ecommerce_tracker);
            mTrackers.put(trackerId, t);

        }
        return mTrackers.get(trackerId);

    }
}

MainActivity.Java

代码语言:javascript
复制
public class MainActivity extends Activity {

    Tracker tracker;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        //GoogleAnalytics googleAnalytics = GoogleAnalytics.getInstance(this);
        //tracker.start("UA-XXXXXXXX-Y");

        //Get a Tracker (should auto-report)
        tracker = ((MyApplicationClass) getApplication()).getTracker(MyApplicationClass.TrackerName.APP_TRACKER);

    }

    @Override
    protected void onStart() {
        super.onStart();
        //Get an Analytics tracker to report app starts and uncaught exceptions etc.
        tracker.send(new HitBuilders.EventBuilder("Test", "Load").build());
        //GoogleAnalytics.getInstance(this).reportActivityStart(this);
    }

    @Override
    protected void onStop() {
        super.onStop();
        //Stop the analytics tracking
        GoogleAnalytics.getInstance(this).reportActivityStop(this);
    }
}

从昨天开始,我一直在这个阶段工作,所以我正在测试"just wait“解决方案。我正在看实时概览,我的理解是我的点击应该在接近实时的情况下显示在那里,但我没有看到任何东西。我的目标是API 21 - Android 5.0.1

欢迎任何建议!

EN

回答 1

Stack Overflow用户

发布于 2015-02-20 09:08:25

当在Google Play设备上运行时,Analytics SDK将尝试连接到Google Play Services提供的Analytics service,并将命中结果发送到该服务。该服务提供了更可靠的交付机制,因为它不受应用程序进程生命周期的限制。当使用Analytics Service时,本地调度间隔没有任何影响,应用程序命中被毫无延迟地发送到服务。从您的日志中可以看出,您已成功连接到服务:

代码语言:javascript
复制
Thread[main,5,main]: service connected, binder: android.os.BinderProxy@...

并成功发送该服务要调度的命中:

代码语言:javascript
复制
Thread[GAThread,5,main]: Sending hit to service   PATH: <SNIP>

当Analytics服务连接失败时,您将看到一条日志消息,说明将根据本地调度间隔从应用程序进程调度命中。当你的应用程序运行在非Google Play设备上(如Amazon Fire手机或没有Google Play服务的模拟器)或Google Play服务当前不可用(例如,服务正在更新)时,就会发生这种情况。

票数 -2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/28596503

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档