SHOEISHA iD

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

DeveloperZine(デベロッパージン)- エンジニアの意思決定を支える技術情報メディア ProductZine

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

サーバ側コーディング不要のGoogle App Engine開発ツール「gaedirect」

gaedirectを利用したAndroidからの緊急連絡とサーバプッシュ表示の実装

gaedirectを使用した応用例


2. 画面操作と表示

 それでは実際の動作イメージを、画面操作と表示内容から見ていきます。

画面1 スマートフォンからスマートフォンへサーバプッシュ

 GAE上で実際に動作させているサンプルを次のURLで確認できます。

 図2と図3は、スマートフォンからスマートフォンへのサーバプッシュ連絡を想定しています。左側の画面が送信者(遭難者)のスマートフォンですが、図のように姓名とスマートフォンの電話番号を入力して「データ送信」ボタンをクリックすると、図3のように、受信者(親族・知人)のスマートフォンに、入力情報とHTML5のGeolocationによる遭難者位置情報が付加されて表示されます。なお、サンプルではスマートフォンとしてAndroidを想定していますが、iPhoneなどGeolocationをサポートしているスマートフォンであれば問題なく動作するはずです。

図2 スマートフォン(左)からデータ入力
図2 スマートフォン(左)からデータ入力
図3 スマートフォン(左)で「データ送信」ボタンクリック
図3 スマートフォン(左)で「データ送信」ボタンクリック

画面2 AndroidからPCへサーバプッシュ

 GAE上で実際に動作させているサンプルを次のURLで確認できます。

 図4~図6は、スマートフォンからPCへのサーバプッシュ連絡を想定しています。図5のようにPC画面の場合はGoogle Mapsの地図上にGeolocationで取得された緯度、経度がマーカー表示されます。

図4図4 スマートフォン(左)からデータ入力
図4 スマートフォン(左)からデータ入力
図5 スマートフォン(左)で「データ送信」ボタンクリック
図5 スマートフォン(左)で「データ送信」ボタンクリック
図6 マーカのマウスオーバで入力データ表示
図6 マーカのマウスオーバで入力データ表示

Bigtableへの登録

 スマートフォンからクラウドへ送信された位置情報を含むデータはJavaScriptでの送信パラメータで、GAEのデータストア(Bigtable)への登録を行うか否かの指定を行うことができます。このサンプルでは登録実行を指定してあり、登録内容は図6のようになります。連載第1回でも触れたように、登録エンティティのフォーマットは、クラウドサーバ側でJavaやPythonのコード記述で行った場合とまったく同様で、クラウドサーバ側コード記述による機能拡張も容易です。

図7 スマートフォン送信データのBigtable登録内容
図7 スマートフォン送信データのBigtable登録内容

 ここまでご紹介してきた操作・表示内容は、筆者のスマートフォン実機を使用して動作を確認しています。筆者の場合NTTドコモのAndroidを使用していますが、iPhoneでも動作は問題ないはずです。

 ただし、Geolocationで取得される位置情報は正確でない場合があり、特に有線LAN環境と無線LAN環境では精度が大きく違うようで、例えば緯度経度の値で比較した場合、有線LANでは小数点以下第3桁までの制度なのに対して、無線LAN環境では小数点以下第7ケタまでの詳細なデータを取得できるという情報もあります。なお、この点に関する詳細については、関連書籍やサイト情報などを参照してください。

次のページ
3. プログラムサンプル

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

サーバ側コーディング不要のGoogle App Engine開発ツール「gaedirect」 連載記事一覧
この記事の著者

清野 克行(セイノ カツユキ)

慶應義塾大学工学部電子物理専攻卒。日本IBM、日本HPで、製造装置業を中心とした業務系/基幹業務系システムのSE/マーケティングや、分散アプリケーションによる社内業務システム開発などに携わる。現在は、クラウドやAjax関連の/ソフト開発/書籍執筆/セミナー講師/コンサルティング、などを行っている。情...

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

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

この記事をシェア

CodeZine(コードジン)
https://codezine.jp/article/detail/6153 2012/03/19 10:16

イベント

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

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

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

メールバックナンバー