【问题标题】:Send notifications to individual users using Azure Notification Hub使用 Azure 通知中心向个人用户发送通知
【发布时间】:2014-03-03 05:42:01
【问题描述】:

我正在为应用创建 Web API 后端。该应用程序目前仅计划用于 WP8,但我们也计划在以后推出其他平台的版本。

我们的推送通知基于 Azure 通知中心。应用程序不会直接注册,而是会调用一个 Web API 方法来为应用程序进行注册。

有两件事让我难以理解:

  1. 我找不到任何有关向个别 WP8 用户发送通知的文档。我不想广播;我只想向一位用户发送一条通知。是否支持此用例?如何使用Microsoft.ServiceBus.Notifications API 完成此操作?

  2. 我发现了这个:http://www.windowsazure.com/en-us/documentation/articles/notification-hubs-aspnet-notify-users/ - 这实现了我需要的很多功能,就通知而言。该示例仅包括 iOS 和 Windows 商店应用程序。这是因为 WP8 不支持这个用例吗?我不明白为什么,但我对 WP8 有点陌生。

【问题讨论】:

  • 如果你还没有看过这个,请检查一下blogs.msdn.com/b/andy_wigley/archive/2013/08/22/…
  • @Aravind - 谢谢。我见过这个,但它显示了如何发送广播通知。我正在寻找向单个用户发送单个通知的示例,并且此示例缺少注册由设备 ID 和安装 ID 标识的部分。
  • 以前我在项目上工作过,该项目使用 MPNS 向注册的 WP 用户发送推送通知。当你注册时,MPNS 提供了一个链接到特定设备/用户的 channelUri。像这样stackoverflow.com/questions/19149995/…
  • @Aravind - 这个例子讨论了手动存储和使用 Uris。我可以这样做,但我想利用 Azure 通知中心。
  • @Elad 查看[此处的完整工作实现][1]。稍作改动即可直接使用[1]:stackoverflow.com/questions/31912711/…

标签: azure windows-phone-8 azure-notificationhub


【解决方案1】:

Azure 通知中心支持标签,如示例 here。

在 Channel9 网络广播(我现在找不到)中,他们谈到了利用标签向特定用户/组发送通知。

由于我想利用通知中心的所有附加价值,我将用我的应用程序中使用的用户名标记每个条目,并使用它通过用户名向特定用户发送通知。

编辑: Here 在官方 Windows Azure 文档中,我找到了一个示例,该示例正好说明了我想要做什么。作为额外的奖励,他们还给了我一个想法,让我也使用安装 ID 进行标记,这样您就可以让同一用户在具有不同操作系统的不同设备上获得本机通知。

【讨论】:

  • 有任何参考可以在 javascript 后端完成相同的任务吗?
【解决方案2】:

通知中心 - 用于向大量移动受众广播通知。

通过移动服务推送 - 用于特定通知。 请参阅此处问答部分中的 Q4 http://blogs.msdn.com/b/windowsazure/archive/2013/10/11/recap-mobile-services-azurechat.aspx

Push notification in mobile services

【讨论】:

  • 不错! :) 但我仍然有这个问题。通知中心似乎更易于管理。我完全赞成 DIY 方法,但不是当我必须手动管理数百万用户时(希望是最好的:))。移动中心架构听起来更健壮且功能齐全,而且移动服务似乎被限制为每台设备每天 500 条通知。
  • @EladLachmi 我明白你的意思。我对移动服务的探索不多。可能您需要将其设计为对想要单独通知的用户和批量通知的一部分进行分类。如果单个通知是唯一的选择,那么您可能会考虑使用 uri 方法。
【解决方案3】:

虽然这里的其他人已经介绍了如何使用标签,但还有另一个不太为人所知的选项。 MSDN 上的 Azure 通知中心 REST API 文档具有以下直接发送页面:https://msdn.microsoft.com/en-us/library/azure/mt608572.aspx

本质上,您将“直接”添加到 URL 中的查询字符串,并将推送令牌作为“*-DeviceHandle”标头提供。

此 API 的用户不需要使用注册或安装。相反,此 API 的用户自行管理所有设备,并仅使用 Azure 通知中心作为传递服务与各种推送通知服务进行通信。

这是什么意思?在调用 ANH REST API 之前,您需要从客户端获取设备推送令牌(并有效地重用它)。

最后一点,对于任何遇到过这个但回避它的人:文档曾经声明您必须联系支持人员才能选择使用该功能,但最近更新以删除此警告,当我询问它。 :)

【讨论】:

  • 小更新:您将需要使用标准类型的通知中心(价格不同)
  • 更新:似乎不再支持这种方法。
猜你喜欢
  • 2014-09-09
  • 2016-02-24
  • 2017-04-07
  • 2016-07-31
  • 1970-01-01
  • 2021-04-18
  • 2017-02-24
  • 2016-08-14
  • 1970-01-01
相关资源
最近更新 更多