reactNative接入Umeng统计(android)

android接入友盟统计其实就是调用原生的api,完全可以按原生的方式来接入统计,在原生android文件夹下配置

1.在build.gradle中依赖所需要的jar包

compile 'com.umeng.analytics:analytics:latest.integration'

2.添加友盟统计所需要的权限

 <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.SYSTEM_ALERT_WINDOW" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <uses-permission android:name="android.permission.CAMERA" />

    <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />

3.添加Umeng,appkey 和统计标识,如(腾讯)

 <meta-data
            android:name="UMENG_APPKEY"
            android:value="umengAppkey" />
        <meta-data
            android:name="UMENG_CHANNEL"

            android:value="tencent" />

4.在MainActivity中添加下面代码

  @Override
    public void onResume() {
        super.onResume();
        MobclickAgent.onResume(this);
    }
    @Override
    protected void onPause() {
        super.onPause();
        MobclickAgent.onPause(this);
    }

到此Umeng统计所需要的环境已经搭建完成,接下来就是接入统计啦

5.自定义继承ReactPackage,名字随便取

public class DplusReactPackage implements ReactPackage {

    @Override
    public List<ViewManager> createViewManagers(ReactApplicationContext reactContext) {
        return Collections.emptyList();
    }

    /**
     * 如需要添加本地方法,只需在这里add
     *
     * @param reactContext
     * @return
     */
    @Override
    public List<NativeModule> createNativeModules(
        ReactApplicationContext reactContext) {
        List<NativeModule> modules = new ArrayList<>();
        modules.add(new UMAnalyticsModule(reactContext));
        return modules;
    }

}

6.在Myapplication中将自定义的包在 getPackages()方法中添加进去

 @Override
    protected List<ReactPackage> getPackages() {
      return Arrays.<ReactPackage>asList(
          new MainReactPackage(),
            new DplusReactPackage()

      );

7.自定义需要统计的方法:(可以自己自定义需要统计的方法用 @ReactMethod注解)

public class UMAnalyticsModule extends ReactContextBaseJavaModule {
    private ReactApplicationContext context;
    public UMAnalyticsModule(ReactApplicationContext reactContext) {
        super(reactContext);
        context = reactContext;
    }
    @Override
    public String getName() {
        return "UMAnalyticsModule";
    }

    /********************************U-App统计*********************************/
    @ReactMethod
    public void onPageBegin(String mPageName) {
        MobclickAgent.onPageStart(mPageName);
    }

    @ReactMethod
    public void onPageEnd(String mPageName) {
        MobclickAgent.onPageEnd(mPageName);
    }

    @ReactMethod
    public void onEvent(String eventId) {
        MobclickAgent.onEvent(context, eventId);
    }

    @ReactMethod
    public void onProfileSignIn(String loginId) {
        MobclickAgent.onProfileSignIn(loginId);
    }

    @ReactMethod
    public void onEventWithLable(String eventId, String eventLabel) {
        MobclickAgent.onEvent(context, eventId, eventLabel);
    }
 

}

以上配置均属于原生代码配置,建议用androidStudio配置好,编译,如果通过原生代码就搭建好了

下面开始接入到ReactNative代码中,我们只需要定义一个基类,至于基类的搭建,上一篇文章中已经有写过啦,这里就不在写了,

一般是在有页面的基类中里面的生命周期方法中调用你需要统计的数据,调用原生中注解的方法,当然ios中也是同样如此只需要将原生中的注解回调方法名设置一样即可,

example:

 var UmengAnalytics=NativeModules.UMAnalyticsModule
componentDidMount() { UmengAnalytics.onPageBegin("StringTag") ;}

componentWillUnmount() {UmengAnalytics.onPageEnd("StringTag") ;}

统计页面开始,页面结束,登录调用

UmengAnalytics.onProfileSignIn(userId + "");

等等,你还可以在注解方法中自定义需要统计的数据,

到此文章就结束了。。。。。

 

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值