react native 友盟统计 IOS 端集成
react native 友盟统计的Android端集成可参考 :https://www.jianshu.com/p/1c41d4b66312 希望大家少走些弯路吧。
下面介绍下IOS 端的集成:
步骤
- ios端的sdk集成
- ios 和rn 的交互类
- 工程的相关配置 (初始化sdk)
- rn 端调用
1.sdk 集成部分
官网sdk下载地址:
https://developer.umeng.com/sdk/reactnative?spm=a211g2.211692.0.0.28961183UCQLCq
把人家封装的交互类也下载下来:
ios下载下来 解压后得到这些文件
把这些 解压后的framework 导入到工程
UMAnalytics.framework
UMCommon.framework
UMCommonLog.framework
UMCommonLog.bundle
以此把上面的包导入即可,完成集成部分。
2. ios 和rn 的交互类
把官网下载下来解压后的react native 交互代码 拷贝到工程
这四个OC文件
3. 工程的相关配置 sdk 的初始化
在AppDelegate.m 文件中
头文件导入 以及初始化 友盟统计
#import "RNUMConfigure.h" //友盟统计配置文件引入 #import <UMAnalytics/MobClick.h> /** * 友盟统计启动代码 初始化 */ [UMConfigure setLogEnabled:YES]; [RNUMConfigure initWithAppkey:@"你的appkey" channel:@"App Store"]; [MobClick setScenarioType:E_UM_NORMAL]; //这个和事件埋点相关,要初始化 /***********************************************/
我们在后台设置埋点事件:
OK 原生部分已经完成
RN调用部分
Umtj.js
import { NativeModules } from 'react-native'; const UMTJ = NativeModules.UMAnalyticsModule; export const onPageStart = pageName => { //用于统计单个自定义页面的起始和onPageEnd同时使用,不可单独使用 return UMTJ.onPageStart(pageName); }; export const onPageEnd = pageName => { //用于统计单个Activity页面结束时间 return UMTJ.onPageEnd(pageName); }; export const onEvent = eventId => { //用于统计自定义事件的发生次数 return UMTJ.onEvent(eventId); }; export const onEventWithLable = (eventId, label) => { //用于统计自定义事件的发生次数 return UMTJ.onEventWithLable(eventId, label); };
调用的时候直接导入即可。
一个简单的例子:
import { onEvent, onEventWithLable, onPageStart, onPageEnd, } from '../utils/natives/Umtj'; //比如这里是个点击事件 click=()=>{ onEvent('regist'); onEventWithLable('regist', '注册登录成功'); }
如果报错的话:
如果报 onEventWithLable 这个方法的错误,为了和Android端代码同步,可以把 iOS 中的UMAnalyticsModule.m方法中的 onEventWithLabel 改成 onEventWithLable
IOS 端集成完成
Android 端可参考:https://www.jianshu.com/p/1c41d4b66312
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
利用Xamaria构建Android应用-公交发车信息屏
原文: 利用Xamaria构建Android应用-公交发车信息屏 1、背景 在公交整个运营系统中,信息展示占据了很大一部分的内容。各种除了户外的各种LED拼接屏,还有用于室内信息提示用的LCD屏幕。对于LCD屏,传统的方式需往往要安装一台以上的电脑主机,然后将LCD屏当作电脑显示器使用。利用操作系统的直接输出,或是同步分屏功能,将显示的内容投到相应的LCD设备上。不过,随着智能设备的普及,比如装有Android的机顶盒,或是智能电视,将显示功能直接集成到显示设备中成为了一种可能和趋势。同时,大大减少了终端设备的投入,以及使用人员培训等方面的成本。 2、需求分析 在这个示例中,需要创建一个全屏显示的发车计划表。目前已经有了一个H5的网页,通过WebSocket实时更新展示当前站点的所有线路发车信息。由于智能电视自带的浏览器无法进行全屏,且无法进行内容适应性调整,此时就需要定制一个app,实现此项功能。另外,每个站点的app只显示当前的站点的线路发车信息,所以还需要一个站点设置功能。 3、功能设计 3.1 内容显示设计 对于要显示的内容,当前已经存在一个H5的网页,所以无需大幅度改动现有系...
- 下一篇
1-VII-RecyclerView基本使用
零、前言 [1].RecyclerView可以说是现在安卓视图的一哥了 [2].加包implementation 'com.android.support:design:26.1.0' [3].RecyclerView的布局样式、装饰线 一、代码实现 1.Activity布局 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" android:layout_width="match_parent" android:layout_height="match_parent"> <android.support.v7.widget.RecyclerView android:id="@+id/recyclerview" android:layout_below="@+id/ll" android:l...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- CentOS6,CentOS7官方镜像安装Oracle11G
- CentOS关闭SELinux安全模块
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- Windows10,CentOS7,CentOS8安装Nodejs环境
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Eclipse初始化配置,告别卡顿、闪退、编译时间过长