Azure上托管的Asp.net后端和Web API Web服务如何向移动应用程序发送推送通知?

时间:2014-06-23 06:13:42

标签: android ios asp.net mobile azure

我正在为Android和iPhone构建移动应用程序。我将移动终端外包给了一家应用程序公司,而我自己使用asp.net开发了后端和Web服务部分,并将它们托管在Azure上。 Web服务是使用Web API 2.0开发的,它作为Web站点部署到Azure。后端使用asp.net Web表单开发,并作为Web站点部署到Azure中。

有两种情况,移动用户会收到一些消息: (1)当某些移动用户发布一些消息时,其他移动用户将收到这些消息。 (2)在后端,如果管理员发布消息,则所有移动用户都将收到该消息。

目前在我的后端和Web服务中,当移动用户发布消息或管理员发布消息时,我只是更新数据库表以保存该消息。我认为移动端将继续拉数据库表并获取最新消息 - 直到今天。今天应用程序公司告诉我,我需要将这些消息推送到手机。他提出了一些第三方服务来实现这一目标。

然后我检查了Azure文档,看起来他们的服务中有内置的推送功能,所以我不需要去第三方服务。但我很困惑,我看到有#"云服务",有#34;移动服务",还有"服务总线通知中心"。我应该使用哪一个来使我的后端和Web服务能够向移动设备发送推送通知?如何在Visual Studio Express 2013中修改现有的后端和Web服务项目?我是否仍将它们作为网站部署到Azure?

通过消息,我不是指SMS,我的意思是一些文本数据。

1 个答案:

答案 0 :(得分:2)

鉴于您已经在Android应用程序和后端服务中投入了一些合理的开发时间,听起来您正在寻找通知中心。通知中心专门用于在一个或多个移动平台上向个人用户和用户组发送推送通知。

正如我在评论中所建议的那样,云服务是一种在Azure上托管您的应用程序的方式(为了您的目的,它将提供更重的替代Azure网站和改进的SLA),而移动服务提供了一组库和用于抽象与应用程序的服务器端数据交互的API。

要使用通知中心发送推送通知,您需要做一些事情(在链接文档中有详细描述):

  1. 转到门户网站并自行创建新的通知中心
  2. 通过Google云端控制台创建Google云消息传递项目(Azure将使用此功能将您的消息传输到相关的Android设备)
  3. 更新后端服务以使用通知中心发送消息
  4. 修改您的Android应用程序以使用关联的Azure消息库来接收推送通知
  5. 我讨厌直接链接到文档,但是开始使用此功能的最佳方法是通过Azure文档中的以下教程: http://azure.microsoft.com/en-us/documentation/articles/notification-hubs-android-get-started/。这包括您需要对Android应用程序处理推送通知以及后端服务进行的基本更改,以便发送它们。

    您仍然可以将服务器端组件部署到Azure网站。

    请注意,通过Notification Hub发送邮件附带价格标签,但有一个免费套餐,每月限制您使用500台设备和100,000次推送通知,如http://azure.microsoft.com/en-us/pricing/details/notification-hubs/中所述。

    编辑:以下是使用通知中心向各个用户发送消息的示例: http://azure.microsoft.com/en-us/documentation/articles/notification-hubs-aspnet-notify-users/