0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

ニフクラ mobile backendのInstallationをOneSignalに移行する

Posted at

ニフクラ mobile backendは3月末で終了します

多くの方がニフクラ mobile backendのプッシュ通知を利用しています。他の機能(認証やデータストアなど)を使っていないのであれば、プッシュ通知のクラウドサービスへ移行するのが最も手軽そうです。

そこで、海外のプッシュ通知ASPであるOneSignalへ、既存のニフクラ mobile backendのプッシュ通知データを移行する方法を紹介します。

TL;DR

移行用のスクリプトを作りました。

NCMBMania/NCMB2OneSignal

使い方は、以下のような形です。

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

これらを控えておきます。

image.png

移行用スクリプトを用意する

移行用スクリプトは、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 以下に保存されます。

注意点

プッシュ通知の運用によって、データフォーマットが異なる場合があります。その場合はスクリプト自体を修正してください。

指定できるデータは下記のドキュメントを参照してください。

Add a device

まとめ

ニフクラ mobile backendからOneSignalへの移行はさほど難しくありませんが、データの持ち方が変わるので注意が必要です。また、アプリからプッシュ通知を作っている場合には、OneSignal SDKなどを利用する必要があるでしょう。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?