我正在评估使用 Azure 移动服务、Parse 和 Urban Airship 中的哪种推送通知服务。
标准之一是该服务是否为应用程序提供了一种注册定制用户 ID 或别名的方法,然后在调用该服务向个人发送推送通知时可以轻松使用这些方法。这样我们的后端服务就不再需要一个查找表来为我们提供给定用户的服务注册 ID。
Urban Airship 具有别名功能:http://docs.urbanairship.com/connect/connect_audience.html#aliases
Parse 有一个复杂的 Installation 对象,其行为类似于字典,因此可以向其中添加其他值(如 UserId)。当调用 Parse 服务发送推送通知时,可以使用查询来指定将接收消息的用户: https://www.parse.com/docs/push_guide#sending-queries/REST
Azure 移动服务中是否有等效功能?
最佳答案
使用移动服务,您需要在表中跟踪用户与 token / channel URI/注册 ID 的关联,这比您需要做的工作更多。然而,Windows Azure 的另一个功能是通知中心,它可以满足您的需求(甚至更多)。使用通知中心,您可以从客户端说“我想注册通知中心,这里有一些您可以用来向我推送信息的标签”。这些标签可以是您想要的任何内容,包括用户 ID。稍后,您可以告诉您的通知中心将其推送给使用特定标签注册的任何人。这样您就可以将通知推送到特定用户已注册的任何设备。
流程看起来像这样:
- 向推送提供商(APNS、GCM、MPNS、WNS)注册
- 将 token 与标签(例如用户 ID)一起发送到通知中心
- 触发对特定标签(即用户 ID)的推送
- 通知中心将负责向带有标签(同样是其用户 ID)的所有设备发送推送
通知中心拥有适用于 WinPhone、WinStore、iOS 和 Android 的客户端 SDK,因此从客户端使用起来非常简单。就触发推送而言,通知中心公开了一个可以与之通信的 REST API,有一个 .NET SDK、一个 Node SDK 以及一个非官方的 Java SDK。您甚至可以使用移动服务中的 Node SDK,这使得将身份验证(即获取用户 ID)与数据存储和推送通知相结合变得非常容易。它还具有许多其他功能,例如模板化推送通知,因此您不必根据要推送的设备操作系统指定不同的有效负载,而是可以让客户端应用程序指示它应如何接收某种类型的推送。
关于azure - Azure 推送通知是否支持用户 ID 或别名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21581664/