【问题标题】:Notification messages delivered to the Azure Notification Hub are not reaching the device(Android)传递到 Azure 通知中心的通知消息未到达设备 (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 门户。

请推荐

提前致谢!

【问题讨论】:

    标签: azure push-notification


    【解决方案1】:

    我花了很长时间才弄清楚这一点,因为没有明确的记录,但答案很简单:当 Azure 定价层不是 S1(标准)时,NotificationOutcome.NotificationId 始终为空。

    要找出问题的原因,请暂时切换到 S1 定价层。然后您将获得 NotificationId,Azure 将注册 Per Message Telemetry。

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

    不幸的是,即使消息的设备 ID 错误或过期,结果状态大多为 Completed。

    Azure 中显示的通知中心指标中的结果是正确的,但我还没有找到可靠的方法来检索基于每个消息的结果。

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

    【讨论】:

      猜你喜欢
      • 2014-07-30
      • 1970-01-01
      • 2015-06-07
      • 2016-09-17
      • 2017-02-06
      • 2019-10-08
      • 2019-03-07
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多