1-背景

后端是java,使用app是自研app,有安卓和ios2个版本,使用的ali的push移动推送EMAS

2-问题描述

ios和安卓都收不到push通知,且确认后端已经调用api成功发送出去

3-推送链路

首先确认一下我们的推送链路,才能逐步排查才能找到出问题的点

ios离线推送java ios离线推送收不到怎么查_java

 

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平台提工单,让技术解决