1-背景
后端是java,使用app是自研app,有安卓和ios2个版本,使用的ali的push移动推送EMAS
2-问题描述
ios和安卓都收不到push通知,且确认后端已经调用api成功发送出去
3-推送链路
首先确认一下我们的推送链路,才能逐步排查才能找到出问题的点
4-问题排查方向
首先是后端参数是否传的正确,重点检查以下几个参数
androidNotificationChannel:安卓通道id,这个找前端要,非常重要的参数
androidPopupActivity:辅助通道,这个是用户app离线时,可以通过设置这个参数,这个找前端要一个路径
pushType:这个要传NOTICE,代表通知
androidNotificationHuaweiChannel:这个通道类别,区分营销类和普通通知类,可以传NORMAL,注意营销类会有推送限制
当你组装好参数推送出去后,到阿里云EMAS平台--用户增长--移动推送--推送记录,查看推送的记录信息,也可以到应用配置底下,通过消息id来进行排查,查到之后会有一个终端设备id,这个设备id必须是你当前手机端的id,一般来说是前端获取到的,然后给你使用
在应用配置--厂商通道,配置对应厂商的appId和secret,比如说当前是华为手机,那就要去华为开发者中心,配置app信息,拿到appId和secret,并填充到阿里云这边厂商通道
一般来说,首先要到华为开发者中心,尝试发送推送到华为手机上,如果能通,再尝试在阿里云这边EMAS触发推送,最后再在java后端触发推送
前端这边项目启动时,会去阿里云注册设备deviceId,注册到了之后,设备id是能在EMAS平台--应用配置--排查工具,可以查询到
以上如果都配置成功了,还无法解决推送通知,可以看看当前手机是否开启了app推送权限,如果还是收不到,可以去EMAS平台提工单,让技术解决