移動端獲取jPush推送消息,并點擊進入詳情译荞,首先要設(shè)置別名和標簽陵吸、獲取設(shè)備id綁定到后臺,才可以接收推送消息呐芥。
具體參考官方文檔: http://docs.jiguang.cn/jpush/client/client_plugins
//JPush推送
document.addEventListener("deviceready", () => {
if (ons.platform.isIOS()) { //清空IOS中應用角標,服務器和本地
window.JPush.resetBadge();
window.JPush.setApplicationIconBadgeNumber(0);
}
window.JPush.init();
window.JPush.resumePush();//恢復推送
//設(shè)置別名與標簽
window.JPush.setTags({ sequence: 1, tags: tags});
window.JPush.setAlias({ sequence: 1, alias: alias});
//設(shè)置別名標簽的監(jiān)聽事件
document.addEventListener("jpush.setTagsWithAlias", function (event: any) {
console.log("result code:" + event.resultCode + "tags:" + event.tags + "alias:" + event.alias);
}, false);
//獲取設(shè)備ID
window.JPush.getRegistrationID(function (data: any) {
try {
registrationID = data;
localStorage.setItem("registrationId", data); // 根據(jù)需要存到本地
if (data.length == 0) {
console.log("JPushPlugin:registrationID length is 0");
} else {
console.log("JPushPlugin:registrationID length is", registrationID);
//調(diào)用接口進行綁定
}
} catch (exception) {
console.log(exception);
}
});
//點擊消息進入詳情頁
document.addEventListener("jpush.openNotification", (event: any) => {
console.log("獲取到的消息內(nèi)容:",event);
if (device.platform == "Android") {
//獲取消息ID逻杖,用于獲取詳情
messageId = event.extras.push_page_url;
openMessageType = event.extras.push_type;
if (messageId && openMessageType === 'message') {
// 獲取消息詳情
}
//無詳情消息內(nèi)容直接打開App
else if (openMessageType === 'onlyopenapp') {
window.navigator.resetPage({
key: 'key',
component: component,
}, null);
}
} else { // IOS
messageId = event.push_page_url;
openMessageType = event.push_type;
if (messageId && openMessageType === 'message') {
// 獲取消息詳情
}
//無詳情消息內(nèi)容直接打開App
else if (openMessageType === 'onlyopenapp') {
window.navigator.resetPage({
key: 'key',
component: component,
}, null);
}
}
}, false);
//獲取應用版本信息,進行版本對比檢查
(window as GlobalDefinitions).chcp.getVersionInfo(this.getVersionInfoCallback.bind(this));
}, false);
document.addEventListener("resume", () => {
if (ons.platform.isIOS()) {//清空IOS中應用角標,服務器和本地
window.JPush.resetBadge();
window.JPush.setApplicationIconBadgeNumber(0);
}
}, false);