更新
由于setCurrentScreen已被弃用,您可以使用logEvent方法
Bundle bundle = new Bundle();
bundle.putString(FirebaseAnalytics.Param.SCREEN_NAME, fragment.getClass().getSimpleName());
bundle.putString(FirebaseAnalytics.Param.SCREEN_CLASS, fragment.getClass().getSimpleName());
mFirebaseAnalytics.logEvent(FirebaseAnalytics.Event.SCREEN_VIEW, bundle);
我使用以下 adb 命令检查是否一切正常。
adb shell setprop log.tag.FA VERBOSE
adb shell setprop log.tag.FA-SVC VERBOSE
adb logcat -v time -s FA FA-SVC
执行此操作后,您将在 logcat 中看到 screen_view 事件。喜欢这个:
10-15 13:14:13.744 V/FA-SVC (20323):记录事件:
origin=app,name=screen_view(_vs),params=Bundle[{ga_event_origin(_o)=app,
参与时间_毫秒(_et)=31600,
ga_previous_class(_pc)=内容片段,
ga_previous_id(_pi)=8077407744361472421,
ga_previous_screen(_pn)=内容片段,
ga_screen_class(_sc)=TestFragment,
ga_screen_id(_si)=8077407744361472423, ga_screen(_sn)=TestFragment}]
上一个答案
有一种特殊的方法可以设置当前屏幕-setCurrentScreen
我是这样使用的
mFirebaseAnalytics.setCurrentScreen(this, fragment.getClass().getSimpleName(), fragment.getClass().getSimpleName());
调用该方法后,LogCat 中会出现以下消息
记录事件 (FE): screen_view(_vs),
捆绑[{firebase_event_origin(_o)=auto,
firebase_previous_class(_pc)=HomeFragment,
firebase_previous_id(_pi)=4121566113087629222,
firebase_previous_screen(_pn)=HomeFragment,
firebase_screen_class(_sc)=StatisticsFragment,
firebase_screen_id(_si)=4121566113087629223,
firebase_screen(_sn)=StatisticsFragment}]
自动活动跟踪中出现以下事件:
记录事件 (FE): screen_view(_vs),
捆绑[{firebase_event_origin(_o)=auto,
firebase_previous_class(_pc)=StatisticsFragment,
firebase_previous_id(_pi)=4121566113087629223,
firebase_previous_screen(_pn)=StatisticsFragment,
firebase_screen_class(_sc)=登录活动,
firebase_screen_id(_si)=4121566113087629224}]
如您所见,它们几乎相同,因此 setCurrentScreen 正在工作。
我只能在第二天在 Firebase 控制台中看到这些课程。 Firebase 很正常 - 处理如此大量的数据需要时间。