搜索热词

关于推送的集成请参考这篇文章,本篇文章将引导你集成统计功能,只需要简单的三个步骤就可以集成统计功能。

第一步 安装

在你的项目路径下执行命令:

npm install janalytics-react-native --save

npm install jcore-react-native --save

react-native link

执行完上述命令后,使用 Android Studio 打开你的项目。

第二步 配置:

2.1 配置 settings.gradle

执行完 link 命令后,如果 link 失败,则需要手动打开 settings.gradle 文件,完成以下配置:

your project/settings.gradle

include ':app','janalytics-react-native','jcore-react-native'

project(':janalytics-react-native').projectDir = new File(rootProject.projectDir,'../node_modules/janalytics-react-native/android')

project(':jcore-react-native').projectDir = new File(rootProject.projectDir,'../node_modules/jcore-react-native/android')

2.2 配置 build.gradle

your project/android/app/build.gradle

android {

...

defaultConfig {

applicationId "your application id"

...

manifestPlaceholders = [

JPUSH_APPKEY: "your app key",//在此替换你的APPKey

JPUSH_CHANNEL: "developer-default",//应用渠道号,默认即可

]

}

}

...dependencies {

compile project(':janalytics-react-native')

compile project(':jcore-react-native')

}

2.3 配置 AndroidManifest.xml

your project/AndroidManifest.xml

...

...

...

到此为止配置已经完成了,现在 sync 一下项目即可看到 janalytics 和 jcore 两个库出现在自己的项目下。

第三步 使用

3.1 加入 JAnalyticsPackage:

your project/app/MainApplication.java

...

@Override

protected List getPackages() {

return Arrays.asList(

new MainReactPackage(),new JAnalyticsPackage(SHUTDOWN_TOAST,SHUTDOWN_LOG)

);

}

上面的两个参数是 bool 类型的,第一个参数设置为 true 表示关闭 toast 提示,第二个设置为 true 表示关闭日志打印。建议在 debug 版本中打开。

同样在 MainApplication,调用 init 方法:

@Override

public void onCreate() {

super.onCreate();

SoLoader.init(this,false);

// 在 Init 之前调用,设置为 true,则会打印 debug 级别日志,否则只会打印 warning 级别以上的日志

JAnalyticsInterface.setDebugMode(true);

JAnalyticsInterface.init(this);

}

3.2 import JAnalyticsModule

接下来在 JS 文件中只要引入 JAnalyticsModule 就可以调用它的接口了:

your component.js

...

import JAnalyticsModule from 'janalytics-react-native';

调用 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',// 附加键值对,格式 {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',// 附加键值对,格式 {String: String}

id: String}

calculateEvent = {

type: 'calculate',// 附加键值对,格式 {String: String}

id: String,value: double

}

使用示例:

onLoginPress = () => {

var LoginEvent = {

type: 'login',extra: {

userId: "user1"

},method: "login",success: true

};

JAnalyticsModule.postEvent(LoginEvent);

}

总结

如果觉得编程之家网站内容还不错,欢迎将编程之家网站推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。

android+统计功能,React Native 轻松集成统计功能(Android 篇)相关推荐

  1. React Native 轻松集成分享功能(Android 篇)

    关于推送的集成请参考这篇文章,关于统计的集成请参考这篇文章,本篇文章将引导你集成分享功能. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台如下: ...

  2. React Native 轻松集成统计功能(iOS 篇)

    最近产品让我加上数据统计功能,刚好极光官方支持数据统计 支持了React Native 版本 第一步 安装: 在你的项目路径下执行命令: npm install janalytics-react-na ...

  3. React Native 轻松集成分享功能( iOS 篇)

    产品一直催我在 RN 项目中添加分享功能,一直没找到合适的库,今天让我看到了一个插件分享给大家. 在集成插件之前,需要在各大开放平台上成功注册应用,并通过审核(支持 3 个可选的主流平台).支持的平台 ...

  4. 在 iOS 与 Android 上实现 React Native 应用深度链接,通过 URL 打开到指定页面

    在 iOS 与 Android 上实现 React Native 应用深度链接,使得应用可以通过 我们生活在一个万物兼可分享的年代,而分享的过程,几乎最终都会分享某一个链接,那么,作为开发者,最常遇到 ...

  5. React Native填坑之旅--动画篇

    React Native填坑之旅--Button篇 React Native填坑之旅--动画 React Native填坑之旅--HTTP请求篇 动画是提高用户体验不可缺少的一个元素.恰如其分的动画可 ...

  6. 友盟统计封装android,react native 友盟统计 Android 端集成

    ios 端 可参考:https://www.jianshu.com/p/879d28ee74e6 趁热打铁吧,把刚才已经完成的友盟统计集成记录下 Android端集成: 分下面几部: 步骤 sdk的集 ...

  7. Android开发之带你轻松集成友盟统计

    友盟统计是什么呢?为什么要集成他呢? 当我们需要获取自己写的软件的装机量和用户使用信息时,这时我们可以集成友盟统计. 首先到友盟统计中注册账号什么的就不废话了,直接看创建项目: 在个人中心中的管理里面 ...

  8. 【React Native】集成声网Agora语音通讯

    前言: 公司的产品是一款基于社交的内容聊天软件,需要集成语音通讯功能,在写iOS原生项目时,用到的就是Agora SDK,现在写React Native也直接采用了Agora的库. 集成iOS.And ...

  9. 回退监听android,详解React Native监听Android回退按键与程序化退出应用

    详解React Native监听Android回退按键与程序化退出应用 前言 我们知道Android回退按键,会控制页面返回, 并且退出应用并非真正意义退出,仍在后台运行,所以在某些场景下需要监控an ...

最新文章

  1. 《Generative Face Completion》论文笔记
  2. SpringBoot + Vue + nginx项目一起部署
  3. java 安装后找不到文件_(已解决)jdk安装 系统找不到文件C:\ProgramData\Oracle\Java\javapath\java.exe...
  4. 计算点、线、面等元素之间的交点、交线、封闭区域面积和闭合集(续7)
  5. switch(封装)
  6. 这个天气怎么就这么热啊,哪里还有心情写代码呀。
  7. 【珍藏】 2012.NET开发必看资料53个+经典源码77个—下载目录
  8. zabbix java api
  9. 只有音频没指纹,能抓对人吗?CMU音频分析AI说没问题
  10. 【OCR技术系列之三】大批量生成文字训练集
  11. 相克军_Oracle体系_随堂笔记011-事物
  12. 一阶电路实验报告心得_一阶动态电路的响应测试实验报告
  13. java.lang.UnsupportedOperationException: Required method instantiateItem was not overridden
  14. 了解黑客经常使用哪些工具
  15. Android广播静态注册失效
  16. rstudio 连接mysql_Rstudio ODBC 连接MySQL
  17. 浅析嵌入式系统之bootloader
  18. JAVA计算机毕业设计疫情防控管理系统Mybatis+系统+数据库+调试部署
  19. 如何下载XXXXX B的视频
  20. 简述created和mounted的区别

热门文章

  1. Ghost for linux 工具备份还原系统
  2. 第一篇 mybatis的简介
  3. tomcat安装apr报错解决
  4. MySQL数据类型及sql模型及服务器变量
  5. iOS从生成证书到打包上架-02(详细2016-10最新)
  6. javascript获取asp.net服务器端控件的值
  7. OpenSSL windows 下编译
  8. playSwift第五章(函数和闭包)
  9. C语言中字符串的处理方式(一)
  10. C#3.0新特性 和 Javascript