Facebook api 集成,用于登录 iOS 应用程序超过 2 个使用相同 Facebook 应用程序 ID 的应用程序

Posted

技术标签:

【中文标题】Facebook api 集成,用于登录 iOS 应用程序超过 2 个使用相同 Facebook 应用程序 ID 的应用程序【英文标题】:Facebook api intergration for login iOS app more than 2 app using same facebook app id 【发布时间】:2014-03-20 09:44:22 【问题描述】:

如果我使用相同的 facebook 应用程序 ID 安装了 2 个以上的应用程序,则在使用 facebook 凭据登录任何应用程序后,它会打开随机应用程序,并且当我调试代码时它没有调用下面的登录应用程序。

- (BOOL)application:(UIApplication *)application
            openURL:(NSURL *)url
  sourceApplication:(NSString *)sourceApplication
         annotation:(id)annotation



它以这种方法调用现有应用程序,并打开具有相同 Facebook 应用程序 ID 的随机应用程序。

【问题讨论】:

***.com/questions/13130442/… 我的问题与此相关 我可以跨应用共享应用 ID 吗? developers.facebook.com/docs/ios/troubleshooting 但问题是我使用的是 Facebook SDK 3.0,在此我使用 urlSchemeSuffix 来区分使用 facebook 应用程序 ID 的应用程序。但每次它打开随机应用程序。 【参考方案1】:

你可以查看我的SO post here

请检查another SO post。它可能会帮助你。

urlSchemeSuffix 是附加到用于 SSO 的基本 URL 方案的小写字母字符串。例如,如果您的 facebook ID 是“350685531728”并且您将 urlSchemeSuffix 设置为“abcd”,则 Facebook 应用程序将期望您的应用程序绑定到以下 URL 方案:“fb350685531728abcd”。如果您有多个 iOS 应用程序共享一个 Facebook 应用程序 ID(例如,如果您在同一个应用程序上有免费和付费版本)并且您希望对这两个应用程序使用 SSO,这将非常有用。为这两个应用程序提供不同的 urlSchemeSuffix 值将允许 Facebook 应用程序消除其 URL 方案的歧义,并始终将用户重定向回正确的应用程序,即使设备上同时安装了免费应用程序和应用程序。 Facebook 应用程序的 3.4.1 及更高版本支持 urlSchemeSuffix。如果用户安装了较旧版本的 Facebook 应用,并且您的应用使用 urlSchemeSuffix 参数,则 SDK 将继续执行,就像设备上未安装 Facebook 应用一样,并将用户重定向到 Safari。

您也可以参考this post,它可以帮助您了解前缀如何与 facebook 配合使用。

【讨论】:

以上是关于Facebook api 集成,用于登录 iOS 应用程序超过 2 个使用相同 Facebook 应用程序 ID 的应用程序的主要内容,如果未能解决你的问题,请参考以下文章

用户尝试登录时,iOS App 中的 Facebook 集成问题

Facebook Android API 和 Twitter Webview 登录集成

facebook-ios-sdk 是不是使用 iOS 6 Facebook 集成来支持登录而不打开本机 Facebook 应用程序?

如何使用 Facebook 登录 API 对 XMPP 用户进行身份验证?

将 Facebook 登录集成到 iOS iPad 应用程序中

避免登录按钮的 Facebook 和 iOS 集成最佳实践