我做了一個C# API來推送通知給Flutter應用程式。
我的API基本上像下面的代碼:
我的API基本上像下面的代碼:
public async Task < IActionResult > pushNotification ( ) {
FirebaseApp.Create(new AppOptions() {
Credential = GoogleCredential.FromFile("file.json"/span>)
});
.....
}
我在瀏覽器上粘貼了網址 "domain.com/api/controller/pushNotification",第一次就成功了。我的flutter完美地收到了通知。但第二次我得到的結果是:
System.ArgumentException。default FirebaseApp已經存在。
at FirebaseAdmin.FirebaseApp.Create(AppOptions options, String name)
at FirebaseAdmin.FirebaseApp.Create(AppOptions options)
為什么?我怎樣才能解決這個問題呢?
CodePudding
Firebase在內部管理它自己的客戶端,你可以通過呼叫Firebase的方法來參考它,這些方法向定義的或默認的 "App "發出請求,因為從技術上講你可以有多個App。
你很可能只想在Firebase App不存在的情況下才啟動它。我相信你可以通過檢查FirebaseApp.apps的長度來做到這一點 - 你應該
uj5u.com熱心網友回復:
第一次它是作業的。我的flutter完美地收到了通知。但第二次我得到了
你的錯誤資訊是說,你試圖初始化一個已經存在的應用程式。
要解決這個問題,您需要首先檢查該應用程式是否已經被初始化。在運行初始化Firebase應用程式的代碼之前,添加一個簡單的檢查,例如:
你需要首先檢查應用程式是否被初始化。
public async Task < IActionResult > pushNotification () {
if(appDoesNotExistYet) {
FirebaseApp.Create(new AppOptions() {
Credential = GoogleCredential.FromFile("file.json"/span>)
});
}
.....
}
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/321577.html
標籤:
