React Native Firebase Analytics (рабочий пример) - PullRequest
0 голосов
/ 06 января 2020

У меня есть рабочий пример перехвата события клика из приложения React Native и отправки его на панель инструментов Firebase Analytics . И я хочу показать вам, как я это сделал:)

Сначала я делаю универсальный HO C для любого сенсорного элемента

const withTracking = (WrappedComponent) => (props) => {
    const { onPress, event, eventParams, ...otherProps } = props;
    return (
        <WrappedComponent
            {...otherProps}
            onPress={() => {
                if (event) {
                    firebase.analytics().logEvent(event, eventParams);
                }
                props.onPress();
            }}
        />
    );
};

После этого я Я передаю в него свой осязаемый элемент

import { TouchableOpacity } from 'react-native';
const TrackingTouchableOpacity = withTracking(TouchableOpacity);

И когда он щелкает, я отправляю свою собственную информацию в Firebase Панель управления

<TrackingTouchableOpacity
      onPress={this.openItem(item)}
      event={'Look_Outfit'}
      eventParams={{ target:'Auto', id: item.id, name: item.name }}
      >
       <Text>some touchable text</Text>
</TrackingTouchableOpacity>

Когда мы нажимаем на элемент, который мы вызываем firebase.analytics().logEvent(event, eventParams);, и только после этого он вызывает нашу функцию this.openItem(item).

это работает для меня, если кому-то нравится, вы можете использовать этот подход, но я хочу спросить, есть ли у кого-то другой подход

...