1.0.1 • Published 3 years ago

react-native-mzanalytics v1.0.1

Weekly downloads
-
License
Apache-2.0
Repository
-
Last release
3 years ago

React Native 部署指南

1. 集成秒针分析 SDK RN 模块

对于 React Native 开发的应用,可以使用 npm 方式集成秒针分析 SDK RN 模块

###1.1. 安装秒针分析 SDK RN 模块

react-native install react-native-mzanalytics —save

###1.2. 链接秒针分析 SDK RN 模块

注意:React Native 0.60 及以上版本会 autolinking,不需要执行下边的 react-native link 命令。

react-native link react-native-mzanalytics

2. iOS 端

###2.1. 集成秒针分析 iOS SDK

集成方法参考MZAnalytics_IOS_SDK部署指南。如原生应用部分已经集成过SDK并初始化过,则可跳过。

注意:如项目中使用pods集成RN模块,会自动导入原生SDK,这时需要删除手动集成的的SDK,防止造成两个相同SDK的冲突。

3. Android 端

###3.1. 集成秒针分析 Android SDK

集成方法参考MZAnalytics_Android_SDK部署指南。如原生应用部分已经集成过SDK并初始化过,需删除libs目录下的秒针分析jar包,同时删除相关引用。

注意:如项目中集成RN模块,会自动导入原生SDK。

4. 在 React Native 上使用代码埋点

###4.1. 在 js 文件中导入秒针模块 在具体的 js 文件中导入秒针模块 RNMzanalyticsYumc,导入模块示例如下:

import RNMzanalyticsYumc from 'react-native-mzanalytics';

4.2. 代码埋点调用示例

4.2.1. 页面浏览

说明:
a. 用于监测页面浏览行为,在需要监测的页面启动方法中添加如下代码后,即可采集用户的页面浏览行为;
b. 如需在页面浏览数据上报时,需携带更多的信息,可使用自定义维度和自定义指标。 【具体使用规则见文档: 4.2.5 自定义维度和指标的使用方法

接口示例:

 <Button title='页面事件' style={styles.button}
      onPress={() => {
        RNMzanalyticsYumc.trackPageView({
                      "dt": "首页",
                      "CustomDimMetrics": {
                        "cd1": "ID88888", //需统计的自定义维度1的名称,如浏览该页面的用户Id
                        "cd2": "小明机器人", //需统计的自定义维度2的名称,如浏览页面的用户名称
                        "cm1": "1" //需统计的自定义指标的数值,如用户个数为1
                      }
                    }); }}
    ></Button>

参数说明:

参数类型说明是否必填
dtString需监测的页面名称必填
customDimMetricsMap自定义维度和自定义指标集合名称可选,业务场景中无需携带自定义维度和自定义指标时,customDimMetrics不传即可

customDimMetrics中需传递的自定义参数说明:

参数类型说明是否必填
cd1~25String自定义维度,最多25个选填
cm1~25String类型的数值自定义指标,最多25个选填

4.2.2. 基础事件

说明:
a. 在需要统计与用户交互动作的按钮或其他控件的点击方法中,添加基础事件埋点; b. 如需在基础事件数据上报时,需携带更多的信息,可使用自定义维度和自定义指标。【具体使用规则见文档: 4.2.5 自定义维度和指标的使用方法

接口示例:

  <Button
      title="基础事件"
      onPress={() => { RNMzanalyticsYumc.trackEvent({
                      "ec": "领取奖励",
                      "ea": "Click",
                      "el": "任务箱领取奖励",
                      "ev":"0",
                      "CustomDimMetrics": {
                        "cd3": "首次登陆任务箱", //需统计的自定义维度名称,如任务箱名称
                        "cm2": "2" //需统计的自定义指标数值,如打开的任务箱个数,共2个
                      }
                    }); }}
    />
    

参数说明:

参数类型说明是否必填
ecString事件分类必填
eaString事件动作必填
elString事件标签选填
evString类型的数值事件价值选填
customDimMetricsMap自定义维度和自定义指标集合名称可选,没有自定义维度和自定义指标时,customDimMetrics不传即可

customDimMetrics中需传递的自定义参数说明:

参数类型说明是否必填
cd1~25String自定义维度,最多25个选填
cm1~25String类型的数值自定义指标,最多25个选填

