味蕾
味蕾
  • 发布:2024-07-26 19:59
  • 更新:2024-07-26 19:59
  • 阅读:303

unipush1.0 ios离线收不到消息的问题

分类:uni-app

最近有项目使用了uni-push1.0来进行消息推送功能,这里主要分享一下IOS的离线推送收不到消息的问题
IOS离线收不到消息,基本是上传的推送证书有问题

贴一下我的相关文件:

证书文件

两个注意点:

1.profile/CertificateSigningRequest.certSigningRequest :证书请求文件
iOS Dev Center创建certificates时使用同一个证书请求文件,包括创建推送证书

2.profile/push.p12:推送证书
需要上传的推送证书,不要用这个证书去打包!!或者上传你的打包证书

上传推送证书

如何测试上传的推送证书是否生效

在【Uni Push】-【配置管理】-【故障排查】-【 检测CID的状态及信息:】中输入CID查询,拿到苹果的devicetoken

token

把这个devicetoken复制一下

在【Uni Push】-【配置管理】-【故障排查】- 【应用配置】点击右下方的 立即测试,粘贴刚才的devicetoken,去掉后面的【,,,】
如果devicetoken后面带着 developement,说明是开发环境,在测试的时候需要选择开发环境,也是同样需要去掉后面【,,developement,】

开发环境token

test

测试如果弹出 连接异常 就是证书不对,建议再走一遍证书生成的流程,重新上传证书需要重新提交云打包

证书正常,应用离线也可以收到消息

接收到的离线消息通知

设置角标

离线推送一般会设置应用角标,由于使用unipush1.0,后端调用个推推送接口的参数:auto_badge 设置为 1就行

   "push_channel": {  
        “android”:{},  
        },  
        "ios": {  
            "aps": {  
                "alert": {  
                    "body": "告警测试",  
                    "title": "测试"  
                },  
                "content_available": 0,  
                "sound": "default"  
            },  
            "auto_badge": " 1",  
            "payload": "{\"title\":\"测试\",\"content\":\"告警测试\"}"  
        }  
    }

应用监听通知栏的点击事件,然后再将角标清0,建议写在App.vue里面

            plus.push.addEventListener('click', (msg) => {  
                console.log('click', msg);  
                plus.runtime.setBadgeNumber(0)  
                                // TODO  
            })

有问题可以联系 Q:2377995017

0 关注 分享

要回复文章请先登录注册