04/29/2024 11:54:52

Bugly 渠道说明

一、概述

一、概述

腾讯 Bugly,为移动开发者提供专业的异常上报和运营统计,帮助开发者快速发现并解决异常,同时掌握产品运营动态,及时跟进用户反馈。

注意:因为Bugly与Firebase都有crash监控功能,存在不兼容的问题,不要同时接入
二、开发者平台配置

二、开发者平台配置

2.1 注册账号

打开 Bugly 官网,选择 QQ 登录。

2.2 新增应用

  • 点击右上角菜单栏,我的产品。

  • 点击新建应用

2.3 配置应用

新建应用后,在产品页面根据需求填入必须内容即可。

2.4 其他步骤

配置完成后,获取应用的 APP ID

三、 Android工程配置

三、 Android工程配置

3.1 权限配置

  • 【必选】权限列表

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

    [info] 注意
    READ_PHONE_STATE 为敏感权限,主要用于设备获取标识
    READ_LOGS 为敏感权限,主要用于读取设备日志

3.2 App ID 配置

在工程文件 assets/MSDKConfig.ini 中添加配置

[Bugly 调试配置]
MSDK_DEBUG = 1
MSDK_DEBUG_CHANNEL = Bugly
[Bugly 渠道配置]
BUGLY_APP_ID_ANDROID = {BUGLY_APP_ID_ANDROID}
# 【可选配置】
# 屏蔽 error 类型的回调,其他类型的回调正常触发上报,默认关闭,此配置只在 Android 有
BUGLY_CLOSE_ERROR_CALLBACK_ANDROID = 0

[info]

1.将 {BUGLY_APP_ID_ANDROID} 改成游戏在 Bulgy 平台的ID,可以在 飞鹰系统 ->SDK 参数处找到。 2.{MSDK_DEBUG} 1 表示打开调试模式,0 表示关闭调试模式
3.{MSDK_DEBUG_CHANNEL} 此开关设置为 Bugly ,表示开启 Bugly 调试,仅当{MSDK_DEBUG}为1时,此开关生效,在同一配置文件中
4.{BUGLY_CLOSE_ERROR_CALLBACK_ANDROID}1 表示屏蔽 error 类型的回调,0 表示不屏蔽。5.10 版本新增。

3.3 【可选】App 版本号配置

MSDK 默认读取业务的 versionName 和 versionCode 作为 Bugly 的 App 版本号,如果业务需要自定义版本号,需要在工程文件 assets/MSDKConfig.ini 中添加配置

[Bugly 渠道配置]
BUGLY_APP_VERSION = {YOUR_BUGLY_APP_VERSION}

[info]

1.将 {YOUR_BUGLY_APP_VERSION} 改成游戏自定义的 App 版本号
2.MSDK 将忽略 AndroidManifest.xml 中游戏自定义的 BUGLY_APP_VERSION 配置

四、 iOS工程配置

四、 iOS工程配置

4.1 MSDK 环境配置

在工程中找到 MSDKAppSetting.bundle/MSDKConfig.ini 文件,增加如下配置

[Bugly 渠道配置]
BUGLY_APP_ID_IOS = {BUGLY_APP_ID_IOS}

# 【可选配置】
# 非正常退出事件记录开关,默认关闭,此配置只在 iOS 有
BUGLY_UNEXPECTED_TERMINATE_DETECTION_ENABLE_IOS = 0
# 卡顿监控开关,默认关闭;如若开启,需配置卡顿监控判断间隔,单位为秒;此配置只在 iOS 有
BUGLY_BLOCK_MONITOR_ENABLE_IOS = 1
BUGLY_BLOCK_MONITOR_TIMEOUT_IOS = 3

4.2 系统库依赖

+ SystemConfiguration.framework
+ Security.framework
+ libz.dylib 或 libz.tbd
+ libc++.dylib 或 libc++.tbd
五、功能说明

五、功能说明

5.1 异常上报功能

示例代码详见 异常上报模块,对应其中的 Bugly 渠道。

[info] Bugly 的自定义日志打印接口存在 Android/iOS 逻辑不一致问题,Bugly Android 不支持 silent 级别的日志上报,但 iOS 支持。使用时需要注意。

1)上报信息介绍
①上报 crash 进程的堆栈,包括出错堆栈、系统日志等;
②上报当前手机的基本信息,包括设备名称(厂商,型号)、系统版本、磁盘可用占比、SD卡可用占比、内存可用占比等;
上报用户的 openid,如下图的“用户 ID”所示。默认上报的用户 ID 是 MSDK openid,也支持设置自定义用户 ID。

④用户自定义上报信息
A.可以自定义应用在 crash 时上报的日志,如下图所示,在“跟踪日志”选择“自定义日志”查看:

B.可以设置关键数据键值对,随崩溃信息上报。如下图所示,在“跟踪数据>附件信息”的valueMapOther.txt中查看:

C.可以设置崩溃时额外日志/二进制数据上报。Android的额外日志和二进制数据分别在“跟踪数据>附件信息”的extraMessage.txt和userExtraByteData中:

iOS的额外日志在“跟踪数据>附件信息”的crash_attach.log,由于Bugly 平台设计, ios 没有二进制文件userExtraByteData

5.2 动态关闭bugly上报

  1. 有些场景下,应用不需要崩溃上报,如:有些应用在杀进程时触发的上报不想上报到bugly;此时可以调用该接口关闭崩溃上报,其他bugly功能不影响;重新启动应用后再触发的崩溃会正常上报
  2. 动态关闭bugly上报。调用时会关闭崩溃上报,其他bugly功能不影响;重新启动应用后再触发的崩溃会正常上报。

  3. 具体接口调用可参照 “异常上报模块” 的 " 2.7 动态关闭Crash上报 (当前仅Bugly渠道支持) " 部分

六、常见问题

六、常见问题

6.1 Unity 异常捕获测试

  • 主动抛出异常调试,比如 throw new System.ArgumentException("Parameter cannot be null", "original");
  • 脚本、异常之类的上报都在错误分析 列表展示,崩溃分析 列表只显示导致 App 闪退的问题
  • 在管理端中,异常上报->错误分析中,查看异常上报详情

6.2 Bugly 超时检查机制注意事项

1、Crash 回调不能做长时间的读写操作;
2、Bugly 上报超时是3秒;

6.3 Bugly 初始化 Crash

Crash 初始化失败,出现“initCrash failed at GCloud.MSDK.MSDKCrash.InitCrash()”堆栈,大部分情况是因为游戏没有接入 Firebase 插件,但是 MSDKConfig.ini 中的 CRASH_CHANNEL 添加了 Firebase导致的。
解决方案:删除 CRASH_CHANNEL 中的 Firebase 即可。
常见堆栈如下:

GCloud.MSDK.MSDKCrash.InitCrash()
GCloud.MSDK.MSDK.Init()
MSDKMgr.Awake()
AppRoot.OnAwakeInternal()
LGame.Framework.SingletonMonoBehavior`1.Awake()

6.4 Bugly管理端我的产品中没有XXX产品信息

点击跳转

6.5 iOS Bugly 管理端附件信息中,没有上报的“XXX”信息

点击跳转



Copyright © 2024 MSDK.
All rights reserved.

results matching ""

    No results matching ""