連載
» 2012年09月07日 00時00分 公開

Androidで使えるO2O技術まとめ解説(1):スマホ技術者も知らないと損する「O2O」の基礎知識 (5/5)

[松井暢之, 吉村隆一郎,TIS 戦略技術センター/同社 クラウドテレフォニー推進室]
前のページへ 1|2|3|4|5       

【3】ユーザーに情報を送り届ける「Push Notification」

 最後に、Push Notificationを紹介します。O2Oビジネスを展開する場合、サーバから利用者のAndroidスマートフォンへ情報を直接送り届けたい、という状況が発生します。

 例えば「ある店舗でタイムセールスを行うので、店舗の近くに居る利用者へメッセージを送り店舗へ誘導したい」などという場合ですね。

 ただし、カーナビなどの専用デバイスとは異なり、サービス提供者が配布したアプリが必ずフォアグラウンドで起動しているとは限りません。そこで「サーバ側が望むタイミングで」メッセージを受け取ってもらうためには、工夫が必要になります。

Pull型実装の問題

 Androidでは、バックグラウンドで動作し続ける「Service」を作ることができます。また、定期的に処理を実行するための「AlarmManager」サービスも最初から組み込まれています。

 これらを利用して、「定期的にサーバへ問い合わせし、条件に合致した場合は通知領域へメッセージを出す」という図5のようなPull型のアプリを作ることは可能です。

図5 Pull Notification

 しかし、このような実装をした場合、タイミングを逃さないようにするために頻繁に問い合わせをするとバッテリが持ちませんし、問い合わせをするタイミングでネットワーク通信ができなかった場合の処理も自力で実装しなければなりません。「サービス提供者が望むタイミングでメッセージを送り届ける」という要求には、あまり適していませんね。

Push型実装 = Push Notification

 このような「サービス提供者が望むタイミングでメッセージを送り届ける」場合には、Push Notificationが役に立ちます。Androidの場合、「GCM(Google Cloud Messaging for Android)」という名称でサービスが提供されています。

 図6のように、Androidスマートフォン・サービス提供者のサーバ・GCMサーバ群が連動することで、サービス提供者のサーバが任意のタイミングで個々のAndroidスマートフォンにメッセージを送信できるようになります。

図6 Push Notification

 このメッセージはサービス提供者が配布したアプリが起動していなくても処理できます。もしAndroidスマートフォンがメッセージを受け取れない場合でも、GCMサーバ群がメッセージをキューイングしてくれます。致れり尽くせりですね。

コラム もうAndroidのPush Notificationは「C2DM」ではない

Androidでは、これまで「C2DM(Cloud to Device Messaging)」という名称でPush Notificationサービスが提供されていました。しかし2012年6月26日よりC2DMは非推奨になり、新しいGCMに移行するようにアナウンスされています。既存のC2DMアプリは現時点でも稼働しているようですが、新規にC2DMアプリを登録できなくなっています。


Push Notificationの活用ポイント

 Push Notificationを用いれば、鮮度の高いOnline情報を適切なOffline状態の利用者へ送り届けられます。OnlineとOfflineのさまざまなチャネルを結び付けるための技術の1つとして、上手く活用してください。

次回は、屋内測位技術の実装例アプリ

 次回は、【1】の屋内測位技術を利用する実装例として、複数のWi-Fiアクセスポイント情報を活用し「今あなたはどの部屋にいるのか?」を教えてくれるSaaS「Walkbase」を利用したアプリについて、ソースコードを交えて解説します。

前のページへ 1|2|3|4|5       

Copyright © ITmedia, Inc. All Rights Reserved.

RSSについて

アイティメディアIDについて

メールマガジン登録

@ITのメールマガジンは、 もちろん、すべて無料です。ぜひメールマガジンをご購読ください。