原生RN 与混合开发方式不同
1 原生-添加 RNSensorsAnalyticsPackage
在 MainApplication 的 getPackages() 方法中添加 RNSensorsAnalyticsPackage 并新增对应依赖。
import com.sensorsdata.analytics.RNSensorsAnalyticsPackage;
...
public class MainApplication extends Application implements ReactApplication {
...
@Override
protected List<ReactPackage> getPackages() {
return Arrays.<ReactPackage>asList(
new RNSensorsAnalyticsPackage()
);
}
...
}
2 混合-添加RNSensorsAnalyticsPackage
在添加jsbundle包的地方添加
mReactInstanceManager = ReactInstanceManager.builder()
.setApplication(getApplication())
// .setBundleAssetName("itsm.android.jsbundle")
// .setJSMainModulePath("itsm.android")
.setBundleAssetName("xxx.jsbundle")
.setJSMainModulePath("xxx.android")
.addPackage(new xxx())
.addPackage(new RNSensorsAnalyticsPackage())
.setUseDeveloperSupport(BuildConfig.DEBUG)
.setInitialLifecycleState(LifecycleState.RESUMED)
.build();
// 注意这里的MyReactNativeApp必须对应“index.android.js”中的
// “AppRegistry.registerComponent()”的第一个参数
mReactRootView.startReactApplication(mReactInstanceManager, "MobileItsm", null);
setContentView(mReactRootView);