Java 调度呼叫已排队。初始化完成后,调度将运行
我试图设置一个屏幕名,并通过Analytics tracker发送一个点击,但我总是在LogCat中收到以下消息:Java 调度呼叫已排队。初始化完成后,调度将运行,java,android,google-analytics,Java,Android,Google Analytics,我试图设置一个屏幕名,并通过Analytics tracker发送一个点击,但我总是在LogCat中收到以下消息: 02-13 23:33:49.311 9700-9700/com.myapp V/GAV4﹕ Thread[main,5,main]: Dispatch call queued. Dispatch will run once initialization is complete. 02-13 23:33:49.313 9700-9718/com.myapp V/GAV4
02-13 23:33:49.311 9700-9700/com.myapp V/GAV4﹕ Thread[main,5,main]: Dispatch call queued. Dispatch will run once initialization is complete.
02-13 23:33:49.313 9700-9718/com.myapp V/GAV4﹕ Thread[GAThread,5,main]: Loaded clientId
02-13 23:33:49.313 9700-9718/com.myapp V/GAV4﹕ Thread[GAThread,5,main]: putHit called
02-13 23:33:49.313 9700-9718/com.myapp V/GAV4﹕ Thread[GAThread,5,main]: Sending hit to service PATH: https: PARAMS: sr=1440x2392, ht=1423863229311, cd=MainActivity, sf=100.0, _u=.r3K-AL, cid=667e7eb7-f428-4ece-8b30-c2b24336e595, av=1.0, a=947261575, v=1, an=myapp, ul=iw, t=screenview, tid=UA-XXXXXXXX-2, aid=com.myapp,
虽然它会将点击发送到服务,但不会将其发送到分析服务器,以便它显示在实时概览中。。。
下面是如何在应用程序类中初始化tracker变量:
synchronized Tracker getTracker() {
if(mTracker == null) {
GoogleAnalytics analytics = GoogleAnalytics.getInstance(this);
analytics.enableAutoActivityReports(this);
analytics.setLocalDispatchPeriod(3);
analytics.getLogger().setLogLevel(Logger.LogLevel.VERBOSE);
mTracker = analytics.newTracker(R.xml.app_tracker);
}
return mTracker;
}
app_tracker.xml:
<?xml version="1.0" encoding="utf-8" ?>
<resources xmlns:tools="http://schemas.android.com/tools" tools:ignore="TypographyDashes">
<string name="ga_trackingId">UA-XXXXXXXX-2</string>
<string name="ga_sampleFrequency">100</string>
<bool name="ga_reportUncaughtExceptions">true</bool>
</resources>
在Google Play设备上,点击将被发送到设备范围的分析服务,而不会延迟您的应用程序。此服务使用一些预定义的调度间隔将事件调度到Analytics服务器。您无法控制服务调度间隔。本地调度周期仅用于非Google Play设备,如Amazon Fire phone。顺便说一句,仅在非谷歌播放设备上使用3秒本地调度间隔是非常积极的。这意味着你的应用程序几乎每次发送一条信息时都会启动移动电台。如果你一天只发送几次点击,那可能没什么大不了的。如果您定期发送可能对设备电池有重大影响的点击