簡體   English   中英

React Native 錯誤:沒有創建 Firebase App '[DEFAULT]' - 調用 firebase.initializeApp()

[英]React Native Error: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()

我已經為 android 實現了推送通知,它 100% 正確地工作,但是當我打開同一個應用程序來測試 IOS 的推送通知時,它失敗了,因為它需要一個配置文件,這是我的配置文件代碼:

 import { firebase } from '@react-native-firebase/messaging';
 const reactNativeFirebaseConfig = {
 apiKey: "my apiKey",
 ...
 ...
 measurementId: "my measurementID XYZ"
};
firebase.initializeApp(reactNativeFirebaseConfig);

現在問題是即使在將它添加到我的項目后也會出現錯誤: No Firebase App '[DEFAULT]' has been created - call firebase.initializeApp()

注意:我正在使用“@react-native-firebase/app”; 和用於推送通知的“@react-native-firebase/messaging”,適用於 Android。任何人都知道我的代碼端出了什么問題,或者我應該在哪里使用該配置文件,因為我將該文件保存為 FirebaseConfig.js。

要在 iOS 上設置 Firebase,您需要做一些額外的步驟。

打開 Firebase,新建一個 iOS 應用。

填寫捆綁標識符並為其指定一個您選擇的昵稱。

接下來下載 google services 文件並打開 xCode。

將 Google 服務文件拖到文件樹 yourApp/yourApp 中,在 AppDelegate.m 文件旁邊。

打開 AppDelegate.m 並添加

#import <Firebase.h>

到頂部。

接下來,在第 58 行附近應該有一個返回 YES。

在返回上方添加這個

[FIRApp configure];

最后,在返回和右括號之后,添加此代碼。

- (void)application:(UIApplication *)application didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
  [FIRMessaging messaging].APNSToken = deviceToken;
}

總而言之,它應該看起來與此類似。

  UIViewController *rootViewController = [UIViewController new];
  rootViewController.view = rootView;
  self.window.rootViewController = rootViewController;
  [self.window makeKeyAndVisible];

  [FIRApp configure];

  return YES;
}

- (void)application:(UIApplication *)application 
didRegisterForRemoteNotificationsWithDeviceToken:(NSData *)deviceToken {
  [FIRMessaging messaging].APNSToken = deviceToken;
}

完成此操作后,您應該已准備好將第一條消息發送到您的應用程序。

請記住,Firebase 發送消息的速度不是很快,可能需要幾分鍾才能通過。

旁注您不能將通知發送到 iOS 模擬器,只能是真實設備。 您還需要在您的 Apple 開發者帳戶和 xCode 中為應用程序添加通知權限。

如果您需要幫助進行設置,請告訴我,我們可以 Skype。

您需要在以下文件的方法 didFinishLuanchWithOptions ios/{AppName}/AppDelegate.m 中添加一個檢查

if ([FIRApp defaultApp] == nil) {
 [FIRApp configure]; 
}

暫無
暫無

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

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