传递到Azure通知中心的通知邮件未到达设备(Android)

时间:2018-06-01 10:07:38

标签: azure push-notification

我需要在发送邮件时应该从azure通知中心返回的通知消息ID。

我使用SendGcmNativeNotificationAsync方法从应用后端发送消息。

NotificationOutcome outcome = await hub.SendGcmNativeNotificationAsync(notif, tags);

发送通知后,outcome.NotificationId属性为空或null。我如何获得通知ID?

虽然收到的outcome.Result[0].Outcome有值

  

“通知已成功发送到推送通知系统”

但通知未发送到已注册的设备。

此外,我在outcome.trackingid中获得了跟踪ID,如何使用它来跟踪消息。

我正在使用免费版的azure portal。

请建议

提前致谢!

1 个答案:

答案 0 :(得分:0)

我花了相当长的时间才能弄清这一点,因为目前尚不清楚,但答案很简单: NotificationOutcome.NotificationId在Azure定价层不是S1(标准)时始终为空。 / strong>

要找出问题的原因,请暂时切换到S1定价层。然后,您将获得NotificationId,Azure将注册“按消息遥测”。

理论上,您应该能够通过使用NotificationId调用GetNotificationOutcomeDetailsAsync来获取结果,以获取更多错误信息。此呼叫最多可能需要30分钟(!)才能成功(如果调用得太早,您会得到MessagingEntityNotFoundException)。

不幸的是,即使消息的设备ID错误或过期,结果State仍为Completed。

Azure中为您的Notification Hub显示的度量标准中的结果是正确的,但是我还没有找到一种可靠的方法来基于“每条消息”检索结果。

别忘了切换回F1(免费)定价层!