我不想将任何特殊日志发送到Firebase Analytics控制台,只需检查哪些屏幕是用户花费更多时间等等。
当我使用AnalyticsTracker
时,必须在任何地方添加它,因此您可以使用Tracker.xml
文件设置每个屏幕的具体名称。
官方文件说:
将Firebase Analytics的依赖项添加到您的应用级
build.gradle
文件中:
compile 'com.google.firebase:firebase-core:9.2.1'
在活动顶部声明FirebaseAnalytics对象:
private FirebaseAnalytics mFirebaseAnalytics;
然后在
onCreate()
方法中初始化它:
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
所以我想我在每个想要获取数据的页面都这样做,不是吗?
答案 0 :(得分:19)
没有。您只需要在扩展Application类
的Class中创建全局变量
public class MyApplication extends Application {
public static FirebaseAnalytics mFirebaseAnalytics;
@Override
public void onCreate() {
super.onCreate();
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
}
}
之后,在清单中的Application标记
中添加以下行<application
android:name=".MyApplication"
...
答案 1 :(得分:12)
现在只需一行
即可完成屏幕跟踪**Your ApplicationClass**
public FirebaseAnalytics mFirebaseAnalytics;
@Override
public void onCreate() {
mFirebaseAnalytics = FirebaseAnalytics.getInstance(this);
}
public FirebaseAnalytics getmFirebaseAnalytics() {
return mFirebaseAnalytics;
}
之后创建Base Activity并从此处调用FirebaseAnalytics getter。然后使用.setCurrentScreen,如下所示
**Your BaseActivity**
@Override
protected void onResume() {
FirebaseAnalytics firebaseAnalytics = ((ApplicationClass) getApplication()).getmFirebaseAnalytics();
firebaseAnalytics.setCurrentScreen(this, getClass().getSimpleName(), null);
Log.d("FAnalytics", "setCurrentScreen: " + getClass().getSimpleName());
super.onResume();
}
别忘了!您的所有活动必须从BaseActivity扩展 https://firebase.google.com/docs/analytics/screenviews
答案 2 :(得分:8)
对于屏幕报告,不需要在每个Activity中调用List<String> items= DataManager.getSharedInstance().getSearchResultItems();
,因为这是自动完成的。 official docs州:
请注意,屏幕报告会自动启用并记录 您需要的当前活动的类名称 叫这个功能。
据推测,要使其工作,您需要在Application子类FirebaseAnalytics.setCurrentScreen()
方法中调用FirebaseAnalytics.getInstance()
。
答案 3 :(得分:4)
Firebase Analytics尚不支持自动屏幕跟踪,但我们现在正在仔细考虑这一点。
答案 4 :(得分:0)
Firebase现在自动跟踪屏幕活动,但您仍可以手动跟踪它们。
var value = typeof(B).GetProperty("Type").GetValue(typeof(B));
源: