【AGC】集成华为AGC崩溃服务实用教程
简介
AppGallery Connect(简称AGC)崩溃服务提供了轻量级崩溃分析服务,集成Crash SDK,可以实现零代码快速集成,您的应用能够在崩溃时自动收集崩溃报告,帮助您了解应用版本质量、对崩溃性问题进行快速跟踪定位、评估崩溃问题的影响范围等。
开通服务和集成SDK
1、登录AppGallery Connect,点击“我的项目”,在项目的应用列表中选择需要开通崩溃的应用。
2、在导航选择“质量 > 崩溃”。如果是首次使用崩溃服务,请点击“启动分析服务”开通服务。
3、选择常规页签下的“应用”区域,下载agconnect-services.plist配置文件。
4、打开命令行窗口,导航至Xcode项目所在的位置,创建Podfile文件。如果已经存在,可跳过本步骤。
cd project-directory
pod init
5、编辑Podfile文件,增加pod依赖pod 'AGConnectCrash'。
target 'AGC-Crash-1' do
pod 'AGConnectCrash'
end
6、执行 pod install,然后打开xcworkspace文件查看该项目。
pod install
安装成功效果如下图。
界面设计
本次Codelab中您可以在您的iOS工程中创建一个布局页面,参照下图进行UI设计,新增一个按钮触发崩溃。
功能开发
1、在应用的AppDelegate类中引入AGConnectCore库,并在didFinishLaunchingWithOptions方法里调用AGCInstance.startUp进行初始化。
import AGConnectCore
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
AGCInstance.startUp()
return true
}
2、调用制造崩溃的方法makeCrash。
@objc func makeCrash() {
AGCCrash.sharedInstance().testIt()
}
打包测试
- 在Xcode上点击运行按钮,在手机或模拟器上运行应用。
- 崩溃收集功能在Xcode调试状态下不会开启,因此您在测试应用程序的崩溃收集功能时,需要先停止Xcode调试,再打开应用程序点击“Make Crash”。
- 在发生崩溃后,确保网络连接正常,重新打开应用,在AGC中查看对应的崩溃信息。
崩溃报告查看
- 登录AppGallery Connect,点击“我的项目”,在应用列表中选择您的应用。
- 在崩溃服务页面中,点击“统计”页签,查看您应用的崩溃统计信息。
- 确认有崩溃信息上报后,您可以点击“问题”页签,找到您应用的崩溃问题,如下“NSRangeException”即为本次测试崩溃时制造的崩溃问题。
- 点击崩溃问题,可以进入问题详情页面,在“堆栈”信息中,您可以大致了解发生崩溃的原因,以帮助您对崩溃进行分析。
恭喜您
祝贺您,您已经成功地构建了您的第一个集成AGC崩溃服务的应用程序,并学到了如何在AGC控制台对崩溃信息和自定义报告进行查看和分析。您也可以制造不同类型的崩溃,在AGC控制台上查看崩溃信息。
参考文档
欲了解更多更全技术文章,欢迎访问https://developer.huawei.com/consumer/cn/forum/?ha_source=zzh
【AGC】集成华为AGC崩溃服务实用教程的更多相关文章
- iOS平台 | 快速集成华为AGC认证服务
介绍 如何让用户根据已有的账号来进行登录注册呢?在应用中集成华为AGC认证服务SDK来轻松快速地实现这个功能. 本篇内容根据官网文档指导集成过程总结完成,关于集成步骤,官网的资料写的有点多,现在我总结 ...
- 如何在 Flutter 中集成华为云函数服务
介绍 云函数是一项 Serverless 计算服务,提供 FaaS(Function as a Service)能力,可以帮助开发者大幅简化应用开发与运维相关事务,降低应用功能的实现门槛,快速构建业务 ...
- spring cloud 2.x版本 Ribbon服务发现教程(内含集成Hystrix熔断机制)
本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 前言 本文基于前两篇文章eureka-server和eureka-client的实现. 参考 ...
- spring cloud 2.x版本 Feign服务发现教程(内含集成Hystrix熔断机制)
前言 本文采用Spring cloud本文为2.1.8RELEASE,version=Greenwich.SR3 本文基于前两篇文章eureka-server和eureka-client的实现. 参考 ...
- 超简单集成华为 HMS MLKit 机器学习服务:银行卡识别 SDK,一键实现银行卡绑定
前言 小编前面几期文章分别给大家介绍了使用 HMS ML Kit SDK 实现微笑抓拍.证件照 DIY.拍照翻译的功能开发(链接见文章末尾),本次小编给大家带来的是使用 HMS 机器学习服务(ML K ...
- Taurus.MVC 微服务框架 入门开发教程:项目集成:1、服务端:注册中心、网关(提供可运行程序下载)。
系列目录: 本系列分为项目集成.项目部署.架构演进三个方向,后续会根据情况调整文章目录. 本系列第一篇:Taurus.MVC V3.0.3 微服务开源框架发布:让.NET 架构在大并发的演进过程更简单 ...
- js模版引擎handlebars.js实用教程
js模版引擎handlebars.js实用教程 阅读本文需要了解基本的Handlebars.js概念,本文并不是Handlebars.js基础教程,而是注重于实际应用,为读者阐述使用过程中可能会遇到的 ...
- spring cloud微服务快速教程之(七) Spring Cloud Alibaba--nacos(一)、服务注册发现
0.前言 什么是Spring Cloud Alibaba? Spring Cloud Alibaba 是阿里开源的,致力于提供微服务开发的一站式解决方案.此项目包含开发分布式应用微服务的必需组件,方便 ...
- SpringBoot系列之RabbitMQ使用实用教程
SpringBoot系列之RabbitMQ使用实用教程 @ 目录 1. 消息队列概述 1.1 MQ的概述 1.2 MQ目的地形式 2. 消息队列实现方式 2.1 常见MQ框架 2.2 MQ实现方式 3 ...
随机推荐
- DataX异构数据源离线同步工具json文件配置说明
DataX 是阿里开源的一个异构数据源离线同步工具,致力于实现包括关系型数据库(MySQL.Oracle等).HDFS.Hive.ODPS.HBase.FTP等各种异构数据源之间稳定高效的数据同步功能 ...
- LoRa和NB-IoT会长期共存吗?
物联网有很多无线通信技术,主要是Zigbee,WiFi,蓝牙和Z-wave等短距离通信技术,另一种是LPWAN.LPWAN的两种类型之一在未授权的频谱上工作.另一种是2G/3G/4G蜂窝通信技术,该技 ...
- ES6 伪数组转真数组
更新日志 2022年6月13日 发布. 2022年5月19日 笔记迁移到博客. 直接上代码 [...a];
- 合宙AIR105(四): SPI, MAX7219 8x8LED驱动
目录 合宙AIR105(一): Keil MDK开发环境, DAP-Link 烧录和调试 合宙AIR105(二): 时钟设置和延迟函数 合宙AIR105(三): 定时器, 定时器中断和PWM输出 合宙 ...
- 关于swiper插件在vue2的使用
最近做项目用到了vue-awesome-swiper,总结一下使用方法 第一步:安装依赖 npm install swiper vue-awesome-swiper --save or npm ins ...
- RPA应用场景-公积金贷款业务数据整合和报送
场景概述 公积金贷款业务数据整合和报送 所涉系统名称 个贷系统.公积金管理系统 人工操作(时间/次) 0.5小时 所涉人工数量1000操作频率 每日 场景流程 1.机器人整理个人贷款信息.个人贷款账户 ...
- jfinal中如何使用过滤器监控Druid监听SQL执行?
摘要:最开始我想做的是通过拦截器拦截SQL执行,但是经过测试发现,过滤器至少可以监听每一个SQL的执行与返回结果.因此,将这一次探索过程记录下来. 本文分享自华为云社区<jfinal中使用过滤器 ...
- Python 用configparser读写ini文件
一.configparser 简介Python用于读写ini文件的一个官方标准库.具体详见官网链接 二.configparser 部分方法介绍 方法 描述 read(filenames) filesn ...
- 使用Tapdata一步搞定关系型数据库到MongoDB的战略迁移
摘要:数据库作为最关键的基础设施,随着互联网时代的信息高速增长,关系型数据库因其高门槛.高成本以及扩展性差等原因导致的局限性逐渐浮出水面,如今更是面临诸多问题和挑战,Tapdata 专注新一代实时 ...
- java的Test 如何使用@Autowired注解
1.配置来至bean.xml @RunWith(SpringJUnit4ClassRunner.class) @ContextConfiguration(locations = "class ...