モバイル サービスの更新と通知ハブでの Android サポート
このポストは、6 月 14 日に投稿された Mobile Services updates and Android support for Notification Hubs の翻訳です。
先日、マイクロソフトでは、モバイル アプリケーションの強力かつ柔軟なバックエンドとしてモバイル サービスをこれまで以上に活用できるようにするための更新が発表されました。加えて、モバイル サービスまたは Web サイトで使用する 20 MB の SQL データベースが無料で提供されること、さらに、通知ハブで GCM を使用して Android デバイスにプッシュ通知を送信できるようになったことについても発表されました。
モバイル サービス
モバイル サービスでは、動的で魅力的な拡張性の高いモバイル アプリケーションを簡単、迅速に作成できます。今回、カスタム API とローカル Git によるソース管理を新たにサポートすることで、さらなる機能強化が行われています。
カスタム API
モバイル サービスでは、初期プレビュー リリース以降、サーバー スクリプト (英語) を使用して SQL データベース テーブルに挿入、読み取り、更新、削除の操作を行うカスタム ロジックを追加できるようになっています。Uservoice ページ (英語) に寄せられた中で最も要望の高かった機能の 1 つが、SQL データベース テーブルと関連付けずにサーバー側のスクリプトを作成できるカスタム API エンドポイントでした。
このたび発表されたリリースでは、この要望に応えるだけでなく、HTTP の要求および応答を介したさらなる制御が可能になりました。これにより、JSON 以外の形式を受信したり、独自の HTTP ヘッダーを検出、添付したりできるようになります。
Windows Azure 管理ポータルには、新たに [API] タブが含まれています。
[API]、[Create a Custom API] の順にクリックすると、モバイル サービスの SQL データベース テーブルでアクセス許可を設定する場合と同様の方法で、アクセス許可を設定できます。
ここでは、Express.js API (英語) を活用するスクリプトを作成できます。カスタム API を使用すると、(Windows の定期的な通知を有効化する) XML の送信、同一のスクリプトからのさまざまな HTTP メソッド (GET、POST など) の処理、高度なルーティングの実行、カスタム API スクリプト間でのコードの共有などが可能になります。
ローカル Git によるソース管理
お客様から強い要望が寄せられた機能としてさらに挙げられるのが、継続的な統合を可能にするソース管理です。今回発表されたローカル Git のサポートでは、継続的な統合が可能になるだけでなく、独自のノード モジュールをインストールすることもできるようになりました。
ローカル Git リポジトリをメイン ダッシュボードのモバイル サービスに接続して、[Set up source control] をクリックします。
[Set up source control] をクリックすると、リポジトリの資格情報を入力するよう求められます。
資格情報を入力すると、[Configure] タブに Git URL が表示されます。これを使用してリポジトリをローカルに複製します。
このリポジトリにはモバイル サービス用のフォルダーと、カスタム API スクリプト、テーブル スクリプト、およびスケジュールされたスクリプトのためのサブフォルダーが含まれます。ローカル リポジトリに新しいスクリプトを追加して、コマンド ラインから git push を実行すると、このスクリプトがポータルに表示されます。
ここで重要なのは、ソース管理を利用すると、モバイル サービスに更新プログラムを配信できるだけでなく、独自のノード モジュールをインストールすることもできる点です。ローカル Git リポジトリを設定すると、npm によって独自のノード モジュールがリポジトリにインストールされます。その後、git push を実行するだけで、標準の node.js 要求によってカスタム API スクリプトからこれらのモジュールを使用できるようになります。
安定した NuGet パッケージ
ポータブル クラス ライブラリ (PCL) をベースにしたモバイル サービス C# クライアント ライブラリの新しいバージョンを採用したことで、数多くの新たなシナリオが可能になりました。
- ポータブル ライブラリによって、Windows ストアと Windows Phone 8 のライブラリを単一のコードベースに集約。この集約によって、さまざまな C# クライアントでモバイル サービスを使用したり、ASP.NET または.NET サーバー バックエンドからモバイル サービスを呼び出したりすることができるようになります。
- Windows Phone 7.x 向けのターンキー型モバイル サービス機能
- クライアントによって自動的に文字列にシリアル化される列挙型、Null 許容型、リストによる Contains クエリ、新しい MobileServicesCollection、HttpMessageHandlers、および単体テストの強化のサポート
先日リリースされた最新の更新プログラムでは、このパッケージ (英語) はプレリリース状態から移行されています。このパッケージは、パッケージ マネージャー コンソール (英語) で次のコマンドを実行するだけでインストールできます。
20 MB の SQL データベースを無料提供
お客様がモバイル アプリケーションや Web アプリケーションの開発を行う場合、クラウドにリレーショナル データを格納する必要があります。また、開発やテスト期間中に無料のデータ オプションが利用できると便利です。こうした理由からマイクロソフトでは、Windows Azure のすべてのお客様に対して、Windows Azure のモバイル サービスまたは Web サイトで使用できる 20 MB の Windows Azure SQL データベース 1 つを 12 か月間無料でご提供します。
ご利用いただくには
新しいモバイル サービスあるいは Web サイトの作成時に、データベースのドロップダウン メニューで、この無料の Windows Azure SQL データベースを作成するためのオプションが表示されます (新しいモバイル サービスを作成する場合は、このオプションは自動的に表示されます。新しい Web サイトを作成する場合で、このオプションを表示するには、[Custom Create] を選択する必要があります)。
このオプションを選択すると、データ要件が 20 MB を超えない限り、20 MB の SQL データベースを無料でご利用いただけます。
Windows Azure のサブスクリプション 1 件につき、モバイル サービスまたは Web サイトで使用できる 20 MB の SQL データベース 1 つを無料で提供します。この SQL データベースは、複数のモバイル サービスや Web サイトに使用することもできます。データ要件が 20 MB を超える場合は、[SCALE] タブで上限を引き上げると、20MB 以上のデータベースを通常料金でご利用いただけるようになります。この SQL データベースは新規のデータベースとして提供されるものであり、既存のデータベースは対象ではありません。
通知ハブ
通知ハブを使用すると、Windows Azure でホストされるほぼすべてのバックエンドから、プラットフォーム上の数百万ものデバイスにプッシュ通知をブロードキャストできます。通知ハブは、プッシュ通知でユーザーの関心を引きつけることにより、仮想マシン、クラウド サービス、または Web サイトでホストされる既存のアプリケーションを進化させる有効な手段として利用できるほか、トピックに応じて異なるユーザー グループを登録することで、モバイル サービスを通じて充実したプッシュ通知機能を提供するための優れた手段としても活用できます。
今回、マイクロソフトは Microsoft Open Technologies (英語) と協力して、サポートされる一連のプラットフォームを対象に、Google Cloud Messaging (GCM) を利用した Android へのプッシュ通知機能を新たにサポートします。このリリースにより、Windows ストア、iOS、および Android のデバイスに対して、それぞれ WNS、APNS、GCM を通じてプッシュ通知をブロードキャストできるようになりました。
ご利用いただくには
Android デバイスにプッシュ通知をブロードキャストするには、Service Bus .NET Preview SDK (英語)、Android SDK (英語)、および Android Notification Hubs SDK (英語) が必要です。
1.Google APIs Console ページ (英語) で Google API プロジェクトを作成し、API キーを生成します。プロジェクト URL の「#project」の後ろに続く数字を記録しておきます。これが GCM の送信者 ID となります。
2.GCM 送信者 ID を取得したら、Google APIs Console のメイン ページに戻って、[Service] を選択します。[Google Cloud Messaging] を [On] に設定して、サービス条項に同意したら、[API Access] を選択します。ここで、新しいサーバー キーを作成するよう求められます。
3.GCM に登録したら、Windows Azure 管理ポータルにログインして、[App Services]、[Service Bus]、[Notification Hub]、[Quick Create] の順にクリックします。
4.通知ハブの名前、地域 (待ち時間を短縮するためにアプリケーションと同じ地域を選択)、名前空間を選択します。
5.左側のナビゲーション バーにある [Service Bus] タブに、通知ハブ用の名前空間が表示されます。この名前空間をクリックしてから、[Configure] タブをクリックして、GCM API キーを入力します。[Save] を忘れずにクリックしてください。
6.ポータルを終了する前に、[Access Connection Information] のメイン ダッシュボードで、listen アクセスの接続文字列を記録しておきます。
7.次に、Android アプリケーションを通知ハブに接続します。これを行うには、MainActivity クラスで次のプライベート メンバーを追加します (送信者 ID を、上の手順で取得したものに置き換えます)。
8.その後、OnCreate メソッドと MainActivity.java ファイルを資格情報で更新して、プッシュ通知を表示するレシーバーを起動します。詳細については、こちら (英語) を参照してください。
まとめ
モバイル サービス機能を利用したアプリケーション作成の際に、カスタム API やローカル Git によるソース管理を活用できるようになりました。さらに、Windows Azure で作成したあらゆるアプリケーションに対して、通知ハブを使用して Android デバイスにプッシュ通知をブロードキャストできる機能を搭載することが可能です。
モバイル サービスと通知ハブの詳細については、Mobile デベロッパー センター (英語) と MSDN をそれぞれ参照してください。今回のリリースの詳細については、Scott Guthrie のブログ記事 (英語) (翻訳: SATO NAOKI ブログ Windows Azure: モバイル バックエンド開発に対する大幅なアップデートを参照ください) を参照してください。
今後期待する機能や取り上げてほしいトピックなどがあれば、@MLunes90 までぜひご連絡ください。皆様のご意見を心よりお待ちしております。
Miranda