为什么您的iPhone应用程序(和网站)必须具有错误监控系统

那么什么是错误监视系统? 您可能熟悉崩溃报告,当应用崩溃时,崩溃报告会向您发送所有详细信息,以便您快速解决问题。 好吧,错误监视非常相似。 每当您的应用中发生错误时,它都会向您发送报告,而不是向您发送崩溃报告。

重要的是,让我告诉您我的一位客户。 雇用我的对话非常迅速:

首席执行官:“我有一个使用Parse的iPhone应用程序。 自从我们迁移到Parse Server以来,Facebook登录不起作用。”

我:“好吧,我最近使用解析处理了一个应用程序,因此我可能会有所帮助。 您知道您遇到什么样的错误吗?”

首席执行官:“我们的用户遍布Facebook,App Store和Twitter,因为他们无法登录。 他们不断回到签名屏幕。”

我:“好吧,您还知道其他吗?”

首席执行官:“不是,我们的CTO几个月前就离开了,我现在有一个新的CTO,但是我希望他专注于即将发布的版本。 您认为这可能需要多长时间?”

我:“不知道。 您不知道会遇到什么样的错误,因此首先我将不得不熟悉您的代码,然后找出正在发生的事情,然后找出如何解决它……这不会很便宜。”

首席执行官:“什么时候可以开始?”

我:“明天”

首席执行官:“您被录用了……”

好的,这些不是引号,关于钱的话题也很简短,但是您知道了。

因此,第二天我参加了会议。我再次尝试从首席执行官那里获得有关该问题的更多详细信息,但是我什么也没得到。 我所获得的只是访问该应用程序所有内容的凭据(github帐户,AWS帐户,crashlytics帐户等),然后我就离开了。 我先查看应用程序的代码,看看是否发现明显的问题。 您可以听到我的时钟在后台滴答作响。 然后,由于我在iPhone应用程序中没有任何运气,我跳上服务器查看日志,看看是否有任何事情发生在我身上。 仍然没有运气,我的时钟还在滴答作响。 然后,我查看了服务器代码,更多的滴答声仍然没有运气。

在这一点上, 我在该项目上花费了大约8到10个小时,但仍未接近解决方案 。 因此,我愿意做我所有项目的第一天的工作:在应用程序中安装 Rollbar (或类似的应用程序日志记录系统),以便我们可以看到用户遇到的错误,在登录流程中尽可能多地定位并将该应用发送给他的TestFlight用户。 然后等待,看看我们又得到了什么错误。

肯定在一个小时内 ,我们又得到了一些错误,并返回了准确的错误号,该错误号是Parse Server抛出的错误。 再次我们终于知道我们的用户正在经历什么 。 现在请记住,这并不意味着问题已解决,这仅意味着我们知道问题所在。

因此,CEO不得不给我大约10/15个小时的报酬, 以了解我们面临的问题 。 因为他的原始团队没有养成记录那些您不想在MVP中处理的错误的习惯,所以您可以专注于快速迭代。

我对MVP的策略如下:

  • 创建每个人都会使用的代码
  • 仅处理您知道会发生的错误情况并检测所有错误情况(无论大小如何)
  • 稍后,如果我发现很多用户遇到了问题,则可以编写代码来修复它

每个错误情况的检测时间约为20秒。 如果您做数学运算,那么我花了10个小时来弄清楚问题是什么,就算是检测1800个错误……

因此,谈到您的业务时,明智的选择是对您的应用程序进行检测。 仪器很便宜,很有效,您可以在用户实际告诉您之前了解问题 。 这样可以提供更好的支持电子邮件回复:“我们知道这个问题,对于给您带来的不便,我们深表歉意,明天我们将修复此问题。”该死,您甚至可以向所有遇到问题的用户发送电子邮件,如果问题足够大。