【開発者向け】非monacaハイブリッドアプリ制作におけるニフティクラウドを利用したPUSH通知配信機能の開発手順(コードあり)

以前に制作したアプリのPUSH通知の配信に利用していたmBaaS(mobile backend as a Service:スマートフォンアプリでよく利用される汎用的な機能をクラウドから提供するサービス)が終了してしまったため、ニフティクラウドへの移行作業を行いました。移行時に、PUSH通知の配信先の端末情報を記録する処理を作り直すことになったので、その手順について簡単にまとめてみました。

ニフティクラウドでは、無料のプランでも毎月200万回のAPIリクエストと、200万件のPUSH通知を送信することが可能で、かつ、各機能を利用するためのAPIが提供されています。

ただし、PUSH通知の配信先端末の登録に必要なAPIは、ニフティクラウド側の設定により、JavaScriptからは「monaca」を使っていない場合は利用することができないように設定されているらしく、この部分はJavaScript以外の手段でAPIを利用する必要があります(実装中、この記述に気づかずに苦戦していました)。

今回は、WordPressで構築したWebサイトがあるため、そちらに処理用のPHPファイルを設置し、AJAXでこのPHPファイルに必要なデータを送信して処理するような仕組みで実装を進めました。

今回使用するフレームワークについて

アプリカンというハイブリッドアプリの開発フレームワークを使用します。

実装の流れ

まず、JavaScript側の処理についてですが、アプリの起動直後に読み込まれるページで下記の処理を行っています。

  • 1.現在利用している端末が「iOS・Androidのどちらの端末であるか」を取得
  • 2.アプリカンのライブラリで定義されている「getPushToken」メソッドを使用して「端末のトークン情報」を発行
  • 3.AJAXでPHP側に1・2で取得したデータを送信(要クロスオリジン対策)

次に、PHP側で下記の処理を行います。

  • 4.ヘッダー情報を追加し、クロスオリジンでのアクセスを許可するように設定
  • 5.上記3で送信されたデータの受け取り
  • 6.ニフティクラウドのAPIを利用するための「Signature(シグネチャ)」の発行
  • 7.5で受け取ったデータを端末登録用のAPIに送信

6、7については、下記ページを参考にしています。
https://github.com/NIFCloud-mbaas/UserCommunity/issues/346

コード例

JavaSctipt側

PHP側

ご興味をお持ちの方はご相談ください

当社では、iOSおよびAndroidのスマートフォン・タブレットアプリの制作のご相談・ご依頼をお待ちしております。お気軽にお問い合わせくださいませ。メール・お電話はもちろん、ご訪問の上で対面で信頼関係を築きながら、お客様の疑問点やご要望点についてご相談相手としてご一緒させていただきます。

スマホアプリ開発のページはこちら