Expo大作战(十七)--expo结合哨兵(sentry)进行错误异常记录
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网
我猜去全部机翻+个人修改补充+demo测试的形式,对expo进行一次大补血!欢迎加入expo兴趣学习交流群:597732981
【之前我写过一些列关于expo和rn入门配置的东i西,大家可以点击这里查看:从零学习rn开发】
相关文章:
Expo大作战(一)--什么是expo,如何安装expo clinet和xde,xde如何使用
Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题
Expo大作战(三)--针对已经开发过react native项目开发人员有针对性的介绍了expo,expo的局限性,开发时项目选型注意点等
Expo大作战(四)--快速用expo构建一个app,expo中的关键术语
Expo大作战(五)--expo中app.json 文件的配置信息
Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
Expo大作战(七)--expo如何使用Genymotion模拟器
Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流
接下来就开始撸码
使用哨兵(Sentry)
Sentry是一个崩溃报告和聚合平台,可为您提供“实时洞察生产部署信息以重现和解决崩溃问题”。
它会通知您用户在使用应用程序时遇到的例外情况,并组织您从他们的Web仪表板进行分类。自动报告的异常包括源映射堆栈跟踪和其他相关上下文(设备ID,平台,Expo verison等);您还可以提供特定于您的应用程序的其他上下文,如当前的路由和用户标识。
为什么Sentry?
Sentry对待React Native是一流的公民,我们与Sentry合作确保expo也是如此。这很容易设置和使用。
它的规模可以满足甚至最大的项目的需求。
它适用于大多数平台,因此您可以使用相同的服务来报告您的服务器,CLI或桌面应用程序错误,就像您用于Expo应用程序一样。
我们相信它为我们在expo的项目。
每个月最多可以有10,000个活动免费。
将Sentry添加到您的exoi项目中
注册一个Sentry帐户并创建一个项目
一旦你注册,你将被提示创建一个项目。输入您的项目名称并继续。
现在系统会提示您配置您的应用程序,单击“获取您的DSN”链接并复制您的“公共DSN”,您很快就会需要它。
转到Sentry API部分并创建一个授权令牌。您可以使用默认配置,该令牌将永远不会提供给您的应用的用户。复制您的授权令牌并保存以备后用。
转到您的项目仪表板,转到sentry.io并点击屏幕顶部的“选择项目”,然后选择您的项目。这是您将在后面看到异常情况的地方。现在,点击右上角的“项目设置”,然后复制项目“短名称”。然后点击左上角的图标以显示您帐户中的组织。点击设置齿轮图标并复制组织短名称。你将需要这个信息为你的app.json设置。
安装并配置Sentry
确保您使用支持异步/等待的Node的新版本(Node7.6+)
在你的项目中,安装expo整合:
npm i sentry-expo --save在您的应用的主文件中添加以下内容(默认为App.js)。
import Sentry from 'sentry-expo'; // Remove this once Sentry is correctly setup.
Sentry.enableInExpoDevelopment = true; Sentry.config('your Public DSN goes here').install();打开app.json并添加一个postPublish钩子:
{
"expo": {
// ... your existing configuration "hooks": {
"postPublish": [
{
"file": "sentry-expo/upload-sourcemaps",
"config": {
"organization": "your organization's short name here",
"project": "your project short name here",
"authToken": "your auth token here"
}
}
]
}
}用源地图发布您的应用程序(Publish your app with sourcemaps)
使用postPublish挂钩后,现在您只需点击发布即可自动上传源地图。根据您在app.json中指定的版本和我们后端的发布ID,我们会在您每次点击发布时自动为Sentry分配一个独特发布版本 - 这意味着如果您忘记更新版本但点击发布,您仍然会获得独特的Sentry版本。如果你不熟悉在expo上发布,你可以在这里阅读更多。
报告语义错误
为了确保可靠地报告错误,Sentry推迟将数据报告给它们的后端,直到下次您在致命错误后加载应用程序,而不是在捕获异常时报告它为止。它将堆栈跟踪和其他元数据保存到AsyncStorage,并在应用程序启动时立即发送。
在dev中默认禁用
除非在调用
Sentry.config({...}).install()之前设置了Sentry.enableInExpoDevelopment = true,否则所有开发/本地错误都将被忽略,只有应用程序版本会向Sentry报告错误。你可以调用像entry.captureException(new Error('Oops!'))这样的方法,但是这些方法将是no-op。了解更多关于哨兵
Sentry不仅仅是捕捉致命错误,更多地了解如何使用Sentry。
下一张继续介绍,这一篇主要介绍了:expo结合哨兵(sentry)进行错误异常记录, 欢迎大家关注我的微信公众号,这篇文章是否被大家认可,我的衡量标准就是公众号粉丝增长人数。欢迎大家转载,但必须保留本人博客链接!
Expo大作战(十七)--expo结合哨兵(sentry)进行错误异常记录的更多相关文章
- Expo大作战(十)--expo中的App Icon,expo中的Assets,expo中的ErrorHandling错误处理
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(五)--expo中app.json 文件的配置信息
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(七)--expo如何使用Genymotion模拟器
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(十三)--expo如何自定义状态了statusBar以及expo中如何处理脱机缓存加载 offline support
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(十一)--expo中的预加载和缓存资产(Preloading & Caching Assets),expo中的图标 (Icon)
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...
- Expo大作战(九)--expo的工作原理,以及版本发行说明
简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...
随机推荐
- CentOS-6.6安装配置Tomcat-7
安装说明 安装环境:CentOS-6.3安装方式:源码安装 软件:apache-tomcat-7.0.29.tar.gz下载地址:http://tomcat.apache.org/download-7 ...
- CentOS命令行连接带密码的wifi
安装工具包 yum install -y wpa_supplicant 确定我们要连接的wifi的名称和密码,名称为ESSID.这里假设wifi名称为TPLINK,假设密码为password,下面请注 ...
- JavaScript创建对象的方法汇总
JavaScript中的对象 ECMA-262把对象定义为:“无序属性的集合,其属性可以包含基本值.对象或者函数.”严格来讲,这就相当于说对象是一组没有特性顺序的值.对象的每一个属性或方法都有一个名字 ...
- CRM项目测试第一天
经过前几天代码的修改,界面的完善.主要的功能都实现了!今天主要是交换各组的项目,互相来测试,找bug. 在互相测试的过程,我听见有一组应该算是讨论的比价激烈的!我们组我们自己找到了bug,但是测试我们 ...
- .Net Core vs .Net Framework 如何为一个应用程序选择一个运行时(翻译)
.Net Core是下一件大事吗?我已经使用了一段时间了,我倾向认为它是.事实上,我们推测,在2018年,对这项技术熟练的开发人员将会有巨大的需求.但是它和.Net Framework的区别是什么?你 ...
- PowerBuilder编程新思维4:钩挂(界面美化与DirectUI)
<第二部分 Outside> PowerBuilder编程新思维4:钩挂(界面美化与DirectUI) PB的界面由于其封闭性,一直以来都是最大的弱项.自PB9.0开放了PBNI接口后,开 ...
- python的Web框架:初识Django
web应用程序 本质 socket服务端 浏览器本质是一个socket客户端 1. 服务器程序 socket请求 接受HTTP请求,发送HTTP响应. 比较底层,繁琐,有专用的服务器软件,如:Apac ...
- 进程监控工具supervisor
supervisor是一个python编写的进程管理工具, 可以方便的管理和监控进程. supervisor分为服务端supervisord和客户端supervisorctl. supervisor由 ...
- [SPOJ 687]Repeats
Description 题库链接 给出一个长度为 \(n\) 的字符串,求重复次数最多的连续重复子串. \(1\leq n\leq 50000\) Solution Code #include < ...
- Docker基础-端口映射与容器互联
1.端口映射实现访问容器 1.从外部访问容器应用 在启动容器的时候,如果不指定对应的参数,在容器外部是无法通过网络来访问容器内部的网络应用和服务的. 当容器中运行一些网络应用,要让外部访问这些应用时, ...

