アプリのプッシュ通知を実装しよう!

gpush

こんにちは。エニセンスでアプリのプロデューサー&エンジニアを担当しているNoujimaです。
今回はアプリからAndroid端末に通知を出す方法についてです。

日頃からスマホを使っているとたくさんのアプリからプッシュ通知が来ますよね。
“メールが届いた”のように何かアクションがあって通知してくるもの以外にも、ある時間になると”そろそろ使ってね”的な通知を送ってくるアプリもあります。

後者は何のためにそのような仕組みを入れているのか?
一番の理由はアクティブ率を上げる為。

人間は通知が来るとどうしてもタップして開いてしまう生き物なのかもしれません。
     ↑ 本当でしょうか??

エニセンスがリリースしているアプリに端末のキャッシュをワンタップで簡単に削除してくれる「スピードキャッシュクリーナー」があります。
このアプリには毎日22時にアプリの使用を促すプッシュ通知を出してます。(設定でON/OFF切り替え可能)

これを見ると細かい説明は必要ないかもしれませんね。
スクリーンショット 2015-04-20 0.01.20

細部まで公開することは出来ませんがこれはこのアプリのGoogleアナリティクスのデータの一部でアクティブユーザーの数を表示しています。
毎日毎日一箇所だけ突出した部分がありますよね。そこがまさに22時なのです。

こうすることでこのアプリを開く予定が無かったユーザーにも使用してもらえることが可能になります。
当然アプリそのものが毎日開いて使ってもらってユーザーを満足させられるクオリティであることが大前提ですが。

さて、このプッシュ通知の仕組みの話。
このアプリに限って言えば、
・AlarmManager
・PendingIntent
・BroadcastReceiver
・Notification
・NotificationManager
このあたりのクラスを使用して実装しております。

あっと、全部Javaの話しですね。
細かい実装方法はいつか書きたい…

これらを使用することでとても簡単にプッシュ通知の実現が可能です。
繰り返し通知やキャンセルなども書くことができます。

が、しかし!

もっと簡単にプッシュ通知を実装する手段があります。
たとえば「GrowthPush」
スクリーンショット 2015-04-20 0.27.43

このサービスを使うと好きな時間に好きな内容でプッシュ通知を送れるようになります。
実装方法も難しくはありません。
・Google Developers ConsoleでGCMの登録
     ↓
・GrowthPushの管理画面でGCMのAPIキーを登録
     ↓
・アプリ側は専用のSDKを入れて数行のコード記述のみ

時間や内容の変更、更にはプッシュ通知を送るユーザーをセグメントを作って分けるなどの処理がすべてブラウザで完結するので内容変更の為にわざわざアプリをアップデートする必要がないことがすばらしい!
更には送った通知をどれぐらいのユーザーが開いたかの解析や通知内容のA/Bテストも簡単に出来ます。

まだエニセンスがリリースしているアプリに導入はしていませんが実装のテスト検証は完了済。
これからリリースするアプリには積極的に導入していきたいですね。

エニセンスでは、このようなツールを使い倒したいエンジニアやデザイナーを募集しています。ご興味がありましたら、こちらからご応募ください。

The following two tabs change content below.

noujima

P&E
小売業 -> 求人営業 -> 転職コンサル -> Androidエンジニア という謎経歴です
新アプリ事前登録受付中!!

今月のオススメアプリ♪

stache