SHOEISHA iD

※旧SEメンバーシップ会員の方は、同じ登録情報(メールアドレス&パスワード)でログインいただけます

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

Scott Guthrie氏 Blog翻訳

Windows Azure:モバイルバックエンド環境の大幅アップデート

連載:ScottGu's Blog翻訳


  • X ポスト
  • このエントリーをはてなブックマークに追加

Notification Hub:Androidブロードキャストプッシュ型通知サポート

 年初、Windows Azureに、Notification Hubという新機能を導入し、ハイスケールにブロードキャストプッシュ型通知が送信できるようになりました。

 Notification Hubの初回プレビューでは、iOSおよびWindowsデバイスでこのサポートが使用できました。今回、新たにAndroidデバイスにもプッシュ型通知が送信できるようになったNotification Hubサポートについてご紹介いたします。

 プッシュ型通知は、モバイルアプリケーションには欠かせないコンポーネントです。これは、アプリの関わりと使用を増加させたい顧客アプリだけでなく、従業員のビジネスイベントに対する反応を増加させる最新情報が必要な企業アプリにも、重要なものです。

 Notification Hubを使用して、どのタイプのアプリ(Mobile Service、Webサイト、クラウドサービス、仮想マシン)からでもデバイスへプッシュ型通知を送信できます。

 Notification Hubは以下のような機能を提供します。

クロスプラットフォームのプッシュ型通知サポート

 Notification Hubは、共通のAPIを提供して、iOS、Android、Windows Storeにプッシュ型通知をただちに送信します。

 アプリは、プラットフォームに特有のフォーマットもしくはプラットフォーム依存の方法で通知を送信できます。

効率的なマルチキャスト

 Notification Hubは、少ない待ち時間で何千・何百万ものデバイスへプッシュ型通知のブロードキャストができるように最適化されます。サーバーのバックエンドは、Notification Hubへ1つのメッセージを送ると、何百万ものプッシュ型通知が自動でユーザに送信されます。Notification Hubに登録の際、デバイスやアプリは、ユーザあたりタグの数を指定できます。

 これらのタグは、前もって準備したり廃棄する必要がなく、非常に簡単な方法でフィルターされた通知を、1つのAPIのコールで、無限数のユーザやデバイスへ送信できます。

極限スケール

 Notification Hubは、アプリケーションを再構築したり共有することなく、何百万ものデバイスに到達できるようにします。

 Pub/Subルーティングメカニズムにより、非常に効率的な方法で通知をブロードキャストできます。これにより、独自のルーティングインフラを構築することなく、何百万ものユーザーへ通知メッセージを、信じられないぐらい簡単な方法で、ルーティングおよび送信できるようになります。

バックエンドアプリからの使用

 Notification Hubは、Mobile Service、Webサイト、クラウドサービス、IAAS VMなど、どんなバックエンドサーバアプリとも簡単に統合できます。

 Androidに、プッシュ型通知を送信するためのNotification Hubの構成は簡単にできます。

 Notification Hubを、Windows Azure管理ポータルで新規作成します(New->App Services->Service Bus->Notification Hub)。

 次に、https://code.google.com/apis/consoleから、Googleクラウドメッセージング登録をし、APIキーを獲得したら、Googleクラウドメッセージング設定にあるNotification Hub管理ページのCONFIGUREタブにそのキーをペーストするだけです。

 AndroidアプリのMainActivityクラスにあるOnCreateメソッドにコードを追加すると、Notification Hubにデバイスが登録されます。

gcm = GoogleCloudMessaging.getInstance(this); 

String connectionString = "<your listen access connection string>"; 

hub = new NotificationHub("<your notification hub name>", connectionString, this); 

String regid = gcm.register(SENDER_ID); 

hub.register(regid, "myTag"); 

 これで、.NETバックエンド(または、Node、Java、PHP)から、“myTag”タグに登録されたWindows Store、Android、iOSデバイスへ、1つのAPIコールを通じて(文字通り、たった1つのAPIコールで登録した何百万ものクライアントへメッセージをブロードキャストできます)通知をブロードキャストできます。

var hubClient = NotificationHubClient.CreateClientFromConnectionString( 
                  “<your connection string with full access>”、 
                  "<your notification hub name>"); 


hubClient.SendGcmNativeNotification("{ 'data' : {'msg' : 'Hello from Windows Azure!' } }", "myTag”); 

 Notification Hubは、究極にスケーラブルで、クロスプラットフォーム、プッシュ型通知のインフラを提供するため、何百万ものモバイルユーザやデバイスへプッシュ型通知メッセージを効率的にルーティングできます。これにより、プッシュ型通知ロジックを大幅に簡易化し、よりスケーラブルにすることで、より良いアプリの構築が可能になります。

 Notification Hubの詳細については、ここからMSDNをご確認ください。

まとめ

 上記機能はすでに本番環境にあり、すぐに利用可能です(注:まだプレビューのものもあります)。もしまだWindows Azureアカウントをお持ちでなければ、無償トライアルにサインアップして、上記機能をすぐにお試し頂けます。アプリの構築方法などの詳細は、Windows Azure Developer Centerで確認してください。

 Hope this helps,

 Scott

 P.S.ブログに加え、現在Twitterを使って簡単な更新やリンク共有を行っています。twitter.com/scottguで、私をフォローしてください。

この記事は参考になりましたか?

  • X ポスト
  • このエントリーをはてなブックマークに追加
Scott Guthrie氏 Blog翻訳連載記事一覧

もっと読む

この記事の著者

WINGSプロジェクト Chica(チカ)

WINGSプロジェクトについて> 有限会社 WINGSプロジェクトが運営する、テクニカル執筆コミュニティ(代表 山田祥寛)。主にWeb開発分野の書籍/記事執筆、翻訳、講演等を幅広く手がける。2018年11月時点での登録メンバは55名で、現在も執筆メンバを募集中。興味のある方は、どしどし応募頂きたい。著書記事多数。 RSS Twitter: @yyamada(公式)、@yyamada/wings(メンバーリスト) Facebook

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

Scott Guthrie(Scott Guthrie)

※プロフィールは、執筆時点、または直近の記事の寄稿時点での内容です

この記事は参考になりましたか?

この記事をシェア

  • X ポスト
  • このエントリーをはてなブックマークに追加
CodeZine(コードジン)
https://codezine.jp/article/detail/7224 2013/06/26 16:11

おすすめ

アクセスランキング

アクセスランキング

イベント

CodeZine編集部では、現場で活躍するデベロッパーをスターにするためのカンファレンス「Developers Summit」や、エンジニアの生きざまをブーストするためのイベント「Developers Boost」など、さまざまなカンファレンスを企画・運営しています。

新規会員登録無料のご案内

  • ・全ての過去記事が閲覧できます
  • ・会員限定メルマガを受信できます

メールバックナンバー

アクセスランキング

アクセスランキング