注意:此版本文档已归档不再维护,请移步至 最新版本。
崩溃服务(AppGallery Connect)快速入门
华为 AppGallery Connect(简称 AGC)崩溃服务 是一个轻量级崩溃分析服务,开发者可以通过崩溃报告了解应用崩溃情况。并且提供了 Crash SDK,可以 零代码 快速集成。
主要功能
崩溃服务提供最近 24 小时内的实时报告,开发者可以实时监测应用质量。
崩溃服务会自动分类崩溃问题,开发者可以通过各崩溃问题的数据指标判断优先解决哪些问题。也可以通过查看具体某一次崩溃的数据和崩溃堆栈,分析崩溃发生时的应用版本、操作系统、设备等相关信息,有助于开发者快速、高效地定位并解决崩溃问题。
崩溃服务提供实时检测重大崩溃问题。开发者开启崩溃提醒后,AppGallery Connect 会在发生重大崩溃问题时向开发者发送邮件提醒。
版本更新说明
当前版本:0.5.5_1.4.1.300
- 更新 SDK,修复部分 bug。
v0.5.3_1.3.2
- 集成华为 AGC 崩溃服务。
一键接入崩溃服务
开通服务
使用 Cocos Creator 打开需要接入崩溃服务的项目工程。
由于崩溃服务在上报崩溃事件时使用了华为分析服务功能,所以在集成崩溃服务前,请先开通 分析服务(HMS Core)。
点击菜单栏的 面板 -> 服务,打开 服务 面板,选择 崩溃服务,进入服务详情页。然后点击右上方的 启用 按钮即可开通服务。详情可参考 服务面板操作指南。
配置华为参数文件
大部分的华为相关项目都需要用到 agconnect-services.json
配置文件。若有新开通服务等操作,请及时更新该文件。
登录 AppGallery Connect 后台,在 项目列表 -> 应用列表 中找到对应的应用。
在 项目设置 页面的 应用 区域,点击
agconnect-services.json
下载配置文件。agconnect-services.json
文件在下载或者更新完成后,必须手动拷贝 到工程目录的settings
目录下。Cocos Creator v2.4.3 及以上版本,若 发布到 HUAWEI AppGallery Connect,开发者可直接在 构建发布 面板中选取下载或更新后的配置文件,不需要手动拷贝。
验证服务是否接入成功
通常情况下应用程序出现崩溃的概率较小,崩溃服务 SDK 提供了手动制造崩溃的方法,可以通过调用该方法来判断崩溃服务是否接入成功。
在脚本中添加代码。
jsconsole.log("Call crash method after 5 seconds."); this.scheduleOnce(function(){ huawei.agc.crash.CrashService.testIt(); },5);
发布到 Android 平台。请确保 构建发布 面板中的包名与华为后台设置的包名一致。
工程运行到手机后,登录 AppGallery Connect 后台,打开对应项目,进入 质量 -> 崩溃服务,确认崩溃数据可以正常显示(通常会在 5 分钟内显示),即为接入成功。
Sample 工程
开发者可以通过 Sample 工程快速体验崩溃服务。
点击崩溃服务面板中的 Sample 工程 按钮,Clone 或下载 HUAWEI Sample 工程,并在 Cocos Creator 中打开。
参照上文开通崩溃服务并配置华为参数文件后,可通过 Creator 编辑器菜单栏的 项目 -> 构建发布 打开 构建发布 面板来构建编译工程。Creator v2.4.1 及以上版本,可 发布到 HUAWEI AppGallery Connect。Creator v2.4.1 以下的版本可 发布到 Android 平台。
Sample 工程运行到手机后,点击首页的 Crash 按钮,即可进入功能界面进行测试。
开发指南
崩溃服务无需代码层接入,以下为可选方法。
设置崩溃服务开关
enableCrashCollection(enable: boolean): void
是否开启崩溃服务,默认开启。开启时崩溃服务将会收集和上报崩溃信息。如果不需要使用崩溃服务,设置为关闭即可。
参数说明:
参数 | 说明 |
---|---|
enable | false :关闭崩溃服务true :开启崩溃服务 |
示例:
huawei.agc.crash.CrashService.enableCrashCollection(false);
制造崩溃异常
testIt(): void
此方法用于创造测试用的崩溃。仅供开发者在测试崩溃实现时使用,正式发布的应用中请勿使用。
示例:
huawei.agc.crash.CrashService.testIt();
设置自定义用户标识符
setUserId(userId: string): void
参数说明:
参数 | 说明 |
---|---|
userId | 开发者根据算法计算生成的用户唯一的匿名标识符。长度最长为 1KB,超过会被截断。如果需要清除某个用户标识符,可将该值重置为空字符串。清除用户标识符不会移除现有的崩溃记录。 |
示例:
huawei.agc.crash.crashService.setUserId('user001');
设置自定义键值对
setCustomKey(key: string, value: any): void
设置自定义键值对的 key 和 value。value 可为 boolean
/string
/number
/float
类型。
参数说明:
参数 | 说明 |
---|---|
key | 自定义键值对的 key。每组键值对的 key 最长为 1KB,超过会被截断。最多可支持 64 组键值对,超过后不再保存更多的值。 |
value | 自定义键值对的 value,可为 boolean /string /number /float 类型。每组键值对的 value 最长为 1KB,超过会被截断。最多可支持 64 组键值对,超过后不再保存更多的值。 |
示例:
huawei.agc.crash.crashService.setCustomKey('floatKey123', 123.11);
huawei.agc.crash.crashService.setCustomKey('intKey123', 123);
huawei.agc.crash.crashService.setCustomKey('stringKey123', 'crash');
huawei.agc.crash.crashService.setCustomKey('booleanKey123', true);
设置自定义日志
log(level: LOG, content: string): void
参数说明:
参数 | 说明 |
---|---|
level | 自定义日志的级别。目前只支持 4 个级别: huawei.agc.crash.LOG.DEBUG:表示添加 DEBUG 级别的日志。 huawei.agc.crash.LOG.INFO:表示添加 INFO 级别的日志。 huawei.agc.crash.LOG.WARN:表示添加 WARN 级别的日志。 huawei.agc.crash.LOG.ERROR:表示添加 ERROR 级别的日志。 |
content | 自定义日志的内容。 单条日志长度最长不能超过 4KB,超过会被截断。日志总大小限制为不超过 64KB,超过会删除最早的日志。 |
示例:
huawei.agc.crash.crashService.log(huawei.agc.crash.LOG.DEBUG, 'debug log invoke');
相关参考链接
API 文档
详细的功能接口和 API 说明,请参考 崩溃服务 - API 文档。