MonacaはHTML5やJavaScript、CSSでスマートフォンアプリを開発できるプラットフォームです。そんなMonacaではニフクラ mobile backendと同じようなバックエンドサービス「Monacaバックエンド」を提供してきました。
10月05日に正式リリースがありましたが、Monacaバックエンドは2021年5月末をもって終了となります。みなさんの開発したアプリのデータが消えるのは困ったことです。そこでMonacaバックエンドに実装されたエクスポート機能から、ニフクラ mobile backendへ移行するための手順について紹介します。
エクスポートについて
Monacaバックエンドのダッシュボードに、エクスポートボタンが追加されています。これをクリックするとデータがエクスポートされます。
コレクションはZip圧縮されていますので、解凍してください。
マイグレーション(移行)ツールについて
移行ツールはこちらにあります。
https://romantic-pasteur-302809.netlify.app/
ログなどは取っていませんが、オンライン上のサービスを使うのが不安という方もいるでしょう。NCMBMania/MonacaBEtoNCMBにソースコードを公開していますので、自分でデプロイできます。なお、ローカルでも動かせます。
使い方
現在はコレクションとプッシュ通知の移行に対応しています。それぞれニフクラ mobile backendでは呼び方が異なりますので注意してください。
- コレクション → データストア
- プッシュ通知 → Installations
まず最初にニフクラ mobile backendへユーザ登録して、アプリケーションキーとクライアントキーを取得します。新規登録したタイミングで作成するか、新しいアプリを作成するというメニューから作成してください。
取得したらマイグレーションツールに入力します。次に、コレクションのファイル(複数可)とプッシュ通知のファイルをD&Dしてください。
正しいファイルが指定できていれば、取り込み予定件数が表示されるはずです。
準備ができたらアップロードを開始するボタンを押してください。徐々にログを出力しながら処理が進んでいきます。
注意点
Monacaバックエンド上でのデータ作成日、更新日はそのまま反映できません。次のように名前が変わっていますのでご注意ください。
- 作成日時 → createDateMonaca
- 更新日時 → updateDateMonaca
- Oid → monaca_id
パーミッションデータは反映されません。マイグレーションツールでは全データ、誰でも読み込み可能/書き込み可能な状態で取り込まれます。
プッシュ通知用のデバイストークンの扱いについて
Monacaバックエンドとニフクラ mobile backendでは、プッシュ通知に利用するデバイストークンの扱いが異なります。
サービス名 | デバイストークンの扱い |
---|---|
Monacaバックエンド | 開発用、本番運用用のデバイストークンを1つのバックエンドで管理 |
ニフクラ mobile backend | 開発用、本番用でアプリを分けて管理 |
ニフクラ mobile backendでは開発用と本番用のデバイストークンが混ざると、プッシュ通知送信時にエラーが発生します。このマイグレーションツールでも、どちらかのデバイストークンしか取り込めないようになっています。両方のデバイストークンを取り込むためには、ニフクラ mobile backendでアプリを二つ作成し、それぞれ分けて取り込んでください。
まとめ
日数的にはまだ余裕はあるものの、変更点に合わせて実装も変えなければいけません。アプリの審査を考慮すると、早めの対応が肝要でしょう。マイグレーションツールを使って、ニフクラ mobile backendへの移行をぜひ進めてください。
なお、ニフクラ mobile backendでは定期的にもくもく会を開催しています。アプリ開発で詰まったところがあれば、すぐにサポートを受けられます。ぜひご参加ください!
また、Monaca Backendからニフクラ mobile backendに移行する際のハンズオンの開催を予定しております。
直近のイベント予定は以下です。
- 10月12日(月) Monaca Backend→ニフクラ mobile backend移行ハンズオン
- 10月19日(月) Monaca × NCMBでリモート出退勤アプリを作ろうハンズオン
- 10月23日(金) もくもく会
イベント申し込みページは下記より随時公開していきますので、ぜひご覧ください。 イベント情報はこちら
また、Monacaアプリでニフクラ mobile backendを使った開発を行うのに最適なクイックスタートがありますので、ぜひご覧ください!