У меня ViewPager
с Tabs
, поэтому я регистрирую собственные имена экранов в Firebase Analytics, когда пользователь переключается между вкладками. Проблема в том, что мое первое событие не зарегистрировано . Почему?
Может ли это произойти, потому что регистрируется автоматическое событие screen_view
(без аргумента firebase_screen
, который необходим для правильного анализа данных), и это автоматическое событие имеет «более высокий приоритет» и переопределяет мое событие?
Или, может быть, я записал свое первое событие не в том месте (метод onCreate
)?
Упрощенный код:
public class SecondActivity extends AppCompatActivity {
@Override
protected void onCreate(@Nullable Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
(...)
viewPager.addOnPageChangeListener(new ViewPager.OnPageChangeListener() {
@Override
public void onPageScrolled(int position, float positionOffset, int positionOffsetPixels) {
}
@Override
public void onPageSelected(int position) {
FirebaseAnalytics.getInstance(SecondActivity.this).setCurrentScreen(SecondActivity.this, getTabNameForLogging(position), null);
}
@Override
public void onPageScrollStateChanged(int state) {
}
});
//send event because onPageSelected isn't triggered at activity/viewpager start-up
FirebaseAnalytics.getInstance(this).setCurrentScreen(this, "TAB 0", null);
}
private String getTabNameForLogging(int position) {
switch (position) {
case 0:
return "TAB 0";
case 1:
return "TAB 1";
case 2:
return "TAB 2";
default:
return "invalid position";
}
}
}