今回はニフクラ mobile backendの提供するプッシュ通知機能の一つ、リッチプッシュ通知について紹介します。
リッチプッシュ通知とは?
一言で言うとリッチプッシュ通知とはWebViewを使って指定したURLを開くプッシュ通知です。アプリへの通知ではメッセージの他、アプリ内で使えるデータを送信できます。そのデータを使ってアプリ内で処理判定を行うことで特定のビューを開いたり、ポイントをゲットしたりする仕組みが使えます。リッチプッシュ通知をその機能をより手軽に使えるようにしたものです。
使い方
アプリ側(今回はiOS)の設定としては、通常のプッシュ通知を受け取るためのコードに加えて、handleRichPushを利用するためのコードが必要になります。プッシュ通知のペイロード内にリッチプッシュ用のURLがあるかどうか判定し、表示を行います。なおリッチプッシュ通知では必ずWebViewが開きますので、アプリを操作中には開かない方が良いかも知れません。その点を考慮したコードは次のようになります。
- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{ if ([userInfo.allKeys containsObject:@"com.nifty.RichUrl"]){ if ([[UIApplication sharedApplication] applicationState] != UIApplicationStateActive){ [NCMBPush handleRichPush:userInfo]; } } }
“com.nifty.RichUrl”の部分にURLが入ってくる仕組みです。
管理画面での設定
アプリでの見え方
リッチプッシュ通知を受け取った時の表示は通常のプッシュ通知と変わりません。
メリット
リッチプッシュ通知のメリットは何と言ってもカスタマイズ性の高さです。HTMLなので文字サイズを変えたり、画像を入れたりと表示を柔軟にカスタマイズさせることができます。Web上なのでコンテンツの差し替えも容易です。
もちろんこういった画面をアプリ内部に仕込むこともできますが、作り込む工数や審査の時間を考えるとHTMLであるメリットは大きいと言えます。また、ニフティクラウド mobile backendのSDKを使うことでいつでもすぐにリッチプッシュ通知が使えるのもメリットではないでしょうか。
もっとカスタマイズしたい場合は?
WebViewを開くだけでなく、ポイントを付与したり特定のビューを開いたりといったカスタマイズをしたいと思うかも知れません。そんな時にはプッシュ通知の際にJSONデータを送って、それをアプリ側で判定することでもっとカスタマイズした動作を実現できます。
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { // プッシュ情報の取得 NSDictionary *payload = [launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"]; NSDictionary *data = [payload objectForKey:@"name"]; if (data != NULL){ //値を取得した後の処理 NSLog(@"data:%@", data); } return YES; }
上記の処理ではペイロードの中に name があるかどうかで処理分けをしています。同じように処理を行えばより細かくこだわった動作が可能になります。
プッシュ通知ではテキストメッセージしか送れず、文字数も短いのでなかなか思ったメッセージが送れないかも知れません。そこでリッチプッシュ通知を使って、HTMLを使ったダイナミックなメッセージを送ってみてはいかがでしょうか。
ユーザ体験としても文字を送るだけよりも華やかなHTMLで通知を読める方が理解度が深まり、魅力を感じてくれるはずです。ぜひお試しを!
★プッシュ通知をもっと活用したい!という方に!
ニフティクラウド mobile backend(mBaaS)でプッシュ通知をより積極的に運用するためのノウハウをまとめたeBook「戦略的プッシュ通知運用法」を配布しています。ぜひダウンロードしてご覧ください!!