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

10

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

然而,当涉及到 Facebook Auth 时,我只能向 Firebase 添加单个 Facebook 应用程序。对于每个 Facebook 应用程序,我只能添加一个 iOS 应用程序和一个 Android 应用程序。因此,我该如何解决这个问题?

Firebasers,你们有什么建议/解决方案吗?


给你的用户分配角色? - Brendan Whiting
问题与 API 通信有关。我该如何让一个 Facebook 应用连接到 4 个应用程序(交换密钥、包 ID、软件包名称等)? - rgoncalv
一个 Facebook 应用程序只允许连接到一个 iOS 应用程序和一个 Android 应用程序(因此迄今为止有 2 个应用程序)。不过,可能有一种方法可以将单个 Firebase 项目连接到两个 Facebook 应用程序。 - rgoncalv
3个回答

5

单个Facebook应用程序上的多个应用

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

enter image description here

  1. 添加所有相关的bundle IDs。
  2. 这是关键:为每个应用添加不同的URL方案后缀。这将区分您在单个Facebook应用程序下的每个iOS应用程序。

enter image description here

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

enter image description here

  1. 现在,您的每个应用程序都在同一个Facebook应用程序下,因此可以在同一个Firebase实时数据库下注册。请查看以下链接了解更多信息:两个使用相同Facebook应用程序ID的iOS应用程序是否可行?

目前,似乎不可能在单个Firebase实时数据库下拥有多个FB应用程序。


3
安卓怎么样? - Faruk
当我尝试输入 URL scheme 时,它显示警告... => 自 iOS 16.0 起,URL scheme 后缀不可用。 - appdev
有一个额外的字段,即共享密钥。 - appdev

2
假设您正在使用Firebase进行身份验证,我推测您也在使用实时数据库或云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应用程序。只需使用您已有的一个并相应地分割用户和他们的权限即可。 例如,在两个应用程序上登录时,进行检查,无论用户是要作为司机还是乘客登录。
if currentUser.userType != "passenger" {
print("You can't log into the passanger app with your driver's account.")
}

希望这能帮助到您。

啊,现在我才意识到你问题的真正性质。由于我不了解你的情况和要求,所以这只是一个小概率事件,但你也可以为每个平台创建一个单一的应用程序,并再次使用用户角色,让他们访问同一应用程序的司机或乘客部分。 - KLD

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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接