一区二区三区日韩精品-日韩经典一区二区三区-五月激情综合丁香婷婷-欧美精品中文字幕专区

分享

個推推送 SDK 集成之 Device Token

 codingSmart 2021-10-22

code小生 一個專注大前端領(lǐng)域的技術(shù)平臺公眾號回復(fù)Android加入安卓技術(shù)群

本文首發(fā)微信公眾號「code小生」,大家可以搜索關(guān)注,專注安卓技術(shù)分享。

由來

前段時間給APP增加推送功能,經(jīng)調(diào)研后接收到的結(jié)果是集成個推SDK,這從市場使用概率來看很不錯,畢竟個推、騰訊TPNS(原名信鴿)、極光、友盟等都是比較流行的廠家服務(wù),但對于開發(fā)者來講,更重要的是官方文檔是否易于閱讀?官方客服溝通起來是否便捷? ,一份優(yōu)秀的文檔說明可以節(jié)約很大的成本,相信各位開發(fā)者深有感觸吧。

問題產(chǎn)生

個推Android集成官方文檔:https://docs./getui/mobile/android/androidstudio/

按照上述文檔集成完畢后,無論哪款機(jī)型,總是獲取不到廠商token,但clientId可以獲取到,這是問題一。

廠商token有如下兩種查看方式,這兩種方式并不在集成文檔里,而是在Android常見問題里,

  1. 手機(jī)連接電腦,手機(jī)需開啟開發(fā)者調(diào)試模式,打開APP,在androidstudio編譯器logcat中過濾"Assist_",若成功打印token信息則表示廠商集成正常。
  2. 在個推后臺【消息推送】-【配置管理】-【應(yīng)用配置】中正常填寫保存廠商參數(shù)。然后在個推后臺【消息推送】-【配置管理】-【故障排查】-【檢測CID的狀態(tài)及信息:】中輸入CID查詢,看是否會返回廠商token。

其實(shí)還有一種方式,就是官方API提供的接口public void onReceiveDeviceToken(Context context, String deviceToken),但是該接口不是非必須實(shí)現(xiàn)的,而這個方法的回調(diào)前提是已經(jīng)獲得了廠商token,所以也不能排查啥問題。

從上面兩種方式中細(xì)心的你應(yīng)該注意到了細(xì)節(jié):廠商集成保存廠商參數(shù)

關(guān)于保存廠商參數(shù)這個很明確,在后臺就可以看到,目前只提供了主流手機(jī)廠商通道(華為、小米、OPPO、VIVO、海外通道)的配置,如圖:

我們需要做的就是在各個應(yīng)用市場找到我們的應(yīng)用(因?yàn)槲业膽?yīng)用是已經(jīng)上架的,如果是新創(chuàng)建,那么建議在創(chuàng)建的時候就打開)并為其打開推送服務(wù)就可以了;需要注意的是,華為需要多一步:在應(yīng)用的簽名信息里配置SHA256的值(如何獲取已經(jīng)上架應(yīng)用的SHA256的值,華為有給教程哈,很nice)。

這一步還是獲取不到廠商token,由此帶來的體驗(yàn)是:

服務(wù)端發(fā)送推送,手機(jī)端在線時可以收到,離線后就收不到。而服務(wù)端的發(fā)送代碼是同時發(fā)送了通知和透傳消息,所以服務(wù)端的發(fā)送代碼不準(zhǔn)備修改,是參照demo里寫的。

這里又有一個問題,什么是透傳消息?該如何理解透傳?

關(guān)于透傳消息,正確的理解是個推和手機(jī)廠商合作,所發(fā)出的消息會走各個手機(jī)廠商的通道,而不僅僅是個推自家的通道,透傳并沒有“穿透、強(qiáng)度、力度、高級”方面的意思,千萬別誤解了。透傳消息和通知是同級別的不同種類消息送達(dá)方式而已。

由于我是第一次集成,項(xiàng)目也是幫忙做,就沒細(xì)看太多,只取了集成需要的東西,好處是相關(guān)人員拉了個個推官方的技術(shù)支持群,所以后面我扔了很多問題,但基本答非所問。

再前面配置廠商參數(shù)的時候我也注意到oppo還是vivo在打開推送服務(wù)的時候,會有透傳消息的解釋,當(dāng)時我就感覺后端對我的引導(dǎo)有偏差,經(jīng)過和技術(shù)支持溝通,確定的結(jié)果如下:

  • 透傳消息只能在線接收到,離線根本就不會收到透傳消息
  • 離線能收到的是通知,和透傳消息無關(guān)

這下就明確了,在這之前的做法是一直糾結(jié)為什么離線收不到透傳消息,因?yàn)楹蠖私o我的錯誤引導(dǎo)是透傳應(yīng)該是離線的時候收到的,它有穿透之意,比通知更高級,這就是我為什么在前面要強(qiáng)調(diào)對透傳的理解。

進(jìn)一步根據(jù)技術(shù)支持的反饋,通知的顯示和點(diǎn)擊是不需要客戶端做處理的,只需要客戶端嚴(yán)格按照文檔要求配置icon和文本、服務(wù)端在發(fā)送通知的時候指定跳轉(zhuǎn)頁面即可,如果不指定跳轉(zhuǎn)頁面默認(rèn)跳轉(zhuǎn)APP首頁。而透傳消息的顯示需要客戶端做處理,也就是顯示通知欄的操作,但點(diǎn)擊跳轉(zhuǎn)工作同樣不需要客戶端去做。

