標籤:
極光推送外掛程式安裝地址:
https://github.com/jpush/jpush-phonegap-plugin
安裝外掛程式後,需要在AndroidManifest.xml中配置極光平台申請的App Key:
<meta-data android:name="JPUSH_APPKEY" android:value="aca4b37e5c00d477b*****" />
在JPushPlugin.java檔案的22行處有報錯,需要把這裡修改為你自己的主包名。
外掛程式中JpushPlugin.js中setTags方法存在bug,需要在data參數加上[],如下所示:
JPushPlugin.prototype.setTags = function(data){ try{this.call_native("setTags",[data],null);}catch(exception){console.log(exception);}}
另外由於極光推送外掛程式使用了PhoneGap的device外掛程式,因此需要安裝它:
cordova plugin add org.apache.cordova.device
如果需要對所有使用者推送資訊,只需要在App啟動時初始化外掛程式即可:
document.addEventListener("deviceready",function(){//外掛程式初始化window.plugins.jPushPlugin.init();}, false);
如果需要對某一個使用者進行推送,需要在外掛程式初始化後,擷取使用者的裝置ID,並儲存至服務端:
document.addEventListener("deviceready",function(){//外掛程式初始化window.plugins.jPushPlugin.init();
window.plugins.jPushPlugin.getRegistrationID(function(id){//將擷取到的id存入服務端}); }, false);
如果需要對某一類人推送資訊,可以為裝置設定tag,比如為同年級同專業的使用者佈建相同的tag:
//登入後設定tag,tag格式為‘tag_‘+年級id+‘_‘+專業id,如下所示,多個標籤用逗號隔開var tag = ‘tag_16_1‘;//為當前裝置設定tagwindow.plugins.jPushPlugin.setTags(tag);//退出登入時,清除tag,就不會再接收到推送資訊了window.plugins.jPushPlugin.setTags(‘‘);
點擊通知欄的回調方法:
//點擊通知欄的回調,在這裡編寫特定邏輯window.plugins.jPushPlugin.openNotificationInAndroidCallback= function(data){console.log(data);}
data的格式類似於下面的例子,解析JSON資料即可完成自訂邏輯:
{ "alert": "你好 , 這是靈動工大推送的一條資訊", "extras": { "cn.jpush.android.MSG_ID": "692692481", "app": "com.jiusem.jingle", "cn.jpush.android.ALERT": "詳細內容", "cn.jpush.android.EXTRA": "{"article_id":1}", //文章id "cn.jpush.android.PUSH_ID": "692692481", "cn.jpush.android.NOTIFICATION_ID": 692692481, "cn.jpush.android.NOTIFICATION_TYPE": "0" }}
好了,上面的配置完成後,就可以在極光後台進行通知的推送了。
當然,極光推送的內容遠比上面介紹的要多,還支援自訂訊息和富媒體訊息的推送,這裡只是做一個簡單的介紹和入門,具體請移步官方文檔。
另外,除了在極光後台進行推送操作,還可以利用極光提供的服務端SDK或API來完成該工作,請參考我其他的文章。
PhoneGap實現資訊推送-基於極光推送(Android版)