简要:本系列文章讲会对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帐户并创建一个项目

注册一个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)进行错误异常记录的更多相关文章

  1. Expo大作战(十)--expo中的App Icon,expo中的Assets,expo中的ErrorHandling错误处理

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  2. Expo大作战(二)--expo的生命周期,expo社区交流方式,expo学习必备资源,开发使用expo时关注的一些问题

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  3. Expo大作战(五)--expo中app.json 文件的配置信息

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  4. Expo大作战(六)--expo开发模式,expo中exp命令行工具,expo中如何查看日志log,expo中的调试方式

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  5. Expo大作战(七)--expo如何使用Genymotion模拟器

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  6. Expo大作战(八)--expo中的publish以及expo中的link,对link这块东西没有详细看,大家可以来和我交流

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

  7. Expo大作战(十三)--expo如何自定义状态了statusBar以及expo中如何处理脱机缓存加载 offline support

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. Expo大作战(十一)--expo中的预加载和缓存资产(Preloading & Caching Assets),expo中的图标 (Icon)

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  9. Expo大作战(九)--expo的工作原理,以及版本发行说明

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,将全部来与官网 我猜去全部机翻+个人 ...

随机推荐

  1. linux使用find和crontab命令定期清理过期文件

    crontab 命令 crontab 命令是 Linux 中用来设定重复执行命令或脚本的工具.它能够在指定的时间段内,按照需求以某一时间间隔执行命令或脚本. crontab 的基本用法 crontab ...

  2. Jenkins使用TFS部署

    之前发表过一篇Jenkins的文章 使用Jenkins部署.Net应用程序 里面是使用GIT做的版本管理 今天更新下使用TFS做版本管理 首先在插件管理中搜索tfs,我这里因为已经装了,所以在已安装列 ...

  3. 手把手教你封装 Vue 组件并使用 NPM 发布

    Vue 开发插件 我们可以先查看Vue的插件的开发规范 我们开发的之后期望的结果是支持 import.require 或者直接使用 script 标签的形式引入,就像这样: ps: 这里注意一下包的名 ...

  4. Git学习系列之CentOS上安装Git详细步骤(图文详解)

    前言 最早Git是在Linux上开发的,很长一段时间内,Git也只能在Linux和Unix系统上跑.不过,慢慢地有人把它移植到了Windows上.现在,Git可以在Linux.Unix.Mac和Win ...

  5. 交换排序:冒泡排序vs快速排序

    在开发的过程中, 经常会遇到集合排序, 那么一般情况下, 我们都是使用list.OrderBy()的方式来排序, 也无需关注到里面算法的实现是个什么样子. 正好这几天准备回顾一下数据结构与算法. 首先 ...

  6. java中数据的传递方式到底是怎样的!

    今天早上我了一道有关java的题.主要考点是考java中值得传递方式. 之前我在javaoo里总结的是:基本数据类型中保存的是实际的值,引用数据类型保存的是被引用的内存地址,那么基本数据类型就是按值传 ...

  7. ibatis in的用法

    <dynamic-mapped-statement name="queryLabelservicecodeLogSize" result-class="java.l ...

  8. 获取当前iframe动态加载文档的href

    Insus.NET想实现一个功能,一个旧的站点A,它有两个网页logon.aspx和Default.aspx(登录成功能访问).由于某些原因,需另建一个新站点B,这个新站点B也有两个网页B_Index ...

  9. 语义化版本控制规范(SemVer)

    参考链接 https://semver.org/lang/zh-CN/ 语义化版本 2.0.0 (透过版本号的改变来传达信息.) 摘要 版本格式: 主版本号.次版本号.修订号 版本号递增规则如下: 1 ...

  10. (第一篇) 一步一步带你了解linq to Object

    要想学好linq to object 我们必须要先学习lambda 表达式,学习lambda 表达式呢我们必须了解匿名函数和匿名类及扩展方法,学习匿名函数,我们必须学会委托,这是本文的宗旨.下面开始第 ...