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

时间:2018-03-18 00:27:53

标签: android ios firebase firebase-authentication facebook-authentication

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

说到Facebook Auth,我只能向Firebase添加一个Facebook应用程序。对于每个Facebook应用程序,我只能添加一个iOS和一个Android应用程序。因此,我该如何做到这一点?

Firebasers,还有任何建议/解决方案吗?

3 个答案:

答案 0 :(得分:2)

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

答案 1 :(得分:2)

您已经开始使用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应用。只需使用您拥有的那个,并相应地细分用户及其权限。 例如,在两个应用程序上登录时,请检查用户是否尝试以驾驶员或乘客身份登录。

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

希望这有帮助。

答案 2 :(得分:2)

单个Facebook应用上的多个应用

  1. 转到您的Facebook开发者控制台
  2. 转到您应用的页面
  3. 转到基本设置
  4. enter image description here

    1. 添加所有相关的捆绑包ID
    2. 以下是关键:为每个应用添加不同的网址方案后缀。这可以区分您的单个Facebook应用程序下的每个iOS应用程序。
    3. enter image description here

      1. 在每个应用中,info.plist添加后缀信息(确保更新了URL方案并添加" FacebookURLSchemeSuffix"添加!)
      2. enter image description here

        1. 现在,您的每个应用都在同一个Facebook应用中,因此可以在同一个Firebase实时数据库下注册。请查看此信息以获取更多信息:Two iOS apps using the same Facebook app ID - is it possible?
        2. 此时,似乎无法在单个Firebase实时数据库下拥有多个FB应用。