# 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
[](https://npmjs.org/package/rn-bugly "View this project on npm")
[](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后端异常信息如下:


其他方法及注释请查看: [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系统是默认不开启该权限的)
## 截图
