我的屏幕名称未出现在 Firebase Analytics 仪表板中

My screen names aren't appearing in Firebase Analytics Dashboard

我正在尝试结合 react-navigation 在 react-native-firebase 上跟踪屏幕名称。

这是我的代码。

const tracker = firebase.analytics()

function getCurrentRouteName(navigationState) {
  if (!navigationState) {
    return null;
  }
  const route = navigationState.routes[navigationState.index];
 // dive into nested navigators
  if (route.routes) {
    return getCurrentRouteName(route);
  }
  return route.routeName;
}

export default class AppNavigation extends Component {

 render() {
  StatusBar.setBarStyle('light-content');

  return (
   <MainScreenNavigator 
    onNavigationStateChange={(prevState, currentState) => {
     const currentScreen = getCurrentRouteName(currentState);
     const prevScreen = getCurrentRouteName(prevState);
  
     if (prevScreen !== currentScreen) {
      // the line below uses the Google Analytics tracker
      // change the tracker here to use other Mobile analytics SDK.
      tracker.setCurrentScreen(currentScreen);
     }
    }}
   />
  );
 }
}

当我控制台记录屏幕名称时,它们按需要显示。但是,我没有在 Firebase 控制台中看到结果。当我按名称过滤屏幕时,它只是说(未设置)。我在我的代码中做错了什么吗?我也从 'react-native-firebase' 导入 firebase。

上面的代码很可靠。事实证明,您必须等待半天左右才能填充数据。不确定我是否在文档中遗漏了这一点。如果您使用 react-navigation 和 firebase,此代码有效!