React Native 轻松集成统计功能(iOS 篇)
最近产品让我加上数据统计功能,刚好极光官方支持数据统计 支持了 React Native 版本
第一步 安装:
在你的项目路径下执行命令:
npm install janalytics-react-native --save
npm install jcore-react-native --save
react-native link
第二步 配置:
ReactNative iOS 端配置步骤在插件中自动完成,无需额外的配置。
第三步 使用
接下来在 JS 文件中只要导入 JAnalyticsModule 就可以调用它的接口了:
import JAnalyticsModule from 'janalytics-react-native';
JAnalyticsModule.setup({appKey: "you appKey get from jiguang website"}) // iOS 端需要先调用该方法
调用 API
startLogPageView(params)
这个方法表示开始记录页面统计,在生命周期中调用:
componentDidMount() {
var param = {
pageName: "main"
};
JAnalyticsModule.startLogPageView(param);
}
stopLogPageView(params)
这个方法表示结束记录页面统计,在生命周期中调用:
componentWillUnmount() {
var param = {
pageName: "main"
};
JAnalyticsModule.stopLogPageView(param);
}
postEvent(event)
上报统计事件,目前事件分为:CountEvent(计数事件)、CalculateEvent(计算事件)、RegisterEvent(注册事件)、LoginEvent(登录事件)、BrowseEvent(浏览事件)、PurchaseEvent(购买事件)。各事件格式如下:
loginEvent = {
type: 'login', // 必填
extra: Object, // 附加键值对,格式 {String: String}
method: String, // 填自己的登录方法
success: Boolean
}
registerEvent = {
type: 'register', // 必填
extra: Object, // 附加键值对,格式 {String: String}
method: String, // 填自己的登录方法
success: Boolean
}
purchaseEvent = {
type: 'purchase', // 必填
extra: Object, // 附加键值对,格式 {String: String}
goodsType: String,
goodsId: String,
goodsName: String,
success: Boolen,
price: float,
currency: String, // CNY, USD
count: int
}
browseEvent = {
type: 'browse',
id: String,
extra: Object, // 附加键值对,格式 {String: String}
name: String,
contentType: String,
duration: float
}
countEvent = {
type: 'count',
extra: Object, // 附加键值对,格式 {String: String}
id: String
}
calculateEvent = {
type: 'calculate',
extra: Object, // 附加键值对,格式 {String: String}
id: String,
value: double
}
使用示例:
onLoginPress = () => {
var LoginEvent = {
type: 'login',
extra: {
userId: "user1"
},
method: "login",
success: true
};
JAnalyticsModule.postEvent(LoginEvent);
}
作者:HuminiOS - 极光推送
原文:React Native 轻松集成统计功能(iOS 篇)
知乎专栏:极光日报
React Native 轻松集成统计功能(iOS 篇)的更多相关文章
- React Native 轻松集成统计功能(Android 篇)
关于推送的集成请参考这篇文章,本篇文章将引导你集成统计功能,只需要简单的三个步骤就可以集成统计功能. 第一步 安装 在你的项目路径下执行命令: npm install janalytics-react ...
- React Native 轻松集成分享功能(iOS 篇)
产品一直催我在 RN 项目中添加分享功能,一直没找到合适的库,今天让我看到了一个插件分享给大家. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台 ...
- React Native 轻松集成分享功能(Android 篇)
关于推送的集成请参考这篇文章,关于统计的集成请参考这篇文章,本篇文章将引导你集成分享功能. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台如下: ...
- 教你轻松在React Native中集成统计(umeng)的功能(最新版)
关于在react-native中快速集成umeng统计,网上的文章或者教程基本来自----贾鹏辉老师的文章http://www.devio.org/2017/09/03/React-Native-In ...
- React Native 手工搭建环境 之iOS篇
常识 React native 开发服务器 在开发时,我们的框架是这样的:  当正式发布进入到生产环境时,开发服务器上所有的js文件将会被编译成包的形式,直接嵌入到客户端内.这时,已经不再需要开发服 ...
- React Native之通知栏消息提示(ios)
React Native之通知栏消息提示(ios) 一,需求分析与概述 详情请查看:React Native之通知栏消息提示(android) 二,极光推送注册与集成 2.1,注册 详情请查看:Rea ...
- React Native之配置URL Scheme(iOS Android)
React Native之配置URL Scheme(iOS Android) 一,需求分析 1.1,需要在网站中打开/唤起app,或其他app中打开app,则需要设置URL Scheme.比如微信的是 ...
- React Native项目集成iOS原生模块
今天学习一下怎么在React Native项目中集成iOS原生模块,道理和在iOS原生项目中集成React Native模块类似.他们的界面跳转靠的都是iOS原生的UINavigationContro ...
- react native 之 在现有的iOS工程中集成react native
在现有的iOS工程中集成react native, 或者说将react native引入到iOS 项目,是RN和iOS混合开发的必经之路 参考官网教程:https://reactnative.cn/d ...
随机推荐
- 一款PHP环境整合工具—VertrigoServ介绍
Vertrigo简介 VertrigoServ 是一个Windows平台下的非常专业的.易于安装的免费网络开发环境,它集成了Apache, PHP, MySQL, SQLite, SQLiteMana ...
- 芝麻HTTP:Gerapy的安装
Gerapy是一个Scrapy分布式管理模块,本节就来介绍一下它的安装方式. 1. 相关链接 GitHub:https://github.com/Gerapy 2. pip安装 这里推荐使用pip安装 ...
- 【转载】[ORACLE]详解not in与not exists的区别与用法
在网上搜了下关于oracle中not exists和not in性能的比较,发现没有描述的太全面的,可能是问题太简单了,达人们都不屑于解释吧.于是自己花了点时间,试图把这个问题简单描述清楚,其实归根结 ...
- JDBCTemplate简化JDBC的操作(二)
一.Spring对不同的持久化支持: Spring为各种支持的持久化技术,都提供了简单操作的模板和回调 ORM持久化技术 模板类 JDBC org.springframework.jdbc.core. ...
- Python Web-第四周-Programs that Surf the Web(Using Python to Access Web Data)
1.Understanding HTML 1.最简单的爬虫 import urllib fhand=urllib.urlopen('http://www.dr-chuck.com/page1.htm' ...
- 在linux下,怎么去查看一个运行中的程序, 到底是占用了多少内存
1. 在linux下,查看一个运行中的程序, 占用了多少内存, 一般的命令有 (1). ps aux: 其中 VSZ(或VSS)列 表示,程序占用了多少虚拟内存. RSS列 表示, 程序占用了多少物 ...
- SDP(11):MongoDB-Engine功能实现
根据上篇关于MongoDB-Engine的功能设计方案,我们将在这篇讨论里进行功能实现和测试.下面是具体的功能实现代码:基本上是直接调用Mongo-scala的对应函数,需要注意的是java类型和sc ...
- 【BZOJ1216】操作系统(堆,模拟)
[BZOJ1216]操作系统(堆,模拟) 题面 题目描述 写一个程序来模拟操作系统的进程调度.假设该系统只有一个CPU,每一个进程的到达时间,执行时间和运行优先级都是已知的.其中运行优先级用自然数表示 ...
- 【洛谷T7152】(考试题目)细胞
题面 题目描述 小 X 在上完生物课后对细胞的分裂产生了浓厚的兴趣.于是他决定做实验并 观察细胞分裂的规律. 他选取了一种特别的细胞,每天每个该细胞可以分裂出 x − 1 个新的细胞. 小 X 决定第 ...
- 备库搭建后,进入备库报错psql: FATAL: the database system is starting up
备库搭建后,进入备库报错psql: FATAL: the database system is starting up 原因:备库配置文件没有hot_standby = on mast ...