本文へジャンプします。

ニフクラmBaaSの「リッチプッシュ通知」で、アクティブユーザーを取り戻す!

お久しぶりです。新米クラウドエンジニアの大川です。

昨年10月にリリースされたスマホアプリ開発をラクにするmBaaS(mobile Backend as a Service)、
ニフティクラウドmobile backendが1月末にバージョンアップされたので、新しい機能を使ってアプリのアクティブユーザーを取り戻す方法を紹介したいと思います。

richpushReceived

アップデートされた新機能について

1月末に追加となった機能は以下の3つです。

  • 位置情報検索
  • リッチプッシュ通知
  • 公開ファイル取得API

アプリをしばらく起動していない人を呼び戻すという想定の下、
新機能リッチプッシュ通知と公開ファイル取得APIを使って、
実際にプッシュ配信してみたいと思います。

Webページの準備

リッチプッシュ通知は、プッシュ通知を受信したあとに指定したWebページが開く機能です。
文字だけのプッシュ通知以上にユーザーの興味を引くことができます。
そのWebページを保存するのに、これまでは別のサービス・サーバーが必要でしたが、
新機能の公開ファイル取得APIを使うことで、mobile backendのファイルストアに
HTMLファイルを保存できるようになりました。

以下のようにHTMLファイルとWebページで使用する画像やcssをファイルストアにアップロードします。
filestore1

ファイルストアにあるものは、HTMLファイルから相対パスで

<p><img src="./kuma.png" alt="くまさんからのお知らせ"></p>

と記述することで参照可能です。(通常のサイトと同じです。)

アプリケーションの設定で、公開ファイルのHTTPS取得を有効にしておきます。
config

プッシュ通知の準備

プッシュ通知を配信するための準備として、2つの手順が必要です。

  1. GCM/APNsと連携するための準備
  2. アプリでプッシュ通知を受信する準備

具体的な方法については今回の記事では割愛しますが、
mobile backendのドキュメントで確認することができます。

リッチプッシュ通知はWebページの通知画面が開くものなので、
例えばゲームをプレイ中にリッチプッシュ通知を受信してそのまま展開する
処理を書いてしまうと、非常に邪魔な機能となってしまいます。

以下はiOSアプリでのリッチプッシュ通知の受信処理を記述している部分ですが、
リッチプッシュ通知を受信したときに、アプリがバックグランドにいる場合だけ
Webページを表示するようにしています。

- (void)application:(UIApplication *)application didReceiveRemoteNotification:(NSDictionary *)userInfo{
    if ([userInfo.allKeys containsObject:@"com.nifty.RichUrl"]){
        if ([[UIApplication sharedApplication] applicationState] != UIApplicationStateActive){
            [NCMBPush handleRichPush:userInfo];
        }
    }
}

また、リッチプッシュ通知を受信してからアプリを起動したときにも
Webページを表示したい場合には、以下のようにします。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions{

    (略)

    [NCMBPush handleRichPush:[launchOptions objectForKey:@"UIApplicationLaunchOptionsRemoteNotificationKey"]];

    return YES;
}

リッチプッシュ通知を配信

アプリ側での準備が整ったら、いよいよリッチプッシュ通知の配信です。
重要なポイントは、2つです。

URLの設定

プッシュ通知の配信画面に、URLを設定する部分があります。
urlSelect

ここで、ファイルストアに保存したHTMLファイルを指定するのですが、
以下のようなURLとなります。(参考)APIリファレンス

https://mb.api.cloud.nifty.com/2013-09-01/applications/(アプリケーションID)/publicFiles/test.htm

URLの途中に出てきたアプリケーションIDは、
mobile backendのダッシュボードを開いたときのブラウザーのアドレス欄からコピーしてきてください。
appId

配信端末の絞り込み

今回は、アクティブユーザーを取り戻すことが目的なので、
数日間アプリを起動していない端末に向けて、プッシュ通知を配信します。

配信端末の絞り込み設定で、updateDate(最終更新日)がある日時より過去の端末を絞り込むと、
アプリをしばらく起動していない端末を指定することができます。
(ほかにも、アプリのバージョンが古い人のみへの配信など、細かい設定が可能です。)
searchCondition

設定が完了したら、プッシュ通知を配信してください。
以下のようにプッシュ通知が受信され、そこからアプリを起動すると
ファイルストアのWebページが開くようになっています。
(キャラクターが話しかけているようなページや、キャンペーンページを表示させるといいかもしれません。)
richpushsample

このように、リッチプッシュ通知機能と公開ファイル取得APIを利用し、
mobile backendだけでアクティブじゃないユーザーに対してリッチプッシュ通知を配信することができました。

ほかにも新機能として位置情報検索が可能となり、
機能も充実してきましたので、いろいろなアプリケーションを簡単に
作っていってもらえればと思います。

Basic プランは無料でご利用いただけますので、ぜひお試しください。

ニフティクラウド 導入相談窓口
ニフティクラウド 無料セミナー

閉じる

閉じる

