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