plus.push.addEventListener('receive', function(message) {
console.log(plus.os.name + '-receive-message:' + JSON.stringify(message));
if (plus.os.name == 'iOS') { // 苹果
// 创建本地消息
console.log(plus.os.name == "iOS");
createLocalPushMsg(message.content, message.title, message.payload, message.aps);
} else { // 安卓
pushCallback(message, 'receive');
}
}, false)
// click手机上接收到的推送消息时,不管是苹果手机还是安卓手机,不管app在线还是离线,都会触发click事件
plus.push.addEventListener('click', function(message) {
console.log(plus.os.name + '-click-message:' + JSON.stringify(message));
pushCallback(message, 'click');
}, false)
function pushCallback(message, eventType) {
let payload = null;
if (gbFn.isJSON(message.payload)) { // iOS在线点击
payload = JSON.parse(message.payload);
} else if (typeof(message.payload) == 'object') { // iOS离线点击
payload = message.payload;
} else {
payload = null;
}
// payload.unit: 酒店code,根据此参数才能确定是哪家酒店的消息
// payload.functionCode: 功能点code,根据此参数才能确定是哪个功能点
// payload.msgType: 消息类型,根据此参数获取消息的展示页面地址
if (payload && payload.unit && payload.functionCode && payload.msgType) { // 此三个参数必传
const pageUrl = getPageUrl(payload.msgType); // 获取消息展示页的地址
if (pageUrl) { // 获取成功
// 跳转至消息页前的逻辑处理
pushHandle(payload.unit, payload.functionCode, pageUrl, payload.params);
} else {
recordOperateLog(null, {
log: '【消息推送】',
phoneType: plus.os.name,
eventType: eventType,
errorType: '跳转页面地址解析错误'
}, message, ajax_user_logtype.error)
}
} else {
console.log("消息格式未处理");
recordOperateLog(null, {
log: '【消息推送】',
phoneType: plus.os.name,
eventType: eventType,
errorType: '消息格式未处理'
}, message, ajax_user_logtype.error)
}
}
function createLocalPushMsg(content, title, payload, aps) {
var options = {
cover: false,
title: title
};
if (plus.os.name == "iOS") {
if (aps && aps.alert && aps.alert.title) {
options.title = aps.alert.title;
if (payload.unit && payload.functionCode && payload.msgType) {
plus.push.createMessage(content, JSON.stringify(payload), options);
}
}
}
}
- 发布:2022-04-22 11:15
- 更新:2022-04-22 12:07
- 阅读:226
【报Bug】用Alpha版3.4.6和3.4.6版本打的ipa包,点击消息通知无论是在线和离线都会出现闪退的情况,receive和click事件中的断点也未触发;
产品分类: HTML5+
HBuilderX版本号: 3.4.6
手机系统: iOS
手机系统版本号: iOS 14
手机厂商: 苹果
手机机型: iPhonex
打包方式: 云端
示例代码:
操作步骤:
同一套代码,分别用Alpha版3.4.6、3.4.6版本和正式版本的3.3.13的hbuilderx进行打ipa包,测试操作在线和离线的消息通知;
同一套代码,分别用Alpha版3.4.6、3.4.6版本和正式版本的3.3.13的hbuilderx进行打ipa包,测试操作在线和离线的消息通知;
预期结果:
无论操作在线还是离线信息通知,APP处于激活状态,分别跳转到对应页面;
无论操作在线还是离线信息通知,APP处于激活状态,分别跳转到对应页面;
实际结果:
Alpha版3.4.6、3.4.6版本打的ipa包,操作消息通知时,无论在线还是离线都会出现闪退,正式版3.3.13打的ipa包,消息通知操作正常
Alpha版3.4.6、3.4.6版本打的ipa包,操作消息通知时,无论在线还是离线都会出现闪退,正式版3.3.13打的ipa包,消息通知操作正常
bug描述:
用Alpha版3.4.6和3.4.6版本打的ipa包,点击消息通知无论是在线和离线都会出现闪退的情况,receive和click事件中的断点也未触发;用正式版本3.3.13进行打的ipa包,点击消息通知时操作正常