react native集成友盟(ios、android)

1,344 阅读2分钟
之前的项目使用的是google analytics,由于需要迁移到firebase,集成了firebase之后,不科学上网无法验证成功。筛选百度、腾讯、友盟统计,故决定使用友盟,友盟的文档写的,嗯,额,啊~


ios集成

github上的文档将的很粗略,很粗略……(可以互相参考)

1.建议下载React_Native_Compent ,直接把ios目录下UMComponents、UMReactBridge拷贝到自己项目相同目录下(UMComponent是自己项目名称)。也可删除掉自己不用的文件,push和share不用可以删除。

2.在 Appdelegate.m 中设置初始化代码(照搬文档上的)

#import "RNUMConfigure.h"

#import <UMAnalytics/MobClick.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

[UMConfigure setLogEnabled:NO];

[RNUMConfigure initWithAppkey:@"ios友盟ID" channel:@"App Store"];


[MobClick setScenarioType:E_UM_NORMAL];

[MobClick setCrashReportEnabled:YES];

...

}

这个就是很坑了,文档只写了一半。

3.xcode中打开工程目录,按图提示add Files to '项目名称',找到我们新建的UMReactBridge和UMComponentoptions,options 中选中Create groups Copy items if needed,然后add添加。

4.加入依赖系统库libsqlite3.tbd CoreGraphics.framework

ios集成完成,这是我再项目中完成的集成,如果还遇上问题,找度娘去吧


android集成

1.初始化 按照github上,将下载的jar放入app下的libs中(项目没有libs就建一个)。放入自己需要analytic相关的文件,common文件也要保留

2.对比下载的项目中的MainActivity.java和自己项目中,对比添加就好

Android/app/src/main/java/cn/../ (和MainActivity.java同级别)新建三个目录,从下载的友盟demo 目录⁨React_Native_Compent-master⁩ ▸ ⁨android⁩ ▸ ⁨app⁩ ▸ ⁨src⁩ ▸ ⁨main⁩ ▸ ⁨java⁩ ▸ ⁨com⁩ ▸ ⁨umeng⁩ ▸ ⁨soexample⁩拷贝(AnalyticsModule.java DplusReactPackage.java RNUMConfigure.java)

这三个文件的头部都要引入自己项目的package

没有这三个文件,会报引入模块错误

3.MainApplication.java

首先引入

import com.umeng.commonsdk.UMConfigure;

然后在

protected List<ReactPackage> getPackages() {

return Arrays.<ReactPackage>asList(

……

new DplusReactPackage(),

……

)

}

最后在

public void onCreate() {

super.onCreate();

SoLoader.init(this, /* native exopackage */ false);

RNUMConfigure.init(this, "自己的android友盟ID", "Umeng", UMConfigure.DEVICE_TYPE_PHONE,"");

}

注意 最后一个参数可以写空sting,但是不能去掉


》》》》》》

走到这步,run成功了就恭喜你了****

示例:

import {

Platform,

Linking,

AppState,

NativeModules,

} from 'react-native'

……

NativeModules.UMAnalyticsModule.onEvent(eventId)

……

有价值的参考,非常感谢~~~

juejin.cn/post/684490…

www.jianshu.com/p/96857827a…

www.yinqisen.cn/blog-755.ht…

www.jianshu.com/p/173084c24…