mBaaSでは通常、1つのスマートフォンアプリに対して1つのmBaaSアプリを割り当てます。しかし、アプリを無料版と有料版で分けている場合、ビジネス版とパーソナル版で分けている場合などでは複数のアプリケーションキーを使い分けたいと考えることもあるでしょう。
そこで一つのアプリの中でmBaaSの接続先を切り替える方法を紹介します。
iOSの場合
iOSの場合、1つのアプリの中で1つのmBaaSアプリしか使えません。そのため、キーを上書きします。
NCMB.setApplicationKey(keys.applicationKey1, clientKey: keys.clientKey1) // アプリを切り替え NCMB.setApplicationKey(keys.applicationKey2, clientKey: keys.clientKey2)
この場合、一旦切り替えた後、再度戻すのを忘れないようにしなければいけません。
Androidの場合
Androidも同様です。
NCMB.initialize(this.getApplicationContext(),"APP_KEY1","CLIENT_KEY1"); // アプリを切り替え NCMB.initialize(this.getApplicationContext(),"APP_KEY2","CLIENT_KEY2");
JavaScript/Monacaの場合
JavaScriptの場合、インスタンスを作るので複数を同時に設定可能です。
const ncmb1 = new NCMB("YOUR_APPLICATION_KEY1","YOUR_CLIENT_KEY1"); const ncmb2 = new NCMB("YOUR_APPLICATION_KEY2","YOUR_CLIENT_KEY2");
JavaScriptの場合は変数自体が分かれますので、使い分けが容易でしょう。
Unityの場合
UnityはNCMBSettingsをアタッチするので、複数の接続先を設定するのは困難と思われます。
まとめ
インスタンスを作る(JavaScript)と作らない(iOS/Android)とで実装方法が異なるので注意してください。アプリケーションキーを切り替えるだけであれば、コストは殆どなく利用できます。ただし、切り替えた後に元に戻すのを忘れないようにしてください。