Я пытаюсь отслеживать имена экранов на 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. Когда я фильтрую экран по имени, он просто говорит (не установлено). Я что-то не так делаю в своем коде? Я также импортирую firebase из response-native-firebase.
Нет, не видел. Что интересно, теперь у меня есть все данные. Кажется, отстает примерно на полдня. В любом случае сейчас это работает.





Код выше твердый. Оказывается, вам нужно подождать полдня или около того, прежде чем данные будут заполнены. Не уверен, что пропустил это в документации. Если вы используете response-navigation и firebase, этот код работает!
Хорошая находка! Я подожду и посмотрю. Спасибо
могу найти решение ...?
Чтобы уточнить, что это за платформа (iOS или Android)? Вы пробовали включить представление отладки, чтобы убедиться, что имя экрана отображается в представлении отладки в реальном времени?