見出し画像

Angular(standalone)+Firebaseを使ったアプリで、複数のFirebaseプロジェクトを使用する方法

はじめに

Angular(standalone)+Firebaseを使ったWEBアプリもしくはionicなどのスマホアプリを構築するとき、通常であれば一つのFirebaseプロジェクトを使用することがほとんどです。
ですがいくつかの理由により、一つのアプリ内で複数のFirebaseプロジェクトを使用したいことがあります。
例えば、単純に新しい機能を追加する時にデータも完全に切り分けたいという理由や、すでにある他の機能をマージしたいなどの理由、さらには使用するユーザーの国ごとにFirebaseのリージョンを切り替えたい場合などが考えられます。
今回は、ユーザーの国ごとにFirebaseのリージョンを切り替えたい場合を想定して、最も簡易な構築方法を説明したいと思います。
なお、angularおよびFirebaseの使い方などはご存知である前提での説明になりますので、今回の主目的以外の部分については割愛して掲載しています。


環境

⭐️必要なパッケージ

  • @angular: v16.2.2

  • @angular/fire: v7.61 (現時点での最新版)

  • firebase: v9.23.0 (@angular/fireがv10以降に対応していないため)

  • rxfire: v6.0.3 (v6.0.4以降はfirebasev10未満には対応していないため)

 ※ 今回はAngular縛りなので、angular/fireを使用していますが、バージョンアップが滞っているので、今後はfirebaseそのものとrxfireのペアで構築していく必要があるかもしれません。
その場合、今回の記事の内容は随時変更していくつもりです。

※ @angular/fireのv16がリリースされました。(2023/10/27)
取り急ぎfirebaseとrxfireも共に最新版にアップデートし、手持ちのプログラムをビルドし簡単なテストをしてみましたが、エラー等発生しませんでした。細かい部分のチェックまではしていませんがこれで今後の不安も解消です。

⭐️Firebase環境

  • USリージョンのプロジェクト

    • リージョンコード: nam5 (us-central)

  • JPリージョンのプロジェクト

    • リージョンコード: asia-northeast1

  • 開発用のプロジェクト

    • リージョンコード: asia-northeast1(近いところでOK)

ここから先は

11,007字 / 2画像

¥ 900

この記事が気に入ったらサポートをしてみませんか?