z***@shijigroup.com
z***@shijigroup.com
  • 发布:2022-04-22 11:15
  • 更新:2022-04-22 12:07
  • 阅读:226

【报Bug】用Alpha版3.4.6和3.4.6版本打的ipa包,点击消息通知无论是在线和离线都会出现闪退的情况,receive和click事件中的断点也未触发;

分类:HTML5+

产品分类: HTML5+

HBuilderX版本号: 3.4.6

手机系统: iOS

手机系统版本号: iOS 14

手机厂商: 苹果

手机机型: iPhonex

打包方式: 云端

示例代码:
  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);  
                        }  
                    }  
                }  
            }  

操作步骤:

同一套代码,分别用Alpha版3.4.6、3.4.6版本和正式版本的3.3.13的hbuilderx进行打ipa包,测试操作在线和离线的消息通知;

预期结果:

无论操作在线还是离线信息通知,APP处于激活状态,分别跳转到对应页面;

实际结果:

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包,点击消息通知时操作正常

2022-04-22 11:15 负责人:DCloud_iOS_WZT 分享
已邀请:
DCloud_iOS_WZT

DCloud_iOS_WZT

是云打包嚒 appid私发我下

该问题目前已经被锁定, 无法添加新回复