传递到 Azure 通知中心的通知消息未到达设备 (Android)
Posted
技术标签:
【中文标题】传递到 Azure 通知中心的通知消息未到达设备 (Android)【英文标题】:Notification messages delivered to the Azure Notification Hub are not reaching the device(Android) 【发布时间】:2018-06-01 10:07:37 【问题描述】:我需要在发送消息时应该从 azure 通知中心返回的通知消息 ID。
我正在使用SendGcmNativeNotificationAsync
方法从应用后端发送消息。
NotificationOutcome outcome = await hub.SendGcmNativeNotificationAsync(notif, tags);
发送通知后,结果.NotificationId 属性为空或null。如何获取通知 ID?
虽然收到的outcome.Result[0].Outcome
有价值
“通知已成功发送到推送通知系统”
但通知不会发送到注册的设备。
我还在outcome.trackingid
中获得了一个跟踪 ID,如何使用它来跟踪邮件。
我正在使用免费版的 azure 门户。
请推荐
提前致谢!
【问题讨论】:
【参考方案1】:我花了很长时间才弄清楚这一点,因为没有明确的记录,但答案很简单:当 Azure 定价层不是 S1(标准)时,NotificationOutcome.NotificationId
始终为空。
要找出问题的原因,请暂时切换到 S1 定价层。然后您将获得 NotificationId,Azure 将注册 Per Message Telemetry。
理论上,您应该能够通过使用 NotificationId 调用GetNotificationOutcomeDetailsAsync
来获取更多错误信息。最多可能需要 30 分钟 (!) 才能成功调用(如果您调用得太快,您会收到 MessagingEntityNotFoundException
)。
不幸的是,即使消息的设备 ID 错误或过期,结果状态大多为 Completed。
Azure 中显示的通知中心指标中的结果是正确的,但我还没有找到可靠的方法来检索基于每个消息的结果。
别忘了切换回 F1(免费)定价层!
【讨论】:
以上是关于传递到 Azure 通知中心的通知消息未到达设备 (Android)的主要内容,如果未能解决你的问题,请参考以下文章
通知未显示在 Android 设备上。 (Azure 通知中心)
Azure 通知中心 - 401 MissingToken:未找到授权标头