摘要:之前做過一個用到了消息推送,最近這個項目又用到了推送。限制命名長度限制為字節(jié)判斷長度需采用編碼。參考文獻(xiàn)插件文檔極光推送文檔
前言
說一下寫這篇文章的初衷。之前做過一個APP用到了消息推送,最近這個項目又用到了推送。但是由于兩個項目間隔4個多月,推送集成、使用方式等都忘了,所以當(dāng)時又去看了以前項目的源碼和一些推送相關(guān)的博客,尋找那些蛛絲馬跡。突然覺得這樣很浪費時間,為何自己不寫篇文章總結(jié)一下呢,以后肯定還會用到推送的,下次用的時候再看看這篇文章,思路應(yīng)該會比較直觀。后來再想想,嗯,對的,寫吧!
PS:這篇文章講是基于cordova環(huán)境下的消息推送,如果沒有cordova環(huán)境的,請先裝好該環(huán)境。 正文 1.cordova創(chuàng)建APP項目cordova create myAPP com.muzi.test 創(chuàng)建一個文件名為myAPP,APP包名為com.muzi.test的項目
cordova platforms add android 將創(chuàng)建的項目加入到Android平臺中
具體的一些cordova操作可以看我之前寫的一篇博客 從這里飛過去
https://www.jiguang.cn/accoun...
這里填入的包名(填入保存之后不能再修改)就是開始cordova創(chuàng)建項目是的包名,兩處包名必須相同,不然不能推送,保存之后可以下載集成好極光推送的demo,也可以下載打包好的測試app進(jìn)行推送測試。(因為公司產(chǎn)品特殊,只面相Android用戶,所以對其他平臺的推送使用不是那么熟悉,這里就只介紹Android端的使用)
3. 安裝極光推送插件 jpush-phonegap-plugin進(jìn)入到剛開始cordova創(chuàng)建的項目文件根目錄,安裝插件,一共有3中方式:
通過 Cordova Plugins 安裝,要求 Cordova CLI 5.0+:
cordova plugin add jpush-phonegap-plugin --variable APP_KEY=your_jpush_appkey
或直接通過 url 安裝:
cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable APP_KEY=your_jpush_appkey
或下載到本地安裝:
cordova plugin add Your_Plugin_Path --variable APP_KEY=your_jpush_appkey
安裝插件的時候,注意Jpush和jcore的版本,有些版本不能初始化推送
your_jpush_appkey:在極光推送創(chuàng)建應(yīng)用時生成的APP_KEY
4.編碼 4.1 初始化JPushApp啟動時,在deviceready事件回調(diào)中調(diào)用window.JPush.init()方法初始化,可以調(diào)用window.JPush.stopPush()結(jié)束推送
document.addEventListener("deviceready",function(){ //插件初始化 window.JPush.init(); }, false );4.2 極光推送的推送方式
廣播(所有人)
設(shè)備標(biāo)簽(Tag)--可以是單人或者多人
設(shè)備別名(Alias)--可以是單人或者多人
registration ID(具體某一個)
用戶分群推送
4.3 獲取極光推送后臺返回的設(shè)備registration ID這個registration ID是唯一的,項目中接收到這個ID后可以存儲起來,然后發(fā)送給服務(wù)端,服務(wù)端可以根據(jù)這個registration ID向指定客戶端(手機(jī))發(fā)送推送消息
window.JPush.getRegistrationID(function(rId) { console.log(rId); });4.4 設(shè)置設(shè)備標(biāo)簽(Tag)
window.JPush.setTags({ sequence: 1, tags: ["tag1", "tag2"] }, (result) => { var sequence = result.sequence var tags = result.tags // 數(shù)組類型 }, (error) => { var sequence = error.sequence var errorCode = error.code })
參數(shù)說明
sequence: number。用戶自定義的操作序列號, 同操作結(jié)果一起返回,用來標(biāo)識一次操作的唯一性。
tags: Array,標(biāo)簽數(shù)組。
調(diào)用這個方法后,會向極光的服務(wù)端發(fā)送設(shè)置的Tag,設(shè)置后,會觸發(fā)相應(yīng)的回調(diào)函數(shù)
4.5 設(shè)置設(shè)備別名(Alias)window.JPush.setAlias({ sequence: 1, alias: "your_alias" }, (result) => { var sequence = result.sequence var alias = result.alias }, (error) => { var sequence = error.sequence var errorCode = error.code })
參數(shù)說明
sequence: number。用戶自定義的操作序列號, 同操作結(jié)果一起返回,用來標(biāo)識一次操作的唯一性。
tags: string
每次調(diào)用設(shè)置有效的別名將覆蓋之前的設(shè)置。
有效的別名組成:字母(區(qū)分大小寫)、數(shù)字、下劃線、漢字、特殊字符@!#$&*+=.|。
限制:alias 命名長度限制為 40 字節(jié)(判斷長度需采用 UTF-8 編碼)。
4.6 獲取推送消息內(nèi)容當(dāng)客戶端接收到推送消息時,會觸發(fā)這個方法,會返回一個json結(jié)構(gòu)的數(shù)據(jù)包,在里面可以取到需要的數(shù)據(jù)
// 接收到推送消息回調(diào) window.plugins.jPushPlugin.receiveNotificationInAndroidCallback = function( data ) { try { console.log( "JPushPlugin:receiveNotificationInAndroidCallback:", data ); } catch (exception) { console.log("JPushPlugin:pushCallback ", exception); } };4.7 點擊通知欄的推送消息
點擊通知欄的消息時,會觸發(fā)這個方法,并返回包含具體推送內(nèi)容的json數(shù)據(jù),可以根據(jù)里面的內(nèi)容,來做相應(yīng)的事件處理,比如說需要點擊通知欄消息,跳轉(zhuǎn)到相應(yīng)頁面做處理
//點擊通知欄的回調(diào),在這里編寫特定邏輯 window.plugins.jPushPlugin.openNotificationInAndroidCallback = function( data ) { try { // location.href = "index.html"; console.log(data); } catch (error) {} };4.8 更多推送相關(guān)的api,可以查看phonegap插件官網(wǎng) 4.9 推送測試
在初始化極光推送window.JPush.init()后,當(dāng)?shù)谝淮芜\行APP時會生成了registration ID,或者成功設(shè)置了標(biāo)簽(Tag),別名(Alias),可以在極光推送的官網(wǎng)上,進(jìn)行消息推送測試,如下圖:
當(dāng)推送初消息后,一會兒就會在手機(jī)上接收到推送信息(有時可能會有幾秒到10多秒的延遲,一般情況下是秒到)
廢話以上就是我使用jpush-phonegap-plugin插件推送的一些經(jīng)驗,希望能夠幫助到需要的道友。如果有錯誤或不足的地方,歡迎各位道友指出,如果各位覺得滿意,歡迎點贊和收藏。
參考文獻(xiàn)phonegap插件文檔
極光推送文檔
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/93881.html
摘要:極光推送是現(xiàn)在流行的推送方式因為官網(wǎng)的范例藏得比較隱蔽自己摸索了半天下面介紹下極光推送插件的安裝和代碼應(yīng)用以下是安卓安裝配置的后面項目完成了再補(bǔ)充一獲取極光推送上極光開發(fā)者服務(wù)官網(wǎng)注冊賬注意應(yīng)用名稱要和配置文件中的文件的程序名稱一致生成記錄 極光推送是現(xiàn)在流行的推送方式,因為官網(wǎng)的范例藏得比較隱蔽,自己摸索了半天,下面介紹下cordova極光推送插件的安裝和代碼應(yīng)用.以下是cordov...
摘要:極光推送是現(xiàn)在流行的推送方式因為官網(wǎng)的范例藏得比較隱蔽自己摸索了半天下面介紹下極光推送插件的安裝和代碼應(yīng)用以下是安卓安裝配置的后面項目完成了再補(bǔ)充一獲取極光推送上極光開發(fā)者服務(wù)官網(wǎng)注冊賬注意應(yīng)用名稱要和配置文件中的文件的程序名稱一致生成記錄 極光推送是現(xiàn)在流行的推送方式,因為官網(wǎng)的范例藏得比較隱蔽,自己摸索了半天,下面介紹下cordova極光推送插件的安裝和代碼應(yīng)用.以下是cordov...
摘要:極光推送是現(xiàn)在流行的推送方式因為官網(wǎng)的范例藏得比較隱蔽自己摸索了半天下面介紹下極光推送插件的安裝和代碼應(yīng)用以下是安卓安裝配置的后面項目完成了再補(bǔ)充一獲取極光推送上極光開發(fā)者服務(wù)官網(wǎng)注冊賬注意應(yīng)用名稱要和配置文件中的文件的程序名稱一致生成記錄 極光推送是現(xiàn)在流行的推送方式,因為官網(wǎng)的范例藏得比較隱蔽,自己摸索了半天,下面介紹下cordova極光推送插件的安裝和代碼應(yīng)用.以下是cordov...
摘要:先上項目目錄關(guān)與和項目整合的部分,參考我前面寫過的文章項目引入極光推送之所以會使用極光插件是因為極光本身就支持,所以優(yōu)先選擇的極光插件地址鏈接描述極光官網(wǎng)創(chuàng)建創(chuàng)建過程比較簡單就不一一截圖出來了需要注意的是中間那欄推送設(shè)置一定要設(shè)置,不然會獲 先上項目目錄showImg(https://segmentfault.com/img/bV8c0f?w=482&h=677); 關(guān)與vue和co...
摘要:開發(fā)者可以通過指定具體的來進(jìn)行對單一設(shè)備的推送。同一個應(yīng)用程序內(nèi),對不同的用戶,建議取不同的別名。其關(guān)鍵字分別為。確認(rèn)推送設(shè)備對象,提供了多種方式,比如別名標(biāo)簽注冊分群廣播等。 作者:黃志成(小黃)作者博客:博客地址 新版本推送的需求變的更加復(fù)雜.需要接入一個專業(yè)的推送了.之前一直基于APP的IM來實現(xiàn)的. 目前市面上主流的推送平臺有 極光、友盟、信鴿等等.. 通過調(diào)研最后選擇了 極...
閱讀 1457·2021-11-22 13:54
閱讀 4376·2021-09-22 15:56
閱讀 1828·2021-09-03 10:30
閱讀 1326·2021-09-03 10:30
閱讀 2092·2019-08-30 15:55
閱讀 1859·2019-08-30 14:13
閱讀 2066·2019-08-29 15:19
閱讀 2373·2019-08-28 18:13