簡體   English   中英

Firebase 實時數據庫連接終止:不同區域

[英]Firebase Realtime Database connection killed: Different Region

我正在嘗試構建一個使用 Firebases 實時數據庫的簡單登錄用戶身份驗證 Android 應用程序,但出現錯誤:

[Firebase 數據庫連接被服務器強行終止。 不會嘗試重新連接。 原因:數據庫位於不同的區域。 請將您的數據庫 URL 更改為 https://vax-in-60807-default-rtdb.asia-southeast1.firebasedatabase.app]

我住在菲律賓,目前正在使用新加坡(asia-southeast1)服務器。 這是錯誤的嗎? 或者我應該使用美國的嗎? 如何更改我的數據庫 URL?

您使用的google-services.json文件似乎不包含實時數據庫 URL,可能是因為您在創建數據庫之前下載了它。 在這種情況下,SDK 假定數據庫位於美國(原始區域),並且您會收到一個錯誤,指出存在不匹配。

有兩種可能的解決方案:

  1. 從 Firebase 控制台下載更新的google-services.json ,並將其添加到您的 Android 應用中。
  2. 在代碼中指定數據庫 URL,如下所示: FirebaseDatabase.getInstance("https://vax-in-60807-default-rtdb.asia-southeast1.firebasedatabase.app")...

兩者都有相同的結果,因此請選擇您認為最簡單的一個。

將 URL 傳遞到getInstance方法應該可以解決這個問題:

DatabaseReference database = FirebaseDatabase.getInstance(“https://vax-in-60807-default-rtdb.asia-southeast1.firebasedatabase.app”).getReference();

在接受答案后,它仍然無法正常工作(就像我的情況一樣)。 如果是這樣,請嘗試:

  • 清潔工程
  • 重建項目
  • 使緩存無效並重新啟動

並再次運行它。

如果您是關注新firebase 文檔的新 Flutter 用戶,請在終端中運行此命令。 它將自動更新 firebase_options.dart 文件。

flutterfire configure

我遇到了同樣的問題,那是因為當您設置應用程序時,google-service.json 不包含 firebase_url。

這些問題在您手動配置設置時會遇到,您可以使用flutterfire解決所有這些問題,它將為您提供很多幫助,並通過幾個步驟設置您的應用程序。 請參閱文檔firebase

看起來您使用的 google-services.json 文件不包含實時數據庫 URL,可能是因為您在創建數據庫之前下載了它。 在這種情況下,SDK 假定數據庫位於美國(原始區域),並且您會收到錯誤信息,指出不匹配。

您可以通過任何一種方式修復它。

  1. 配置數據庫服務設置后,您必須下載新的“GoogleService-Info.plist”文件並替換之前的文件。

要么

  1. 您可以在“GoogleService-Info.plist”文件中手動設置密鑰

<key>DATABASE_URL</key> <string>https://<app-instance-default-rtdb>.asia-southeast1.firebasedatabase.app</string> '

在此處輸入圖像描述

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM