mar*_*ino 6 android google-analytics android-fragments
我的应用程序有一个活动和许多片段.我已经阅读了关于这个问题的所有主题,没有人能够看到我的工作.我已尝试使用ga v3和v4,继续使用
问题是两种方式,分析只检索我执行的第一个调用.当我更改片段并以相同方式执行另一个调用时,"实时"分析不会改变.两个片段都是从每个片段中的onStart()方法执行的.
// Using ga v4
Tracker t = GoogleAnalytics.getInstance(this).getTracker("UA-XXXX-1");
t.setScreenName("/home");
t.send(new HitBuilders.AppViewBuilder().build());
// Using ga v3
EasyTracker _tracker = EasyTracker.getInstance(getActivity());
_tracker.set(Fields.SCREEN_NAME, "/discover");
_tracker.send(MapBuilder.createAppView().build());
Run Code Online (Sandbox Code Playgroud)
任何建议都将受到高度赞赏!
实际上我觉得我可能找到了让它有效的方法.阅读文档:https://developers.google.com/analytics/devguides/collection/android/v4/dispatch
默认情况下,每30分钟从Google Analytics SDK for Android发送数据.
是的,我的想法是"什么???? 30分钟?不是假设是实时的吗?" 无论如何,阅读更多:
以编程方式设置调度周期:
// Set the dispatch period in seconds.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(15);
Run Code Online (Sandbox Code Playgroud)
要在XML配置文件中设置调度周期:
<integer name="ga_dispatchPeriod">30</integer>
Run Code Online (Sandbox Code Playgroud)
还有什么...
设置负值将禁用定期调度,如果要将任何数据发送到Google Analytics,则需要使用手动调度.
// Disable periodic dispatch by setting dispatch period to a value less than 1.
GoogleAnalytics.getInstance(this).setLocalDispatchPeriod(0);
Run Code Online (Sandbox Code Playgroud)
好吧,也许你在这里发现了一个有争议的,负值还是不到1?我试过,它不到1!(0或负数将禁用定期调度).
如果您更喜欢手动调度,那将是,例如:
tracker.setScreenName(TAG);
tracker.send(new HitBuilders.AppViewBuilder().build());
GoogleAnalytics.getInstance(getActivity().getBaseContext()).dispatchLocalHits();
Run Code Online (Sandbox Code Playgroud)
请注意,您可以随时调用dispatchLocalHits()(甚至可以创建一个调用该函数的按钮).顺便说一句,那段代码就在我的片段上(在onResume()方法中).
文档也说:
如果用户失去网络访问权限或退出应用程序仍有等待>分派的命中,则这些匹配将保留在本地存储中.它们将在您的应用程序运行的下一个>时间发送,并调用调度.
但我不确定这是否适用于手动和定期发送.我试了一下,两个似乎都在工作:)
| 归档时间: |
|
| 查看次数: |
2424 次 |
| 最近记录: |