Windows Azure 移动服务支持推送通知

  • Anand Narayanaswamy
  • 孙镜涛

2013 年 2 月 26 日

话题:Windows AzureiOS语言 & 开发

Windows Azure 移动服务团队最近宣布他们借助于Apple 推送通知服务(APNS)实现了推送通知,允许用户通过移动服务脚本触发推送通知,同时还对 iOS Objective C SDK做了重要的特性改进。 为了在 Windows Azure 移动服务应用程序中使用 APNS,需要执行下面的步骤:

  • Apple iOS 配置门户网站中配置应用程序
  • 将 APNS 推送证书上传到 Apple 配置门户网站
  • 通过 Windows Azure 管理门户网站将你的 APNS 推送证书上传到移动服务
  • 单击移动服务 Push 标签页中的 Upload 按钮
  • 通过 Upload Certificate 对话框浏览本地文件系统并上传导出的证书
  • 选择 - Dev (沙箱) 或者 Prod (产品) 模式

从 Windows Azure 移动服务向客户端发送推送通知的代码和下面的内容相似:

push.apns.send(deviceToken, { 
     alert: 'Toast: A new Mobile Services task.', 
     sound: 'default' 
     });

Windows Azure 移动服务能够通过上面的代码连接到 APNS 并通过 deviceToken 向相关的 iOS 设备发送通知。Microsoft 还提供了包含处理 APNS 反馈脚本的能力,只要 Azure 服务是活动的,那么移动服务就会定期地执行该脚本。

你能够在反馈脚本中简单地调用apns 对象的 getFeedback() 方法,该方法会返回一个能够从数据库中移除的无效令牌的列表,如下所示:

push.apns.getFeedback({  
  success: function(results) { 
  } 
});

Microsoft 还宣布他们改进了 iOS 客户端 API,提供了另外一个登录方法——loginWithProvider,该方法会自动取消登录视图控制器而在模态对话框中打开指定的控制器,这样使用一行 Objective-C 代码就能够容易地通过 Twitter、Google、Facebook 和 Microsoft 帐号实现身份认证。

[client loginWithProvider:@"twitter"  

    onController:self 
    animated:YES 
    completion:^(MSUser *user, NSError *error) { 
    // if no error, you are now logged in via twitter 

}]; 

Josh Twist,Microsoft Windows Azure 移动服务的项目经理,在一个短视频中展示了上面的特性。 在观看了演示之后,Adam Cooper 提交了下面的问题:

Windows Azure 移动服务仅支持 JavaScript 这一种语言么?我们这些 C# 开发者该如何实现呢?

Paul Batum,Microsoft Windows Azure 移动服务的项目经理,回复了 Adam 的问题:

JavaScript 目前是移动服务唯一支持的服务器端语言,但是这种情况将来会改变。我们从很多开发者那里得知,他们希望能够使用 C#,正如你建议的那样。如果这对你很重要,我建议你访问我们的用户声音并对此进行投票。

Pranay 评论说:

为什么我要使用 Azure 开发 iOS 应用?

Duncan Mackenzie 回答说:

如果你的 iOS 应用需要一个服务器组件,Azure 给了你选择。

查看英文原文Windows Azure Mobile Services with Push Notifications Support

Windows AzureiOS语言 & 开发