本文属于机器翻译版本。若本译文内容与英语原文存在差异,则一律以英文原文为准。
对推送渠道进行故障排除
确认日志记录开启,以帮助您确定失败原因。有关更多信息,请参阅监控和日志记录。对于不是通过活动或旅程发送的交易推送通知,请记录API回复以了解送达状态。
监控配送问题
-
对于通过发送的直接推送通知消息 SendMessages API,请确认您是否捕获了API响应,以便深入了解送达情况。为此,请在响应中查看EndpointResult对象内部的 StatusMessage 属性。此属性包含从下游推送通知服务收到的平台响应代码。
-
对于活动,请确认通过 Kinesis Data Streams 进行日志记录已开启。查看 _campaign.send 事件中的平台响应代码,了解 Amazon Pinpoint 从下游推送通知服务收到的传输结果。
未收到消息
问题和解决方案
-
设备连接问题 - 如果问题仅发生在某些设备上,请确认这些设备是否被阻止连接到推送通知服务端点。查看FCM端口和您的防火墙
,以及您的 Apple 设备是否未收到 Apple 推送通知 。 -
端点OptOut属性值-如果终端节点OptOut值设置为
ALL
,则终端节点将不会收到通知。使用 get-end CLI point 确认终端节点OptOut值已设置为。NONE
如果端点为选择退出,则通过活动或旅程发送的消息将不会传送到该端点,因此也不会生成任何日志。 -
令牌环境 - 验证您的 Amazon Pinpoint 端点的渠道类型是否匹配为设备生成的令牌。例如,将FCM集成的应用程序令牌地址GCM用作渠道APNs,将 APNS _Sandbox用于沙盒中的应用程序或APNS生产中的应用程序。
要深入了解处于失败状态的传输尝试,请参阅传输尝试中使用的相应推送渠道的推送通知响应代码。
不显示消息
如果日志显示 “成功传送”,并且系统通知托盘上未显示消息,则表示通知已传送到设备但客户端应用程序中处理不当存在问题。
-
您可能会看到 Kinesis 事件日志显示成功交付状态,或者只有特定的请求负载或消息类型才会出现问题。此问题可能表明通知已发送到设备,但未在系统通知托盘上显示。
对于特定的请求负载或消息类型(例如,数据为,Silent forAPNs)FCM,可能会发生这种情况。例如,如果消息是作为警报/通知负载接收的,而不是作为数据/静默有效负载接收的,请检查当您的应用程序收到某种类型的数据、通知、警报或背景消息时,预期的操作是什么,以及应用程序是否可以处理不同的消息类型。
-
要排除故障,请在应用程序的消息处理程序中加入日志语句。有关示例,请参阅FCM
和APNs 。这将有助于确定设备是否已收到通知,但未显示在系统通知托盘中。