クラウドブログ編集部

クラウドブログ編集部

ニフティクラウド ユーザーブログ編集部のアカウントです。 編集部からのお知らせや、レギュラーライター以外のゲストによる寄稿記事を掲載していきます。

浜中 慶

浜中 慶

1980年、神奈川県生まれ。2003年ニフティ入社。 ポータルサイト開発を中心に、音楽配信サービス、CGMサービスなど様々なプロジェクトに企画/デザイン/システム担当として参加。現在は@niftyのポータルサービス向けコンテンツ管理システムの企画/開発/運用を担当。

吉田 雄哉

吉田 雄哉

株式会社co-meetingの創業メンバー。「取締役&External- facing Technologist」と名乗り新しいIT技術を広く伝える活動とWebアプリケーション開発を行う毎日。パッケージベンダーでのSaaS立上げ・製造業の情報システム部門で企画やPM・受託開発と従事してきたため、ベンダーサイドとユーザサイド の両方の視点を持ち合わせる。

石田 健亮

石田 健亮

株式会社ドリーム・アーツで小売事業者向けSaaS「Shopらん」を企画、開発。メインの仕事はプログラマーだがサーバー管理や営業もこなすユーティリティプレイヤー。最近好きな事はパフォーマンスチューニング。特に並列化プログラミングがマイブーム。キライなことはデータセンターでの作業。騒音と乾燥が弱点。ニフティクラウドでデータセンターに行く必要が無くなったことが本当の利点だ と思っている。

五月女 雄一

五月女 雄一

ニフティでは「インフラを守る簡単な様で奥が深いお仕事」をしています。 夢はインフラの気持ちが読めるエンジニアになること。

わたなべ かずひろ

わたなべ かずひろ

専門学校卒業後、ソフトウェア開発会社で電力系統制御システムの開発に従事。その後、CD-ROM等マルチメディア系PCソフトの開発を経て、1998年フリーランスに。 2000年8月に株式会社イーツーの設立に参画。携帯を含む様々なWeb系のシステム開発に携わる。現在はiPhone/Androidアプリなどの開発も手がけている。

市角

市角

ニフティクラウドのコントロールパネル設計・開発をメインに、たまにインフラの運用やお手伝いもやっていたりします。コントロールパネルや新機能の活用方法、アイデアなどを中心に書いていく予定です。

仲山 昌宏

仲山 昌宏

歌って踊れるインフラエンジニア兼、PHPもRubyもJavaも書くPerl使い。 物理サーバの運用に飽きて、フルラックに格安サーバ詰めて自宅プライベートクラウドを構築中。 今年は個人的には分散処理を攻めていきます。

猪飼 賢広

猪飼 賢広

1984年、愛知県名古屋市生まれ。大学は福島県にある某大学。2008年ニフティに入社。 開発系部署に配属後、主に各種テーマサイト開発のシステム面調整、開発進行管理役などとして参加。 現在もPC・ガラケーサイトの開発まわりを担当。インフラまわりを触る案件にも携わっており、日々修行中。 好きな芸人はなかやまきんに君とレイザーラモンRG。

久江 裕之

久江 裕之

ニフティクラウドのインフラ運用、OS提供の仕事をしています。 新しいOSやイメージが出る時にこのブログでご紹介いたします。入社5年目。一流のインフラエンジニアを目指して日々勉強中。

竹内 豪

竹内 豪

ニフティクラウド エンジニア

山口

山口

ニフティクラウドの基盤設計、新サービス/アライアンス/インフラ企画、その他雑用全般を担当しています。 クラウドに欲しい機能や、こんなふうに使ってほしいという想いが共有できれば良いですね。

芳中 隆幸

芳中 隆幸

ニフティクラウドの開発、運用を担当しています。

酒井 浩平

酒井 浩平

ニフティクラウドの中にいます。 ネットワークまわりの運用・開発や自動化などに取り組んでいます。 すべてのエンジニアを幸せにすることを目指しています。

higebu

higebu

ニフティクラウド IaaSのエンジニアです。 ネットワーク、DRサービス with VMware vCloud® Air™ Technology辺りの担当をしています。

武田

武田

ニフティクラウドの開発・運用を担当しています。 各種機能の内容についてなどで執筆させていただく予定です。

福澤真

福澤真

ニフティクラウドのコンパネ開発、運用をしています。

森藤 大地

森藤 大地

データに関する仕事が好きです。

宮原徹

宮原徹

日本仮想化技術株式会社 代表取締役社長兼CEO。仮想化技術に関するコンサルタントとして長年活動しており、特にベンチマークテストによる性能評価を得意としている。

荒谷翔

荒谷翔

株式会社はてなでMackerelのセールスデベロッパーとして勤務しています

東條 望

東條 望

2014年にニフティへ中途入社。 入社後から現在まで、ニフティクラウドのサービス企画・開発を担当しています。 各サービスの紹介を執筆させていただく予定です。

世良迪夫

世良迪夫

ニフティクラウドのRDBなどを担当しています