文檔,推送到達效果,客服等都還算不錯,所以這裏極光官方插件集成到項目上的方法介紹下。
插件安裝:
https://github.com/jpush/jpush-phonegap-plugin
cordova plugin add https://github.com/jpush/jpush-phonegap-plugin.git --variable API_KEY=your_jpush_appkey
插件配置修改
在插件目錄下src/android/JPushPlugin.java
將import your.package.name.R替換爲import *****;
package即是config.xml中的widgetId
在插件目錄下src/ios\PushConfig.plist ,修改對應的APP_KEY和CHANNEL(渠道)
<key>CHANNEL</key>
<string>App Store</string>
針對運行,安卓環境下提示缺少統計代碼問題,解決辦法如下:
在運行中會一直顯示缺少統計代碼,對java文件,文件位置 platforms/android/src/com/ionichina/ioniclub/MainActiovity.java文件作如下修改
import cn.jpush.android.api.JPushInterface;
@Overrideprotected
void onResume() {
super.onResume();
JPushInterface.onResume(this);
}
@Override protected void onPause() {
super.onPause();
JPushInterface.onPause(this);}
在使用中,方法請參考官方doc,這裏貼下使用中的主要代碼:
//啓動極光推送服務
window.plugins.jPushPlugin.init();
//調試模式,這樣報錯會在應用中彈出一個遮罩層顯示錯誤信息
window.plugins.jPushPlugin.setDebugMode(true);
var onReceiveNotification = function (event) {
try {
console.log('接收新的推送通知');
//var alert = event.aps.alert;//通知內容
window.plugins.jPushPlugin.setBadge(event.aps.badge);
console.log("JPushPlugin:onReceiveNotification key aps.alert:" + alert);
}
catch (exeption) {
console.log(exception)
}
};
//打開通知
var onOpenNotification = function (event) {
try {
console.log('打開通知消息');
window.plugins.jPushPlugin.setBadge(0);
window.plugins.jPushPlugin.resetBadge();
window.plugins.jPushPlugin.setApplicationIconBadgeNumber(0);
$state.go('app.bookshelf');
}
catch (exeption) {
console.log(exception)
}
};
document.addEventListener("jpush.receiveNotification", onReceiveNotification, false);
document.addEventListener("jpush.openNotification", onOpenNotification, false);