極光推送+科大訊飛實現推送消息語音播放初步實現

最近公司有個需求,就是給客戶推送語音,簡單分析了邏輯,打算採用極光推送+科大訊飛的方式來實現這個需求。

對於極光推送,這個也沒啥說的,還是先一步一步的來吧,先實現簡單的文字推送信息再說吧

註冊開發者賬號

       註冊這個是哪個開放平臺都繞不過去的一關,先去極光平臺https://www.jiguang.cn/,一把梭的註冊一把,一般來說

簡單的足夠使用了,沒啥特別的。然後是創建應用,這個也沒啥說的,就是沒用的童鞋可能有點生,用過的老司機就不說了

      

需要注意點就是包名這個字段,一定要填對,要不可是接受不到推送的消息了,另外根據包名生成的key 和密鑰要保存好

因爲這個東西還要發給服務器端的開發人員去配置,哈哈,到時候別不知道怎麼配合就行了,

         上邊的這個東西配置好了,那剩下的碼代碼了, 這個建議第一次接觸的同學,去下載極光平臺根據包名生成的demo

然後結合極光的開發文檔,進行測試推送,基本上一遍過,哈哈。

 開發配置

  這個大概講一下就行了,這個極光的開放文檔的做的很是詳細,https://docs.jiguang.cn/jpush/client/Android/android_sdk/

按照文檔上一步一步操作,個人建議還是去demo上直接copy,這個原因嗎,相信大家都懂的。

一般就是先配置遠程倉庫,先配置外層projet的,然後配置裏面Moudle的。這個認真一些就好了

有一點要說的就是配置nbk的時候,看自己應用場景,一般

abiFilters "armeabi-v7a",這個基本夠用了,對於這塊要求高的話,那就多加幾種,但是這apk體積難免會稍微大一些

 

 接着就是配置清單文件中的內容,先配置權限,去複製,沒啥說的,高版本適配就行,然後去複製

 一些service,還有自定義的Receiver,以及一些其它組件,這個多多複製,然後把對應的地方的包名修改爲自己的即可

這個基本上就完成一大半了,剩下的就是在application中進行初始化,init一下,搞定。記得把debug模式打開哈

JPushInterface.setDebugMode(true);

JPushInterface.init(this);

測試推送

這個前期服務端沒有搞好的話,可以自己先推送一下試試,熟悉一下那個Receiver裏面的東西,這個在極光自己的後臺

就可以直接搞,很是方便,推送分一般的通知,自定義,富媒體。常用的也就這幾種了。再細分的話,通知和自定義

用戶的最多,

在你填完消息之後,如果前邊的東西配置沒有錯誤的情況,這個時候你的手機通知欄應該會接到消息,還帶着你應用的小圖標啥的,以及你填寫的一些內容。走到這,基本上完成了推送的集成。

下邊說一下這個MyReceiver,這個個人認爲最重要哈,以爲處理的代碼一般都在這,比方說用戶點擊消息之後跳轉界面

以及對自定義消息佈局,什麼的,包括高版本的適配。

這個集成一個 BroadcastReceiver,然後重寫了Receive,在這個裏面,根據極光提供的一個接口,裏面的action動作,

跟回傳的intent攜帶的動作,進行對比。從而實現對應的邏輯。這個裏面都有註釋,包括demo裏面也是。

需要說明的一點是,一般通知攜帶的東西,在bundle裏面,通知這個和一些字段,來獲取推送過來的消息

 

通過字段進行操作,然後進行一些邏輯的操作,比方說語音播報的邏輯。可以通過extra的字段,來區分那種消息,然後

去合成messgae的文字進行語音播放。或者通知自定義消息,直接進行json串的加入也是可以的。總之這個地方可操作度

很高,可以根據自己的需求靈活操作。

 高版本適配

這個實際上沒啥說的,比較簡單,就是消息渠道,以及分類上的操作,如果有分組或者進一步的需求,需要做進一步的

適配操作,不過貌似也就那麼幾行代碼,因爲我這對兼容性要求不高,所以沒怎麼處理

別名的應用

因爲場景需求,還得加上別名以及Tags的設置,這個一般寫在登錄或者註冊時候,以用戶的手機號或者暱稱或者uid,作爲

一個別名去設置,因爲tags一般適用的是羣體推送,像推送一些活動消息,版本更新等等,別名適合做單獨推送,區分

單獨用戶做一些內部消息推送。這個邏輯的話,比較推薦官方文檔上的寫法。

至於其他的操作,也沒啥了。至於科大訊飛的語音操作,需要在onReceive裏面進行操作合成,以及相關的播放了。

這個到下一篇會單獨拉出來說一下,以及中間遇到一些坑,也分享一下。 

總的來說,極光推送類似於長連接加通知欄消息顯示,但是大廠的東西做的比較完善,比較值得使用。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章