ニフクラ mobile backendは3月末で終了します。
多くの方がニフクラ mobile backendのプッシュ通知を利用しています。他の機能(認証やデータストアなど)を使っていないのであれば、プッシュ通知のクラウドサービスへ移行するのが最も手軽そうです。
そこで、海外のプッシュ通知ASPであるOneSignalへ、既存のニフクラ mobile backendのプッシュ通知データを移行する方法を紹介します。
TL;DR
移行用のスクリプトを作りました。
使い方は、以下のような形です。
npx node dist/index.js \
--debug\
-a YOUR_ONESIGNAL_APP_ID \
-k YOUR_ONESIGNAL_REST_API_KEY\
/path/to/installation.json
必要な情報を用意する
ニフクラ mobile backendのプッシュ通知データをエクスポートする
プッシュ通知データは、管理画面のエクスポート機能か、Chrome機能拡張で取得できます。JSONデータで取得してください。
NCMBの管理画面をGoogle Chrome機能拡張で便利にする(CSVエクスポート) #JavaScript - Qiita
データはinstallation.jsonという名前だとします。
OneSignalの準備
OneSignalのアカウントを作成し、アプリを作成します。そうすると、Settings画面で以下の情報が取得できます。
- App ID
- REST API Key
これらを控えておきます。
移行用スクリプトを用意する
移行用スクリプトは、Node.jsで動作します。Node.jsがインストールされていない場合は、インストールしてください。
git clone https://github.com/NCMBMania/NCMB2OneSignal.git
cd NCMB2OneSignal
npm install
移行用スクリプトを実行する
先ほど取得したOneSignalの情報、installation.jsonのパスを指定して、スクリプトを実行します。
npx node dist/index.js \
--debug\
-a YOUR_ONESIGNAL_APP_ID \
-k YOUR_ONESIGNAL_REST_API_KEY\
/path/to/installation.json
この他に、下記のオプションがあります。 --debug
と --adhoc
はiOSで利用します。どちらも指定しない場合は、リリースモードとなります。
Usage: index [options] <filePath>
Arguments:
filePath installation.jsonのパス
Options:
-k, --key <REST API KEY> OneSignalのREST APIキー (default: "")
-a, --app-id <APP ID> OneSignalのアプリID (default: "")
--debug (iOSのみ)デバッグモード。サンドボックス向けの場合は指定してください。 (default: false)
--adhoc (iOSのみ)アドホックモード。アドホック向けの場合は指定してください。 (default: false)
-l, --language <language> 言語。デフォルトはja-JPです。 (default: "ja-JP")
-c, --country <country> 国。デフォルトはJPです。 (default: "JP")
-h, --help display help for command
installationデータに何か情報を紐付けている場合、それらはすべて tags
以下に入っています。 channels
も、tags
以下に保存されます。
注意点
プッシュ通知の運用によって、データフォーマットが異なる場合があります。その場合はスクリプト自体を修正してください。
指定できるデータは下記のドキュメントを参照してください。
まとめ
ニフクラ mobile backendからOneSignalへの移行はさほど難しくありませんが、データの持ち方が変わるので注意が必要です。また、アプリからプッシュ通知を作っている場合には、OneSignal SDKなどを利用する必要があるでしょう。