我有一个Activity
,ViewPager
中有多个Fragment
。如何发送屏幕浏览事件,以帮助Firebase预测更加准确地预测
目前,这是我的方式,送屏幕视图事件既谷歌Analytics(分析)和火力地堡
public static void trackView(Activity activity, String view) {
trackFBView(activity, view);
trackGAView(view);
}
private static void trackFBView(Activity activity, String view) {
if (activity == null) {
return;
}
FirebaseAnalytics firebaseAnalytics = getFirebaseAnalytics();
if (firebaseAnalytics == null) {
return;
}
firebaseAnalytics.setCurrentScreen(activity, view, null);
}
private static void trackGAView(String view) {
Tracker tracker = Utils.getTracker();
if (tracker == null) {
return;
}
tracker.setScreenName(view);
tracker.send(new HitBuilders.ScreenViewBuilder().build());
}
public static FirebaseAnalytics getFirebaseAnalytics() {
if (false == isGooglePlayServicesAvailable()) {
return null;
}
return FirebaseAnalytics.getInstance(JStockApplication.instance());
}
在我ViewPager
的听众,这是我送的屏幕视图事件。
private ViewPager.OnPageChangeListener getOnPageChangeListener() {
return new ViewPager.OnPageChangeListener() {
@Override
public void onPageSelected(int position) {
if (position == 0) {
Utils.trackView(DetailedStockFragmentActivity.this, "InfoFragment");
一些测试后,我意识到我在乔治亚州,但不是在火力地堡就收到屏幕视图事件。
后来,我意识到firebaseAnalytics.setCurrentScreen
实际上并没有向Firebase发送屏幕视图事件。 firebaseAnalytics.setCurrentScreen
只是准备一个隐式参数。它只会在下一次活动期间发送到Firebase。
目前,在我的片段中,我没有明确地触发任何事件。
我在想,为了帮助Firebase做出更好的预测(帮助Firebase识别用户在查看哪个屏幕),我想知道,我应该如下发送“Screen View”事件吗?
private static void trackFBView(Activity activity, String view) {
if (activity == null) {
return;
}
FirebaseAnalytics firebaseAnalytics = getFirebaseAnalytics();
if (firebaseAnalytics == null) {
return;
}
firebaseAnalytics.setCurrentScreen(activity, view, null);
// Question: Should I do this to help Firebase makes better prediction?
firebaseAnalytics.logEvent(view + "_ScreenView", null);
}
但是,奇怪的是,Firebase预测可以做出准确的预测,而无需提供用于学习目的的屏幕信息。例如,实际上,查看'StockNewsFragment'的用户比查看'StockChartFragment'的用户更有可能执行'in_app_purchase'。如果不提供准确的屏幕视图信息,Firebase预测会如何预测用户是否可能执行'in_app_purchase'? –
看到我更新的答案,它太长,以适应评论。 – SUPERCILEX
劳伦斯刚刚发布了[这篇文章](https://medium.com/@lmoroney_40129/machine-learning-in-firebase-using-predictions-8a1df0c63b60),这证实了Predictions正在使用TensorFlow,但没有详细说明。 – SUPERCILEX