AWS SNS通过FCM向后台/关闭状态安卓应用推送通知不显示问题
问题排查&解决思路
- 调整AWS SNS推送的FCM Payload结构,你当前的Payload仅配置了基础通知内容,缺少高优先级配置,安卓系统的后台电量优化策略会拦截普通优先级的后台消息。修改后的参考Payload如下:
{"GCM":"{ \"notification\": { \"body\": \"test message\", \"title\": \"通知标题\" }, \"priority\": \"high\", \"android\": { \"priority\": \"high\", \"notification\": { \"channel_id\": \"你应用预设的通知通道ID\" } } }"}
- 核对应用端的通知权限配置:
- 安卓8.0及以上系统要求应用提前创建对应
channel_id的通知通道,且用户未手动关闭该通道的通知权限 - 安卓13及以上系统需要应用提前申请
POST_NOTIFICATIONS动态权限,未授权的情况下所有通知都不会弹出 - 小米、华为、OPPO、VIVO等国内定制ROM需要额外授予应用自启动权限、后台弹出界面权限,这类ROM的自定义进程限制会拦截FCM后台通知
- 安卓8.0及以上系统要求应用提前创建对应
- 排查FCM消息类型规则:如果你的Payload同时携带了
data字段,应用退到后台或被杀死时FCM不会自动弹出通知,纯通知推送场景下不要额外添加data字段即可 - 确认AWS SNS平台配置:检查你创建的平台应用端点类型为
FCM,而非旧版的GCM类型,旧版GCM端点的适配逻辑会导致消息优先级无法正确传递给FCM服务
内容的提问来源于stack exchange,提问作者VishalKothari
相关产品推荐
相关产品推荐

