Как настроить аналитику на React Native для iOS

Итак, у меня есть законченный проект React Native для iOS, но я хочу поместить в него аналитику. Я попробовал пакет react-native-google-analytics, но проблемы не позволяют ему нормально работать. Кроме того, пакет react-native-cordova-plugin работает только на Android, поэтому возможность подключить плагин Cordova для аналитики пока не может быть и речи. У меня также нет Swift/объективного опыта C, так что это будет полностью потеряно pluggin в GA таким образом. Есть ли у кого-нибудь предложения по подключению Google Analytics (или к любой другой аналитике) для React Native для iOS? Если да, просьба дать некоторые подробные инструкции по этому поводу. Я, и я уверен, многие другие оценят это:)

Ответ 1

Я являюсь автором пакета Google Analytics для React Native: https://github.com/idehub/react-native-google-analytics-bridge

Поскольку это довольно простой родной мост для официальных библиотек Google Analytics, он не должен давать вам никаких проблем, связанных с платформой. Кроме того, он будет обрабатывать множество метаданных автоматически, например, UUID устройства, модель устройства, размер видового экрана, версию ОС и т.д.

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

import { GoogleAnalyticsTracker } from 'react-native-google-analytics-bridge';
let tracker = new GoogleAnalyticsTracker('UA-12345-1');
tracker.trackScreenView('Home')

Или событие:

tracker.trackEvent('testcategory', 'testaction');

Ответ 2

Я автор реакции-native-google-analytics - проблема с ним связана с React Native отсутствием поддержки данных GIF в ответах XHR на iOS 7. Я все еще пытаюсь выяснить, проблемы, которые испытывают люди, по-прежнему ограничены iOS 7. Ошибка была зафиксирована командой RN для iOS > 7, однако, если это не так, то должна быть регрессия. Отслеживание для Реагирования Нативная проблема здесь: https://github.com/facebook/react-native/issues/1780

Если у вас есть какие-либо другие вопросы относительно модуля, пожалуйста, не стесняйтесь спрашивать у GitHub!

Ответ 3

Я просто установил mixpanel с этим пакетом: https://github.com/davodesign84/react-native-mixpanel

И тогда у меня есть что-то подобное в моем файле main.js, который содержит все мои компоненты вида:

componentWillMount: function() {
    this.loadData(this.setDataState);
    // not sure if this is the best way to do it, but whatever
    Mixpanel.identify(DeviceInfo.getUniqueID());
    Mixpanel.set("$name", DeviceInfo.getDeviceName());
    Mixpanel.track("App Loaded");
}

И затем в моем view.js, который отображает компонент с данными, у меня есть что-то вроде этого:

componentWillMount: function() {
    Mixpanel.trackWithProperties("Definition Viewed",{word:this.state.word});

}

И затем я также вызываю mixpanel, когда пользователи добавляют/удаляют данные.

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

Ответ 4

Так что это может быть полезно людям, но я нашел Сегмент - https://segment.com/ - намного проще получить настройку. Сегмент имеет интеграцию с Google Analytics и всеми другими пакетами аналитики, поэтому легко после подключения. Я должен был следовать некоторым учебным пособиям по созданию родного моста с использованием метода RCT_EXPORT_MODULE, но как только я установил соединение с клиентом, я смог довольно много подключить стартовый код сегмента. Я связал конкретные вызовы событий с различными действиями на стороне клиента через NativeModules.AnalyticsHelper.openApp(clientId), NativeModules.AnalyticsHelper.shareContent(clientId) и т.д. Я думаю, что это хороший метод для отслеживания.

Я также создал gist, чтобы показать, как настроить Segment Analytics для React native.