Windows Azureモバイル サービスのiOSサポート – プッシュ通知サポートを追加

Posted: 2012/12/05 カテゴリー: Uncategorized
タグ:, , , ,

数週間前、Windows Azureモバイル サービスに対する多数の改善に関して書きました (英語 / 日本語)。その1つは、iOS開発者がモバイル サービスのデータと認証の機能を簡単に使えるようにする、Objective-CクライアントSDKの追加でした。本日、iOS SDKに対する多数の改善、最も重要なものとして、APNS (Apple Push Notification Services) を介したプッシュ通知の新規サポートを発表できて、興奮しています。これによって、Windows Azureモバイル サービスのスクリプトからiOSユーザーへのプッシュ通知の送信が、信じられないほど簡単になります。

APNSを介したプッシュ通知

(アップルiOSプロビジョニング ポータルでのアプリケーションに対するプッシュの構成に必要なすべての手順を含む) Windows Azureモバイル サービス アプリケーションでAPNS (Apple Push Notification Service) を有効化するためのプロビジョニングと設定のプロセスを段階的に紹介する、2つの完全なチュートリアルを公開しました。

一旦、アップルiOSプロビジョニング ポータルでアプリケーションを構成し、APNSプッシュ証明書をアップルiOSプロビジョニング ポータルにアップロードしたら、後はWindows Azure管理ポータルを使ってモバイル サービスにAPNSプッシュ証明書をアップロードするだけです。

1

モバイル サービスの「プッシュ」タブで「アップロード」をクリックすることで、ローカル ファイルシステムを参照し、エクスポート済みの証明書をアップロードできます。また、その際、アップル サービスのサンドボックス (開発)、運用のどちらを使いたいか選択できます。

2

Windows Azureモバイル サービスからクライアントにプッシュ通知を送信するコードは、次のように簡単です。

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

これによって、Windows Azureモバイル サービスがAPNS (Apple Push Notification Service) に接続し、deviceTokenで指定したiOSデバイスに通知を送信します。

3

プッシュ通知を送信するためのWindows Azureモバイル サービスの新しいapnsオブジェクトの使い方に関する詳細は、リファレンス ドキュメント (英語 / 日本語 (機械翻訳)) を確認してください。

フィードバック スクリプト

PNS (プッシュ通知サービス) を扱う際に重要な点は、期限切れのデバイス トークンやチャネルのフィードバックの扱いです。通常、アプリケーションが特定のデバイスからアンインストールされ、もはや通知を受け取れない際に、これが起こります。Windows Notification Services (WNS) では、HTTPサーバーから即座にレスポンスを取得します。アップルの通知サービスは少し異なる形で動作し、期限切れのトークンの一覧をポーリングするために接続できる追加のエンドポイントを提供します。

モバイル サービスに統合されているすべての機能と同様に、我々の目標は、開発者の皆さんがアプリ構築により集中でき、アイデアをサポートするためのインフラ構築に集中しなくて済むようにすることです。そのため、APNSからのフィードバックを定期的に統合する簡単な方法を、開発者の皆さんに提供する必要がありました。

今週のアップデートには、APNSフィードバックを処理するスクリプトをオプションで提供できる、ポータル内の新しい画面が含まれています。これは、モバイル サービスによって継続的に実行されます。

4

サービスがアクティブな間、このスクリプトは定期的に呼び出されます。フィードバック エンドポイントをポーリングするには、このスクリプト内で単にapnsオブジェクトのgetFeedbackメソッドを呼び出すだけです。

push.apns.getFeedback({
     success: function(results) {
          // resultsは、deviceTokenおよびtimeプロパティを持つオブジェクトの配列
     }
});

これは無効なトークンの一覧を返すので、それらを自分のデータベースから削除できるようになります。

iOSクライアントSDKの改善

先月、我々は、Objective-C SDKを改善するために、多数のiOSアドバイザーと一緒に作業を続けました。SDKはオープン ソース ライセンス (Apache 2.0) の基で開発され、GitHubで入手可能です。

パフォーマンスとメモリー使用量を改善するために、水面下で多数の改善が行われました。しかし、iOSクライアントAPIの最大の改善点の1つは、ずっと簡単になったログイン メソッドの追加です。それを呼び出すために書くObjective-Cコードを、次に示します。

[client loginWithProvider:@"twitter"
                   onController:self
                       animated:YES
                     completion:^(MSUser *user, NSError *error) {
     // もしエラーがなければ、Twitterでログイン済み
}];

このコードは、自動的に指定されたコントローラー上のモーダル ダイアログとして、ログイン ビュー コントローラーを表示して閉じます。このたった1行のコードは、あなたの代わりに大変な仕事すべてを行い、Twitter、Google、Facebook、MicrosoftアカウントのIDでログインします。

同僚のJoshが、確認することをお勧めしたいこれらの新機能を紹介する、短いビデオを投稿しました。

5

まとめ

前述の機能はすべて本番環境で有効化されており、今すぐ使うことができます。もしWindows Azureアカウントをまだ持っていない場合は、無料評価版に登録して、今日からモバイル サービスを使い始めることができます。Windows Azureモバイル サービス開発者センター (英語 / 日本語 (機械翻訳)) にアクセスして、モバイル サービスでのアプリ構築方法についてさらに学んでください。

関連情報

コメント
  1. […] (英語) (翻訳:Sato Naoki’s Blog にある Windows Azureモバイル サービスのiOSサポート – プッシュ通知サポートを追加 を参照してください。) をご覧ください。Windows Azure モバイル サービスで […]

  2. […] Guthrie が今週水曜日にブログ (英語) (日本語訳 : NOKI SATO ブログ Windows Azureモバイル サービスのiOSサポート – プッシュ通知サポート… に掲載しています。) で発表したように、このたび、モバイル サービスで […]

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中