azure 通知中心和移动服务之间的主要区别是什么
什么时候用最好。
谢谢
这些服务有完全不同的目的。
移动服务允许您为运行您的应用程序的(移动)设备提供后端。想象一个通过基于 REST 的 API 公开的数据库。您可以通过编写 JavaScript 代码(Azure 使用node.js来实现此目的)对 CRUD 操作做出反应,并限制对数据库的访问。这使您可以快速开发新的应用程序(或至少证明)。通过 JavaScript,您可以通过与 Windows 通知服务 (WNS)、Apple 推送通知服务 (APNS) 等进行通信或访问 Azure 通知中心来发送推送通知,但这不是移动服务提供的本机功能,它只是与外部服务交谈。
Azure Notification Hub允许您使用一个组件管理多个平台(iOS、Android、WP8、Windows Store)上的推送订阅。您不再需要在自己的表中跟踪订阅(就像您需要使用仅基于移动服务的解决方案一样)并且不需要关心扩展。想象一下在这个集线器上注册的不同设备,您可以向这些设备发送推送消息,而无需知道您正在与哪种设备通信。它只是推送消息的抽象。
清除:
手动订阅处理与通知中心的伪代码。与 WNS/APNS/... 直接通信的手动方式:
// query your data tables to determine the devices to notify
// note, that you need to manage (insert, delete) all of those entries as well
var subscriptions = ...;
for (var subscription in subscriptions )
{
if (subscription.Type == 0) // WP8
{
// communicate with the Windows Phone push service to push
}
else if (subscription.Type == 1) // iOS
{
// communicate with the Apple Push Notification Service push
}
else if // etc.
}
使用通知中心:
// determine subscriptions to notify by tag, it's just that simple
var tag = 'player:12345';
var hub = azure.createNotificationHubService(/* credentials */);
// you don't need to care about WNS/APNS/..., the hub will do that for you
hub.send(tag, yourMessage, /* callback */);
我希望你能得到这张照片。
上周发生了#AzureChat,他们也回答了这个问题:
Q4:我应该什么时候在移动服务中使用推送而不是在通知中心中使用推送?
A4:通知中心适用于任何后端,包括移动服务、您在云中的自定义后端或您的本地后端。如果您的后端需要丰富的大规模个性化推送,请将通知中心与您的自定义后端(包括本地)一起使用。如果您在移动服务中的推送需求是直接的,请使用移动服务直接推送。如果您需要更丰富的移动服务推送,包括广播和模板等,请使用移动服务和通知中心 - @kirillg_msft
A4:通知中心经过优化,可以在几分钟内广播数百万条高度个性化的推送通知。移动服务非常适合发送事件触发的推送通知。例如,在一个两人游戏中,您将使用推送通知中心向所有人广播特别优惠,但通过移动服务推送通知玩家 B,玩家 A 刚刚完成了他的回合。- @mlunes90
http://blogs.msdn.com/b/windowsazure/archive/2013/10/11/recap-mobile-services-azurechat.aspx
在官方页面上查看两者的功能/价格:
Azure 移动服务为构建 Windows 应用商店、Windows Phone、Apple iOS、Android 和 HTML/JavaScript 应用程序提供了可扩展的云后端。在云中存储数据、验证用户身份并在几分钟内向您的应用程序发送推送通知。
Azure 通知中心提供了一个高度可扩展的跨平台推送通知基础结构,使你能够一次向数百万用户广播推送通知,或者为单个用户定制通知。您可以将通知中心与任何连接的移动应用程序一起使用——无论它是基于 Azure 虚拟机、云服务、网站还是移动服务构建的。
如果您的应用需要服务器后端,您可以在其中存储数据并实现服务器端逻辑,请使用Azure 移动服务。包含 Azure 通知中心,可用于推送通知。
如果您不需要服务器端数据或逻辑,或者已经为此使用其他服务并且只需要一个服务来发送推送通知,请仅使用Azure 通知中心。