如何在适用于iOS的React Native上设置分析

时间:2015-12-07 03:07:46

标签: ios google-analytics reactjs react-native

所以我有一个完整的iOS React Native项目,但我想在其中加入分析。我尝试了react-native-google-analytics包,但问题阻止它正常工作。此外,react-native-cordova-plugin软件包仅适用于Android,因此现在无法插入Cordova插件进行分析。我也没有Swift / Objective C经验,因此会在GA中完全丢失插件。有没有人对如何为React Native for iOS连接Google Analytics(或任何其他分析)提出任何建议?如果是这样,请提供一些详细的说明。我,我相信,其他许多人会很感激:)

4 个答案:

答案 0 :(得分:12)

我是React Native的Google Analytics软件包的作者: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');

答案 1 :(得分:2)

我是react-native-google-analytics的作者 - 它的问题在于React Native在iOS 7的XHR响应中缺乏对GIF数据的支持。我仍在试图弄清楚是否人们正在经历的问题仍然仅限于iOS 7.该报告由RN团队针对iOS进行了修复>但是,如果不是这种情况,则必须有回归。有关React Native问题的跟踪信息如下:https://github.com/facebook/react-native/issues/1780

如果您对该模块有任何其他疑问,请随时向GitHub询问!

答案 2 :(得分:2)

我刚用这个包设置了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。

在所有这些之后,我只是注意到结构进行分析,所以我可能会迁移到那个,因为我用来管理beta测试人员并且它非常棒,因此将所有内容放在一个地方会很好

答案 3 :(得分:1)

所以这可能会对人们有所帮助,但我找到了细分 - https://segment.com/ - 设置起来要容易得多。 Segment与Google Analytics和所有其他分析软件包集成,因此一旦建立连接就很容易。我必须遵循一些使用RCT_EXPORT_MODULE技术创建本机桥的教程,但是一旦我建立了与客户端的连接,我就能够插入Segment启动代码。我通过NativeModules.AnalyticsHelper.openApp(clientId)NativeModules.AnalyticsHelper.shareContent(clientId)等将特定事件调用链接到客户端的不同操作。我认为这是一个很好的方法。

我还创建了一个gist来展示如何为React native设置Segment Analytics。