Open5

[Unity]環境ごとにFirestoreの接続先を分けたい

sukedonsukedon

前提

Firestoreをはじめてちゃんと使うので、色々試してます

背景

  • 次のUnityアプリではFirestoreを使用したい。
  • 開発環境と本番環境のDBは分けたい。

複数のDBを用意してい、環境ごとにそれぞれのDBを使うようにすればいいやと思っていましたが、
Firestoreは1のFirebaseプロジェクトにつき作成できるDBは1つのよう。
(ReatimeDBのときは複数DB使えたのに、、

案1

最初は、ルートを
/environment/prd
/environment/dev
みたいな構成にすればいける!ってなったのですが、コレクショングループとして小階層のドキュメントに対して一括で処理をしたいときにprdとdevが混ざってしまうことに気づいてやめました

案2

じゃあ
/dev_user/{userId}/dev_post
みたいにprefixとして環境名を各コレクションの頭に定義すればいける!
ってなったのですが、今度はセキュリティルールを記述する段階でdev_user,prd_userみたいに複数定義する必要があることに気づきやめました

案3

結局素直に環境ごとにfirebaseプロジェクトを用意してあげるのがよさそう(めんどい

sukedonsukedon

Unity側で複数環境の設定ファイルを切り替えるようにしたらとりあえずやりたいことはできた。
ランタイムでの切り替えは実現出来てないけど、ビルドごとに切り替えればよかったので一旦解決。

sukedonsukedon

↑ビルドごとに切り分けられたと思ったらUnityを再起動しないと反映されないという困った事態に直面、、
別の方法を検討