# rntpc_rn-bugly **Repository Path**: openharmony-sig/rntpc_rn-bugly ## Basic Information - **Project Name**: rntpc_rn-bugly - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: https://gitee.com/openharmony-sig/rntpc_rn-bugly - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-10-14 - **Last Updated**: 2025-05-07 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 🚨 **重要提示 | IMPORTANT** > > **⚠️ 此代码仓已归档。新地址请访问 [rntpc_rn-bugly](https://gitcode.com/openharmony-sig/rntpc_rn-bugly)。| ⚠️ This repository has been archived. For the new address, please visit [rntpc_rn-bugly](https://gitcode.com/openharmony-sig/rntpc_rn-bugly).** > --- > # rn-bugly [![npm version](http://img.shields.io/npm/v/rn-bugly.svg?style=flat-square)](https://npmjs.org/package/rn-bugly "View this project on npm") [![npm version](http://img.shields.io/npm/dm/rn-bugly.svg?style=flat-square)](https://npmjs.org/package/rn-bugly "View this project on npm") bugly for react-native,支持统计,android支持应用全量升级 ## 安装 > `$ npm install rn-bugly --save` * react-native <0.60 > `$ react-native link rn-bugly` * react-native >=0.60 新版RN会自动link,不需要执行link命令 --- 不管是哪个版本的react-native,ios端都需要在`ios`文件夹下执行 ```shell $ cd ios $ pod install ``` ### 配置 #### iOS `AppDelegate.m` ``` #import "RNBugly.h" -(BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ... //初始化bugly,会自动读取info.plist中的参数 [RNBugly startWithAppId]; return YES; } ``` `info.plist`文件读取SDK初始化参数,可配置的参数如下(`除Appid为必填外,其它可选`): ``` - Appid - Key: BuglyAppIDString - Value: 字符串类型 - 渠道标识 - Key: BuglyAppChannelString - Value: 字符串类型 - 版本信息 - Key: BuglyAppVersionString - Value: 字符串类型 - 开启Debug信息显示 - Key: BuglyDebugEnable - Value: BOOL类型 ``` #### Android `MainApplication.java`(依旧可以用Bugly.init进行初始化,下面两个方法只是对Bugly.init的简单封装) ``` import com.reactlibrary.bugly.RNBuglyModule; @Override public void onCreate() { super.onCreate(); ... ** 下面的方法根据情况二选一 ** //参数解析: //参数1:上下文对象 //参数2:注册时申请的APPID //参数3:是否开启debug模式,true表示打开debug模式,false表示关闭调试模式 //初始化并且自动检查更新 RNBuglyModule.init(getApplicationContext(),"注册时申请的APPID",false); //仅仅初始化(推荐使用该方法,所有的检查更新触发都在js端,更加灵活) RNBuglyModule.initWithoutAutoCheckUpgrade(getApplicationContext(),"注册时申请的APPID",false); } ``` ## 使用 ```javascript import RNBugly from 'rn-bugly'; //如果上面采用的initWithoutAutoCheckUpgrade初始化,并且需要进入app的时候也自动检查更新,可以使用下面的方法手动检查更新 //官方原生的init初始化其实有3s的延迟时间,等待初始化完成,所以js端也需要等待3m后才能检查更新 setTimeout(()=>{ RNBugly.checkUpgrade({ isManual: false, isSilence: false }); },3000); //点击按钮触发检查更新(一般在[关于]-[检查更新]) //此时早已初始化了,不需要延时 RNBugly.checkUpgrade({ //该值为true的时候,会有toast提示,如果不需要提示,设置为false isManual: true, isSilence: false }); //获取更新信息 //注意:更新信息获取一次后会储存在本地,即使后台控制停止该版本更新,该方法依旧可以获取到数据 let updateInfo = await RNBugly.getUpgradeInfo(); //上报自定义异常信息 RNBugly.postException({ errorMsg: 'login error', stack: 'sadasdasd\nzxzxsds', extraInfo: { userInfo: 'test', password: '12345' } }) ``` bugly后端异常信息如下: ![](https://tva1.sinaimg.cn/large/008eGmZEgy1gpdin9v721j30ww04imxk.jpg)

![](https://tva1.sinaimg.cn/large/008eGmZEgy1gpdiomwgs7j30w6068aal.jpg) 其他方法及注释请查看: [index.d.ts](types/index.d.ts) 参考[demo](./example),或者下载[example.apk](https://zhaoyang.lanzous.com/ib832sh)体验 ## 注意事项&&疑问 #### 1.无法使用? 请升级到最新版本后再试 目前对于React Native不用区分版本,直接使用最新版即可,只是安装方式略有不同 #### 2.集成后全量更新无效果 请确定targetSDKVersion是否为28或者以上,bugly请求由于使用了http,而android 9默认是不支持http请求的,需要调整下 具体请参考: https://blog.csdn.net/weixin_34114823/article/details/88037177 在最新的1.1.0的版本中,依赖的官方sdk,已经支持https了,具体查看[官方日志](https://bugly.qq.com/docs/release-notes/release-android-beta/?v=20200622202242) #### 3.为什么我点击更新按钮后,对话框关闭,啥反应都没有? 等一会会出现安装提示,bugly对的更新方式是直接在通知栏显示下载进度,下载完成覆盖安装,如果状态栏没有提示,那就是没有通知权限(oppo/vivo系统是默认不开启该权限的) ## 截图