Windows Azure Mobile Servicesチームは、iOS Objective C SDKの署名機能を改善を含み、モバイルサービススクリプトからのユーザプッシュ通知を可能とする Apple Push Notification Services (APNS)を介したプッシュ通知のサポートを発表した。
APNSを利用した Windows Azure Mobile Service を有効化するには、以下の手順を実施する必要がある。
- Apple iOS プロビジョニングポータルでアプリケーションを設定する
- プッシュ通知の証明書を Apple プロビジョニングポータル にアップロードする
- Windows Azure 管理ポータルを利用して、APNS プッシュ通知の証明書を Mobile Services にアップロードする
- モバイルサービスの Push タブから Upload ボタンを押下する
- 証明書のアップロードダイアログからローカルファイルを選択し、エクスポート済みの証明書をアップロードする
- 開発(Sandbox) か運用 (Production)のモードを選択する
Windows Azure Mobile Service を利用してクライアントにプッシュ通知を送付するコードは以下の様になる。
push.apns.send(deviceToken, {
alert: 'Toast: A new Mobile Services task.',
sound: 'default'
});
上記のコードを利用して、Windows Azure Mobile Service は APNS に接続し、デバイストークンを介した関連 iOS デバイスへのプッシュ通知を送付が可能になる。また、当該スクリプトを APNS フィードバックの処理と統合し、同処理をAzureサービスが有効な限りモバイルサービスから定期的に実行する機能をMicrosoftは提供する。
データベースから削除可能となる無効なトークンのリストを返却するフィードバックスクリプトに含まれるapns オブジェクトの getFeedback メソッドを以下のように呼び出すことができる。
push.apns.getFeedback({
success: function(results) {
}
});
さらに、Microsoftは login メソッドである loginWithProvider の追加を伴うiOSのクライアントAPIの改善をアナウンスしている。同改善では、ログインビュコントローラの様な特定のコントローラを排し、Twitte、Google、Facebook や Microsoft Account を介した認証を単一のObjective-C コードで容易に実装可能とする。
[client loginWithProvider:@"twitter"
onController:self
animated:YES
completion:^(MSUser *user, NSError *error) {
// if no error, you are now logged in via twitter
}];
Microsoft で Windows Azure Mobile Services の Program Manager を務める Josh Twist氏は、上記の機能を短い動画で実演した。
実演の後、Adam Cooper氏は以下の質問を投稿した。
同機能では JavaScript のみがサポートされるのだろうか。我々のようなC#開発者には?
Adam 氏の質問に対し、Microsoft で Windows Azure Mobile Services で Program Manager を務めるPaul Batum氏は以下のように回答した。
Mobile Services のサーバサイドとしてサポートしている言語は現在 JavaScript のみだが、将来的には改善されるだろう。提案してくれた通り、すでに多くの開発者から C# を利用したいという声を聞いている。C#のサポートが重要だと考えるなら、user voiceのサイトへ行き、投票することをお勧めする。
Pranav 氏は以下のように質問した。
iOS アプリ開発にどのように Azure を利用したらよいだろうか?
同質問に対するDuncan Mackenzie氏の回答は以下となる。
iOS アプリのサーバ要素が必要な場合、選択肢の一つして Azure を選ぶことができる。