AndroidAPP用邮件收集用户上报日志
?
在許多的Android項目?中,我們都會設置一個讓用戶提意見的功能,比較多的做法,就是申請一個郵箱,通過用戶反饋后讓內容發到郵箱中,然后查看。
? ? ? ?本篇的郵箱發送,屬于使用代碼進行發送第三方郵件,即本來你申請的是 139?的,然后卻用 QQ 郵箱去登錄,那肯定是不行的,所以需要申請授權碼,申請之后,就用賬號加授權碼發送即可。
? ? ? 注意的是,如果是公司郵箱,要去你們的郵箱配置服務器中,查看SMTP服務器,端口和是否開啟SSL,每個公司都不一樣,目前還未遇到不能用的情況
說明:由于筆者一直使用的事qq郵箱和139郵箱,互相發送,所有本片也是講的qq郵箱與39郵箱,163郵箱也是可以的。
對于個人開發者而言,個人app如何收集用戶日志,值得思考下。先從bugly等第三方的bug收集講起,他們這些只能收集部分日志信息,不完整,沒有完整的上下文,也不利于分析問題,另外是crash或者是exception下才會上報日志,有些業務并不會發生crash或者是exception,這不滿足自己的特定需求。如果是用日志文件的方式記錄日志呢,這個好,可以有完整的日志,要考慮的就是日志如何上傳的問題了。對于日志上傳,如果有自己的服務器,那么也好處理,但是對個人開發者而言,還得配置下才能將日志上傳到服務器,查閱也麻煩,有的并沒有服務器,有沒有低成本的實踐方式呢,有的,可以考慮用郵件上傳日志的方式。
在最后附上DEMO,下載后使用需要獲取自己qq郵箱授權碼到代碼中去,然后配置相關參數。
簡單介紹:
? ? ? 這是一個app上可以進行用戶反饋以及異常信息收集后生成文件以附件形式發送到郵箱,不一定完美,這樣的方式適用于個人pp和用戶量比較少的的app,如果用戶量過于龐大,這種方式就有很大劣勢,適合前期階段。采用的是郵件上傳日志文件的方式(日志文件是用異常生成日志),郵箱是用的qq郵箱,通過授權碼的方式,在客戶端發送郵件到指定郵箱,不用擔心賬號密碼泄漏。所有的日志都集中在郵箱中,查閱也相當方便。
郵箱中獲取授權碼:
1、登錄qq郵箱,在頂部選擇郵箱設置,如圖:
2、然后往下拉,看到下圖這個就可以了,把紅圈圈里的開啟
3、然后就會生成下圖中的這個授權碼
所以,這里添加一個 ZMailManager 的工具類。
關聯
allprojects {repositories {...maven { url 'https://jitpack.io' }} } implementation 'com.github.LillteZheng:ZMail:V1.0'主要代碼:
ZMailManager(封裝) 代碼:
//發送郵件/*** fromAddr -- 發送人郵箱,不填報錯* nickName -- 發送人的昵稱,不寫則默認為 test* password -- 授權碼,不填報錯,gmail 記得允許權限低的應用可以訪問的權限* host -- 配置 host 服務地址,默認根據發件人的郵箱來,比如 xx@qq.com ,則 host 為 smtp.qq.com* isSSLvertify -- 是否開啟SSL驗證,默認開啟,開啟是端口為465,不開啟則為25,建議開啟,很多郵箱都需要驗證 SSL的* port -- 根據isSSLvertify,開啟是端口為465,不開啟則為25,也支持自定義* subject -- 郵件主題,不寫默認 TEST* content -- 郵件內容,不寫默認 This is a test email* file -- 支持 url 和 本地文件,可多個* toAddrs -- 收件人,多個多個,必填,不填報錯*/ZMailManager.fromAddr(SEND_EMAIL).nickName("我是發送人").password(PASSWORD).host("smtp.qq.com")//是什么類型的郵箱就更改為什么類型,如為163郵箱 例:smtp.163.com.isSSLvertify(false).port(25).subject("TEST郵件").content("這里在demo中放入異常文本")//內容 // .file(getFile)//附件 // .file(new String[]{imageUrl})附件.toAddrs(new String[]{TO_EMAIL}).listener(this).send();如果需要知道更多詳細代碼:
百度網盤:戳這里? ? 提取碼:y4kd
CSDN通道:戳這里
總結
以上是生活随笔為你收集整理的AndroidAPP用邮件收集用户上报日志的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 达梦数据库如何把EXCEL的数据导入到表
- 下一篇: UE4 后期材质节点学习