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

Amazon Pinpoint生产环境Campaign推送未送达,测试消息正常求助

排查Amazon Pinpoint生产环境Campaign推送失败的问题

我之前碰到过几乎一模一样的生产环境Campaign推送问题,结合你的情况,给你几个针对性的排查方向,应该能帮你定位到问题:

  • 仔细核对细分规则与端点属性的匹配度
    虽然控制台显示有1个符合条件的端点,但建议直接去Pinpoint的端点管理模块找到你的设备对应的Endpoint ID,逐条核对细分的规则:

    • 确认端点的ChannelType为APNS,APNSEnvironment是PRODUCTION——这两个字段不匹配的话,Campaign会直接跳过该端点;
    • 如果细分是基于应用版本、设备系统版本这类属性,检查端点的对应字段和你设置的细分条件是否完全一致(比如你设置的是AppVersion = 2.1.0,但端点里的实际值可能是2.1或者带了测试后缀);
    • 有些时候细分会默认排除“已停用”的端点,确认你的端点状态是ACTIVE。
  • 检查Campaign的发送配置细节

    • 如果是定时Campaign,一定要确认时区设置是否正确——我之前就踩过时区的坑,以为是立即发送,结果因为时区差晚了十几个小时才推送;
    • 如果是事件触发型Campaign,确认你在TestFlight设备上真正触发了对应的事件(比如设置的是“应用启动”触发,但安装后你有没有完全打开过应用?后台挂着不算触发启动事件);
    • 查看Campaign的高级设置,有没有开启“静默推送”或者其他特殊配置,导致推送没有显示在设备通知栏。
  • 查看Pinpoint推送日志和APNs反馈

    • 先确认你的Pinpoint项目已经配置了CloudWatch日志(在项目设置 > 事件流里开启),然后去CloudWatch的Pinpoint/AppMessaging日志组,搜索你的Endpoint ID或者设备Token:
      • 看看有没有推送失败的错误信息,比如APNs返回的BadDeviceToken(Token无效)、Unregistered(设备已注销Token)这类错误;
      • 检查日志里的DeliveryStatus字段,如果显示SUCCESS但你没收到,可能是设备端的通知设置问题;如果是FAILURE,直接根据错误码去排查。
    • 另外,Campaign的报告页面会显示已发送、已送达的数量,如果已发送数为0,说明细分确实没命中;如果已发送但未送达,就是APNs端的问题。
  • 再次确认Xcode的生产环境配置

    • 虽然你设置了APS环境为production,但还是要核对:
      • Xcode的Signing & Capabilities > Push Notifications里,生产证书是否有效,有没有不小心用了开发证书;
      • Info.plist里的APSEnvironment字段是否明确设置为production——自动签名有时候会覆盖这个值,建议手动添加这个字段锁定配置;
      • TestFlight应用的Bundle ID必须和生产证书的Bundle ID完全一致,不能有任何差异。
  • 验证端点的用户属性关联
    如果你的细分是基于用户ID或者自定义用户属性,确认应用在启动时正确调用了Pinpoint的updateEndpoint或registerUser方法,把用户属性同步到了端点上。有时候应用初始化时没有完成这一步,导致端点的用户属性为空,细分条件无法匹配。

内容的提问来源于stack exchange,提问作者Carlos Minero

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.08 16:02:35