4.2.3. 高级事件

说明:
a. 如需统计更多维度、指标的用户交互事件,用户可使用高级事件埋点设定所要统计的维度、指标;

b. 如需在高级事件数据上报时,需携带更多的信息,可使用自定义维度和自定义指标。【具体使用规则见文档中:4.2.5 自定义维度和指标的使用方法

接口示例:

   <Button
      title="高级事件"
      onPress={() => { RNMzanalyticsYumc.trackSiteCustomEvent({
                      "CustomEvent": {
                        "caid": "1",
                        "cal1": "北京",
                        "cal2": "朝阳区",
                        "cav1": "1"
                      },
                      "CustomDimMetrics": {
                        "cd1": "ID88888", //需统计的自定义维度,如触发注册事件的用户Id
                        "cm1": "1" //需统计的自定义指标,如触发高级事件的用户数1
                      }
                    }); }}
    />

参数说明:

参数类型说明是否必填
customEventMap包含高级事件id、以及高级事件维度、指标数均以实际在系统中创建的⾼级事件为准必填
customDimMetricsMap自定义维度和自定义指标集合名称可选,没有自定义维度和自定义指标时,customDimMetrics可不传

CustomEvent中需传递的高级事件参数说明:

参数类型说明是否必填
caidString类型的数值高级事件id必填,需在秒针分析系统中注册该事件
cal1~20String高级事件维度,最多20个选填
cav1~20String类型的数值高级事件指标,最多20个选填

customDimMetrics中需传递的自定义参数说明:

参数类型说明是否必填
cd1~25String自定义维度,最多25个选填
cm1~25String类型的数值自定义指标,最多25个选填

4.2.4. 获取访客id

说明:访客id是秒针分析标识唯一用户的id,该接口可用于获取秒针分析SDK生成的cid。

示例代码:

 <Button
      title="获取cid"
      onPress={() => { Alert.alert(RNMzanalyticsYumc.getCid())}}
    />

4.2.5 自定义维度和指标的使用方法(可选埋点)

在页面浏览、基础事件、 高级事件数据上报时,需额外携带其他信息时,则可以使用秒针分析提供的自定义维度和自定义指标功能。使用自定义维度和自定义指标需遵循如下规则:

a. 在同一个事件中需携带不同的自定义维度和自定义指标时,各个自定义维度和自定义指标的key不应相同,否则会造成相同key对应的value被覆盖的情况,正确的使用方法是分别使用key为cd1、cd2...cd25来存储不同的维度名称,自定义指标同理。

举例1. 假设在app中存在页面名称为首页的页面,用户可在该页面领取任务奖励。
数据分析需求:当首页被打开后在页面浏览数据上报时,携带打开这个页面的用户账号id、昵称。
示例如下:

RNMzanalyticsYumc.trackPageView({
                       "dt": "首页", 
                     "CustomDimMetrics": {
                          "cd1":"ID88888", //使用cd1 传入用户Id
                          "cd2": "小明机器人"   //使用cd2 传入用户昵称              
                     }  
                        });

b. 不同事件上报不同的自定义维度和自定义指标时,各个自定义维度和自定义指标的key不应相同,若都使用同一个key,所有同key的自定义维度数据会和不同事件的数据关联在一起,造成运营分析困难。

举例2:假设在app的首页中用户可以在完成特定任务后,点击任务箱领取按钮获得奖励。

数据分析需求:用户既需要监听首页的浏览事件,在页面浏览数据上报时携带用户账号Id、昵称,也需要监听首页领取奖励按钮的点击事件,并同时上报已领取的任务箱名称和任务箱的个数。
示例如下:用户账号Id、昵称和任务箱名称采用不同的自定义维度key,自定义指标同理。

//页面埋点部分参考举例1的代码示例,下方仅提供按钮点击事件的埋点代码示例
RNMzanalyticsYumc.trackEvent({
                   "ec": "领取奖励",
                   "ea": "Click",
                   "el": "任务箱领取奖励",
                   "ev": "1",
                 "CustomDimMetrics": {
                   "cd3": "完成资料填写任务箱",  //在cd1和cd2已存在时,应采用cd3等
                   "cm2": "2" // 任务箱的个数1
             }
       });