You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

AWS Pinpoint推送通知显示发送成功但设备未接收问题求助

AWS Pinpoint FCM推送显示成功但设备未收到通知的排查与解决

问题背景

使用AWS Pinpoint推送FCM通知时,系统返回发送成功,但目标设备未收到通知,且Firebase控制台无该通知的发送记录。相关操作与配置如下:

  • 已将Firebase服务账户JSON文件上传至Pinpoint的FCM控制台
  • 通过Pinpoint「Test Messaging」向有效设备令牌发送测试通知,状态显示成功
  • React Native应用的AWS Amplify配置:
{
  "PushNotification": {
      "Pinpoint": {
        "appId": "be923ab029724fdf9af91a869282db7c",
        "region": "us-east-1"
      }
    }
}

排查步骤

  • 验证Firebase服务账户凭证
    确认上传的JSON文件是Firebase项目的所有者级服务账户,检查文件内的client_email是否对应项目的服务账户,且该账户已分配Cloud Messaging Admin权限。若权限不足或文件过期,重新下载最新的服务账户JSON并替换Pinpoint中的凭证。

  • 核对设备令牌的有效性与环境匹配
    确认测试令牌是当前Firebase项目对应环境(开发/生产)生成的,开发环境令牌无法接收生产环境推送,反之亦然。直接通过Firebase控制台向该令牌发送测试通知,验证令牌本身是否有效。

  • 检查Pinpoint的FCM配置细节
    确认Pinpoint项目的FCM配置中,Android包名/iOS Bundle ID与React Native应用的包名完全一致(大小写敏感),同时确认FCM通道在Settings > Mobile push > Firebase Cloud Messaging中处于启用状态。

  • 排查应用端的Amplify与FCM配置
    确保React Native应用中Amplify PushNotification模块已完成初始化:调用requestPermissions获取推送权限,调用registerDevice完成设备令牌注册;检查应用是否正确实现FCM消息回调(如onNotificationReceivedInForeground、onNotificationOpened),避免通知被拦截;验证应用的google-services.json(Android)或GoogleService-Info.plist(iOS)与Firebase项目配置完全匹配。

  • 查看详细日志定位问题
    进入Pinpoint项目的Analytics > Events,筛选_campaign.send事件,查看是否存在DeliveryFailure子事件及具体失败原因;在AWS CloudWatch中搜索Pinpoint对应的日志组(如/aws/pinpoint/[你的AppId]),查看FCM请求的响应详情,获取Firebase返回的错误码。

常见解决方案

  • 若为凭证权限问题:重新生成并上传拥有Cloud Messaging Admin权限的Firebase服务账户JSON。
  • 若为令牌环境不匹配:切换Pinpoint的推送环境(开发/生产),或重新获取对应环境的设备令牌。
  • 若为配置不匹配:修正Pinpoint中的包名/Bundle ID,确保与应用一致;重新导入正确的Firebase配置文件到应用项目中。
  • 若为应用端处理问题:检查Amplify初始化流程,确保推送权限已授予,消息回调函数正常执行。

内容的提问来源于stack exchange,提问作者Amir Ayat

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.22 18:52:18