azure通知中心和移动服务之间的主要区别
最好在什么时候使用。
由于
答案 0 :(得分:27)
这些服务的目的完全不同。
移动服务允许您为运行应用的(移动)设备提供后端。想象一下通过基于REST的API公开的数据库。您可以通过编写JavaScript代码来响应CRUD操作(Azure使用node.js进行此操作)并限制对数据库的访问。这使您可以快速开发新的应用程序(或至少是证据)。通过JavaScript,您可以通过通信Windows通知服务(WNS),Apple推送通知服务(APNS)等或通过访问Azure通知中心发送推送通知,但这不是移动服务提供的本机功能,它只是与外部服务交谈。
Azure通知中心允许您使用一个组件管理多个平台(iOS,Android,WP8,Windows应用商店)上的推送订阅。您不再需要跟踪自己表中的订阅(就像您需要使用基于移动服务的解决方案一样)并且不需要关心扩展。想象一下,在这个集线器上注册的不同设备,您可以向这些设备发送推送消息,而无需知道您正在与哪种设备进行通信。它只是推送消息的抽象。
要澄清:
手动订阅处理与通知中心的伪代码。与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 */);
我希望你能得到这张照片。
答案 1 :(得分:11)
上周发生了#AzureChat,他们也回答了这个问题:
问:我应该何时使用推送移动服务而不是推送通知 集线器?A4:通知中心可与任何后端配合使用,包括Mobile 服务,云中的自定义后端或内部部署 后端。将通知中心与您的自定义后端一起使用(包括 在内部),如果你的后端需要丰富的高级人格推动。 如果您需要移动服务,请使用移动服务直接推送 是直接的。如果需要,请使用移动服务和通知中心 更广泛的推动您的移动服务,包括广播和模板, 等 - @kirillg_msft
A4:通知中心经过优化,可以高度播放数百万 几分钟内的个性化推送通知移动服务是 非常适合发送事件触发的推送通知。在一个两个球员 例如,你可以使用推送通过通知中心来进行游戏 立即向所有人播放特别优惠,但推动移动 通知玩家B玩家A刚完成转弯的服务。 - @ mlunes90
http://blogs.msdn.com/b/windowsazure/archive/2013/10/11/recap-mobile-services-azurechat.aspx
答案 2 :(得分:1)
在官方网页上查看两者的功能/价格:
Azure移动服务为构建提供可扩展的云后端 Windows应用商店,Windows Phone,Apple iOS,Android和HTML / JavaScript 应用。将数据存储在云中,对用户进行身份验证并发送 在几分钟内将通知推送到您的应用程序。
Azure通知中心提供高度可扩展的跨平台 推送通知基础设施,使您能够广播 一次向数百万用户推送通知或定制 向个人用户发送通知。您可以使用通知中心 任何连接的移动应用程序 - 无论它是基于Azure Virtual构建的 机器,云服务,网站或移动服务。
如果您的应用需要服务器后端,则需要使用 Azure移动服务,存储数据并实施服务器端逻辑。 包含Azure通知中心,您可以将其用于推送通知。
仅使用 Azure通知中心,如果您不需要服务器端数据或逻辑,或者已经在使用其他服务,并且只需要服务来发送推送通知。