こんにちは、NoCodeCampのツバサです。
今日は、複数のFlutterFlowアプリを同一のFirebaseに接続する際に、FirestoreDataManegerが見えなくなるんだよなー。という点を解決したので、記事にします。見えなくても実際の動作に支障はありませんが、データの管理が見やすい方が、みんないいですよね。
問題:このFirestoreDataManegerが、ブランクになってデータを見ることができません。
事前準備
- 複数のFlutterFlowアプリを同一のFirebaseに接続していること
- FilestoreDataManegerを使用していること
今回は、複数のFlutterFlowのアプリを1個のFirebaseに接続した場合のみ起こる現象です。通常の1個目のサービスを作る方は、対象外です。
FilestoreManegerが空欄になる
1個目は、問題なく表示されるのですが、二個目以降は、
Could not create an account as firebase@flutterflow.io to your Firebase project.
Make sure “Email Sign-In” is turned on for your Firebase project, and try again.
となり、すべてのDataが表示されません。これを解決していきます。
解決方法
このような現象が起きる理由は、FlutterFlowとFirebaseの認証システムの相互作用にあると考えられます。FlutterFlowは、アプリ開発を簡素化するために、Firebaseとの連携を自動化しています。この自動化プロセスの一部として、FlutterFlowはfirebase@flutterflow.ioのアドレスを使用して認証を行っています。
しかし、複数のFlutterFlowアプリを同一のFirebaseに接続する場合、この自動化プロセスが適切に機能しない可能性があります。各アプリが独自にfirebase@flutterflow.ioのアドレスを作成しようとするため、認証の競合が発生し、FilestoreDataManegerが正しくデータを表示できなくなっているようです。
この問題を解決するには、firebase@flutterflow.ioのアドレスを一旦削除し、再度Flutterflowのアプリケーション側から追加する必要があります。これにより、FlutterFlowとFirebaseの認証システムが正しく同期され、FilestoreDataManegerが期待通りに機能するようになります。
具体的には、手順で解決します。
1.Firebaseにアクセスし、Authenticationのページを開く
2. firebase@flutterflow.io のアドレスを探し削除する
3.再度、firebase@flutterflow.ioのアドレスをAuthenticationに追加する
FlutterFlowアプリを再起動し、FilestoreDataManegerのデータが正しく表示されることを確認する
まとめ
FlutterFlowアプリ開発において、複数のアプリを同一のFirebaseに接続することには、メリットとデメリットがあります。
メリット
- データの一元管理:複数のアプリが同じデータベースを共有することで、データの一貫性が保たれ、管理が容易になります。
- 開発コストの削減:Firebaseの設定を再利用できるため、新しいアプリを開発する際の手間が省けます。
- ユーザー認証の共有:同一のFirebaseプロジェクトを使用することで、ユーザー認証情報を共有でき、ユーザーにとって便利
デメリット
認証の競合:今回の事例のように、FlutterFlowとFirebaseの認証システムの相互作用によって、予期せぬ問題が発生する可能性
Firebaseが自動的にCreateされるようになって半年くらい経ちましたが、また、Firebaseを少しずつ触って行こうと思います。(Supabaseの方が楽かもしれない。。)