Facebook Auth 和 Firebase - 如何在同一 Facebook 应用程序下添加 4 个应用程序?

Facebook Auth and Firebase - How to add 4 apps under same Facebook app?

假设我有 4 个应用程序,"Uber Clone" 用于 iOS 和 Android,"Uber Driver Clone" 用于 iOS 和 Android。我为所有 4 个使用相同的 Firebase 项目,因为它们共享相同的数据库。

虽然谈到 Facebook 身份验证,但我只能将一个 Facebook 应用程序添加到 Firebase。对于每个 Facebook 应用程序,我只能添加一个 iOS 和一个 Android 应用程序。因此,我该如何进行这项工作?

Firebases,recommendation/solution 有什么想法吗?

允许单个 Facebook 应用程序连接到多个 iOS 应用程序和多个 Android 应用程序。 对于 iOS 个应用,您可以在 Facebook 应用设置页面指定多个 Bundle ID

假设您正在使用 Firebase 进行身份验证,我假设您也在使用实时数据库或 Cloud Firestore 来存储用户数据。 在您的用户数据模型中,您可以添加用户类型。

例如,

user_type : "driver"

然后这样查询用户:

DBreference.collection("users").whereField("user_type", isEqualTo: "driver").getDocuments() {(querySnapshot, error) in 

if error != nil { print(error.debugDescription) 
return 
} 

else if let users = querySnapshot.documents {

for user in users {
guard let userType = user.data()["user_type"] as? String else { return } 
print(userType) 
} 

} 

}

这样您就不必创建多个 Facebook 应用程序。只需使用您拥有的那个并相应地细分用户和他们的特权。 例如,在两个应用程序上登录时,检查用户是尝试以 driver 还是乘客身份登录。

if currentUser.userType != "passenger" {
print("You can't log into the passanger app with your driver's account.")
}

希望对您有所帮助。

单个 Facebook 应用上的多个应用

  1. 转到您的 Facebook 开发者控制台
  2. 转到您的应用页面
  3. 进入基本设置

  1. 添加所有相关的捆绑 ID
  2. 关键在于:为每个应用添加不同的URL Scheme后缀。这会在您的单个 Facebook 应用程序下区分每个 iOS 应用程序。

  1. 在您的每个应用程序中 info.plist 添加后缀信息(确保更新 URL 方案并添加 "FacebookURLSchemeSuffix"!)

  1. 现在您的每个应用程序都在同一个 Facebook 应用程序下,因此可以在同一个 Firebase 实时数据库下注册。查看此以获取更多信息:Two iOS apps using the same Facebook app ID - is it possible?

在这个时间点,似乎不可能在一个 Firebase 实时数据库下拥有多个 FB 应用程序。