Android性能优化之捕捉崩溃情况推送到钉钉

金九银十跳槽季如何进阶找到合适满意的工作?

作者:在寻找雪见的景天 (源码和Demo见文末

来源:https://www.jianshu.com/u/3a5162ea1c99

前言

开发过程中,发测了,如果遇到崩溃情况,想记录下来有哪几个方法?一、用bugly,设置是开发模式,崩溃了会马上上报。二、收集崩溃信息发送到邮箱。那现在再试一种方式,就是推送崩溃信息到钉钉。

钉钉机器人了解

我们参考钉钉的开发文档:自定义机器人(https://open-doc.dingtalk.com/docs/doc.htm?spm=a219a.7629140.0.0.XJQ2yZ&treeId=257&articleId=105735&docType=1),先要登录pc版或者网页版的钉钉,然后在聊天群页面增加一个机器人:

记住这个hook地址,这个其实就是相当于一个请求接口。

开始使用机器人

获取到Webhook地址后,用户可以使用任何方式向这个地址发起HTTP POST 请求,即可实现给该群组发送消息。注意,发起POST请求时,必须将字符集编码设置成UTF-8。

当前自定义机器人支持文本(text)、连接(link)、markdown(markdown)三种消息类型,大家可以根据自己的使用场景选择合适的消息类型,达到最好的展示样式。具体的消息类型参考下一节内容。

自定义机器人发送消息时,可以通过手机号码指定“被@人列表”。在“被@人列表”里面的人员,在收到该消息时,会有@消息提醒(免打扰会话仍然通知提醒,首屏出现“有人@你”)

比如,我想推送文本信息:

我们请求一个接口,接口地址就是上面的hook地址,请求方式为post,然后设置post的内容为上面这段。那钉钉里面就会收到信息。

崩溃信息收集

知道钉钉的推送原理后,其实我们只要把崩溃信息保存下来,然后请求一下,就可以把崩溃信息推送到钉钉了。我们在网上找到一个收集异常信息的类:

就这样完成了推送应用崩溃信息到钉钉群的功能。

拓展

可以利用bugly的异常报告功能,直接推送崩溃异常情况到钉钉。bugly那里可以设置,每天早上9点,会推送一段json信息到你的接口。但这个接口,你要处理一下,不能直接填上面hook的地址,因为bugly推送的json,和上面钉钉发送的json不是一样的。所以,你需要写一个php,例如:

这个php其实就是做了一个中转的功能,把bugly传过来的数据,进行解析,然后整理出你想发到钉钉群的内容,再调用钉钉那个接口,把数据推送到钉钉。整个流程大概就这样。

你有什么想说的?欢迎留言区留言讨论!

最后,欢迎大家加入我们的知识星球,这期是到2019年3月10日结束,所以越早加入越好,现在加入的球友快1000人了,到1000人时将大幅提价(还有最后几十个名额了),所以快上车!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20180916B00K7Y00?refer=cp_1026
  • 腾讯「云+社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。

扫码关注云+社区

领取腾讯云代金券