it-swarm.com.de

So richten Sie Analysen für React Native für iOS ein

Ich habe also ein abgeschlossenes React Native-Projekt für iOS, möchte aber Analysen einfügen. Ich habe das react-native-google-analytics-Paket ausprobiert, aber Probleme verhindern, dass es ordnungsgemäß funktioniert. Das react-native-cordova-plugin-Paket funktioniert auch nur unter Android, sodass die Möglichkeit, ein Cordova-Plugin für Analysezwecke anzuschließen, vorerst nicht in Frage kommt. Ich habe auch keine Erfahrung mit Swift/Objective C, also wäre das Plugin in GA auf diese Weise völlig verloren. Hat jemand Vorschläge, wie Sie Google Analytics (oder andere Analysen) für React Native für iOS anschließen können? Wenn ja, geben Sie bitte einige detaillierte Anweisungen dazu an. Ich und ich bin sicher, viele andere werden es zu schätzen wissen :)

12
Tom Goldenberg

Ich bin der Autor eines Google Analytics-Pakets für React Native: https://github.com/idehub/react-native-google-analytics-bridge

Da es sich um eine recht einfache native Brücke zu den offiziellen Google Analytics-Bibliotheken handelt, sollte es keine Probleme mit der Plattform geben. Außerdem werden viele Metadaten automatisch verarbeitet, z. B. Geräte-UUID, Gerätemodell, Größe des Ansichtsfensters, Betriebssystemversion usw.

Aufgrund dieses letzten Teils können die Anrufe ziemlich einfach sein, z. B. das Verfolgen einer neuen Bildschirmansicht:

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

Oder eine Veranstaltung:

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

Ich habe Mixpanel gerade mit diesem Paket eingerichtet: https://github.com/davodesign84/react-native-mixpanel

Und dann habe ich so etwas in meiner main.js-Datei, die alle meine Ansichtskomponenten enthält:

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");
}

Und dann in meiner view.js, die eine Komponente mit Daten rendert, habe ich so etwas:

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

}

Und dann rufe ich auch mixpanel an, wenn ein Benutzer Daten hinzufügt/löscht.

Nach all dem habe ich gerade gemerkt, dass Fabric Analysen durchführt, also werde ich wahrscheinlich darauf umstellen, da ich Beta-Tester verwalte und es ist fantastisch. Es wäre also schön, alles an einem Ort zu haben

2
kevando

Ich bin der Autor von React-Native-Google-Analytics. Das Problem lag darin, dass React Native keine Unterstützung für GIF-Daten in XHR-Antworten auf iOS 7 hat Das Erleben ist immer noch auf iOS 7 beschränkt. Der Fehler wurde vom RN-Team für iOS> 7 als behoben gemeldet. Wenn dies jedoch nicht der Fall ist, muss es eine Regression geben. Das Tracking für das React Native-Problem ist hier: https://github.com/facebook/react-native/issues/1780

Wenn Sie weitere Fragen zum Modul haben, wenden Sie sich bitte an GitHub!

2
iLoch

Das mag für Leute hilfreich sein, aber ich fand Segment - https://segment.com/ - viel einfacher, sich einzurichten. Das Segment verfügt über eine Integration mit Google Analytics und allen anderen Analysepaketen. Es ist also einfach, sobald die Verbindung hergestellt ist. Ich musste einigen Tutorials folgen, um eine native Bridge mit der RCT_EXPORT_MODULE-Technik zu erstellen, aber nachdem ich eine Verbindung zum Client hergestellt hatte, konnte ich den Segment-Starter-Code ziemlich gut einstecken. Ich habe bestimmte Ereignisaufrufe mit verschiedenen Aktionen auf der Clientseite über NativeModules.AnalyticsHelper.openApp(clientId), NativeModules.AnalyticsHelper.shareContent(clientId) usw. verknüpft. Ich denke, dass dies eine gute Methode ist, die ich befolgen muss.

Ich habe auch ein Gist erstellt, um zu zeigen, wie Segment Analytics für React native eingerichtet wird.

0
Tom Goldenberg