您现在的位置是:首页 > 文章详情

react native 友盟统计 IOS 端集成

日期:2018-08-29点击:741

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
把人家封装的交互类也下载下来:

img_9ac5089c12931770e39bed78d8ca914c.png
image.png

ios下载下来 解压后得到这些文件


img_500e7d1ca7ab8c62ae5c27dc7279733e.png
image.png

把这些 解压后的framework 导入到工程
UMAnalytics.framework
UMCommon.framework
UMCommonLog.framework
UMCommonLog.bundle


img_4dcc1eb60204973c217aae56dcd1200b.png
image.png

img_f7bf970cfaa0c685d3b368cedcec2d57.png
image.png

以此把上面的包导入即可,完成集成部分。

2. ios 和rn 的交互类

把官网下载下来解压后的react native 交互代码 拷贝到工程


img_877646e889e413fd184879b5adda6f7e.png
image.png

这四个OC文件


img_b84161e3c99ef8f49a63c6a9e0b97715.png
image.png

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]; //这个和事件埋点相关,要初始化 /***********************************************/ 
img_e5ce869a64eb8e6d6227c8cf7ab7f7a0.png
image.png

我们在后台设置埋点事件:


img_2b517eddd8b987120a68af7aeb63b614.png

img_8a6f9e5a2382c6dff1be253496ceea6f.png
image.png

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

原文链接:https://yq.aliyun.com/articles/639108
关注公众号

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。

持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。

文章评论

共有0条评论来说两句吧...

文章二维码

扫描即可查看该文章

点击排行

推荐阅读

最新文章