探尋解決方案

到這里,基本的思路和邏輯清楚了,但依然有兩個問題未解決:

  1. 廠商集成如何做?在哪里?
  2. 為什么獲取不到設(shè)備token?根據(jù)官方提示,如果獲取不到設(shè)備token,那肯定app離線時收不到通知。

這兩個問題都是APP離線時才會觸發(fā),其實(shí)這兩個問題歸根結(jié)底還是同一個問題,就是廠商未集成。那么問題來了,我翻遍了個推Android集成文檔 也就是本文開始給出的鏈接,但就是找不到集成廠商的步驟,接下來就入坑了,我在各個應(yīng)用市場翻閱了推送服務(wù)相關(guān)文檔、檢查了各個推送服務(wù)的配置開關(guān)、嘗試release測試、換主流手機(jī)測試、詢問官方技術(shù)支持,但都一無所獲,技術(shù)支持最多的一句回復(fù)就是讓我看這個:

這個截圖其實(shí)就是Android常見問題中的第四個問題。

但這不是扯呢么,問題我知道在哪,我就是想知道廠商集成在哪里?我要文檔或者鏈接,最后實(shí)在不行了,準(zhǔn)備做最后的決戰(zhàn),直接@個推官方技術(shù)支持直接要鏈接,結(jié)果給我扔出來一個從未謀面的鏈接:https://docs./getui/mobile/vendor/androidstudio/ 打開后發(fā)現(xiàn),這太坑了吧,瞬間想罵兩句,但還是忍住了,因?yàn)槲易罱诳匆槐緯度松幪幨切扌小饭?/p>

我們來看下官方文檔的整體分布:

Android和多廠商居然是平級關(guān)系,更可恨的是集成多廠商之前必須先集成Android個推SDK,也就是我們前面做過的工作。那么接下來就集成唄,照著文檔完畢后在控制臺果然看到了夢寐以求的device token ,然后再去根據(jù) clientId 查詢廠商token,果然有值,需要注意的是離線的測試必須是官方支持的主流機(jī)型(前面配置過的機(jī)型),華為的需要是release版本才可以測試結(jié)果。

解決問題后,跟官方技術(shù)支持提供了建議:

應(yīng)該在Android集成文檔里面提及到多廠商集成,或者至少加個超鏈接吧。得到的回復(fù)是他們建議一下,我就知道他們多半不是直接的個推官方技術(shù)。

總結(jié)

這次之所以爬坑最主要的失誤有兩個;

  1. 沒有提前了解相關(guān)術(shù)語的目的,被誤解帶偏
  2. 對于提供的技術(shù)支持要有正確的認(rèn)識(很多其實(shí)都是商務(wù),不是官方直接的技術(shù))

額外提及一點(diǎn),在集成多廠商的時候,碰到關(guān)于服務(wù)端配置消息(通知和透傳消息)點(diǎn)擊事件的intent值,官方文檔有如下描述:

圖中紅色部分的配置方式正式Android集成文檔里提及的方式,而這里又不建議使用,這不是坑人嘛!我為了安全起見,根據(jù)官方提供的生成方式,在安卓端生成后發(fā)給后端使用,各位如遇到這個問題希望這里能幫到你,本文已結(jié)束。

我是code小生,喜歡可以隨手點(diǎn)個評論一下,謝謝~

    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多

    欧美丝袜诱惑一区二区| 日本一区二区三区黄色| 激情丁香激情五月婷婷| 不卡中文字幕在线视频| 亚洲精品国产精品日韩| 亚洲综合日韩精品欧美综合区| 精品人妻av区波多野结依| 国产在线一区二区免费| 国产一区日韩二区欧美| 色婷婷日本视频在线观看| 亚洲一区二区三区精选| 中国一区二区三区不卡| 国产色偷丝袜麻豆亚洲| 在线欧洲免费无线码二区免费| 欧美午夜视频免费观看| 欧美黑人在线精品极品| 不卡视频免费一区二区三区| 亚洲免费视频中文字幕在线观看 | 粉嫩内射av一区二区| 精品人妻久久一品二品三品| 91精品蜜臀一区二区三区| 婷婷色国产精品视频一区| 欧美日韩乱一区二区三区| 中文字幕人妻一区二区免费| 中国日韩一级黄色大片| 亚洲精品成人福利在线| 欧美日韩国产精品第五页| 国产午夜免费在线视频| 免费久久一级欧美特大黄孕妇| 色一欲一性一乱—区二区三区| 加勒比人妻精品一区二区| 日本妇女高清一区二区三区| 日本视频在线观看不卡| 国产精品香蕉一级免费| 欧美国产日本免费不卡| 国产又猛又黄又粗又爽无遮挡| 国产精品免费无遮挡不卡视频| 亚洲永久一区二区三区在线| 色鬼综合久久鬼色88| 青青操成人免费在线视频| 亚洲欧美日韩中文字幕二欧美|