对推送渠道进行故障排除 - Amazon Pinpoint

本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。

对推送渠道进行故障排除

确认日志记录开启,以帮助您确定失败原因。有关更多信息,请参阅监控和日志记录

配送问题

问题和解决方案
  • 对于通过 SendMessages API 发送的直接推送通知消息,请验证您是否捕获了 API 响应以获取有关交付的见解。为此,请在响应中查看EndpointResult对象内部的 StatusMessage 属性。此属性包含从下游推送通知服务收到的平台响应代码

  • 对于活动,请确认通过 Kinesis Data Streams 进行日志记录已开启。查看 _campaign.send 事件中的平台响应代码,了解 Amazon Pinpoint 从下游推送通知服务收到的传输结果。

未收到消息

问题和解决方案
  • 设备连接问题 - 如果问题仅发生在某些设备上,请确认这些设备是否被阻止连接到推送通知服务端点。请参阅 FCM 端口和您的防火墙,以及您的 Apple 设备是否收不到 Apple 推送通知

  • 端点OptOut属性值-如果终端节点OptOut值设置为ALL,则终端节点将不会收到通知。使用 get-endpoint CLI 确认终端节点OptOut值已设置为。NONE如果端点为选择退出,则通过活动或旅程发送的消息将不会传送到该端点,因此也不会生成任何日志。

  • 令牌环境 - 验证您的 Amazon Pinpoint 端点的渠道类型是否匹配为设备生成的令牌。例如,将 GCM 用作集成 FCM 的应用程序令牌地址的渠道,将 APNS_Sandbox 用作沙盒中的应用程序的渠道,或将 APNS 用作生产环境中的应用程序的渠道。

    要深入了解处于失败状态的传输尝试,请参阅传输尝试中使用的相应推送渠道的推送通知响应代码

不显示消息

问题和解决方案
  • 您可能会看到 Kinesis 事件日志显示成功传输状态,或者某个问题只发生在特定请求负载或消息类型上。此问题可能表明通知已发送到设备,但未在系统通知托盘上显示。

  • 要排除故障,请在应用程序的 onMessageReceivedAPI 处理程序中加入日志语句。有关示例,请参阅 FCMAPNs。此操作可以帮助确定设备是否已收到通知,但未在系统通知托盘中显示。

  • 如果消息是作为警报或通知负载收到的,而不是作为数据或静默负载收到的,请查看您的应用程序的接收消息处理程序代码,以确认收到的通知被推送到设备通知托盘。

  • 查看当您的应用程序收到数据、通知、警报或背景之类的消息时,预期的操作是什么,以及应用程序是否可以处理不同的消息类型。