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)
……
有价值的参考,非常感谢~~~