通过 iOS 9 登录 FB 时打开 Safari 网页视图
Posted
技术标签:
【中文标题】通过 iOS 9 登录 FB 时打开 Safari 网页视图【英文标题】:Safari web view opening when logging to FB through iOS 9 【发布时间】:2015-09-03 12:40:05 【问题描述】:我已按照this 指南更新我的应用程序以使用适用于 ios 9 SDK 的 Facebook SDK 4.6。
当我现在点击登录按钮时,会显示一个 Safari 视图控制器,而它应该重定向到 Facebook 应用程序(应用程序安装在 iPhone 上)。
是否需要任何额外的处理?它在以前的版本(v4.3.0)上运行良好。
【问题讨论】:
我已将 SDK 从 beta 更新为 9 月 10 日发布的最新版本。现在,应用程序总是切换到 Safari,而不是 safariViewController。这是一种奇怪的行为。 检查这个答案 - ***.com/a/32620248/5110954 Filip Busic 大喊 【参考方案1】:来自“Facebook 开发者社区”组的 Facebook 产品经理。
还有我的回复,还在等待回复:
所以听起来 SDK 4.6 会强制每次登录都使用 Safari 视图控制器。
编辑----
以及他们的回应:
【讨论】:
非常非常糟糕和无聊! 那么..这是用 facebook 登录构建应用程序的新方法吗?获得以前行为的唯一方法是降级我的 FB SDK? 是的,罗德里戈,这似乎是默认行为。但是,我使用系统凭据作为登录的优先级。 @CanAksoy - 为什么?我们的激励措施在这里是一致的,我们正在根据整个生态系统中的数据做出决策,以便为人们和开发人员提供最佳体验。数以亿计的人登录了 Safari,因此使用 Safari VC,他们拥有了很棒的 FB 登录体验 - 既快速又简单。仅仅因为您可能没有登录 Safari,我们建议您不要构建一个故意阻止数亿登录 Safari 的人获得最佳体验的应用程序。 @cheeseRoot 请不要使用系统凭据。您会发现在系统级别登录 Safari 的人比登录 iOS 的人要多得多,因此您会降低人们的体验——这对您、Facebook 或最重要的是使用您的应用程序的人来说不是很好。 iOS 9 上的 Safari 视图控制器为许多登录 Safari 的人提供了最佳的用户体验。【参考方案2】:从 FacebookSDK 4.6 及更高版本开始,他们强制每次登录都使用 iOS 9 上的 Safari 视图控制器。
有两种方法可以解决这个问题:
-
使用较低版本的 SDK
使用此代码https://github.com/tuantmdev/MTNativeFacebookLogin再次启用本机应用登录
希望对您有所帮助!
【讨论】:
【参考方案3】:我们已经看到了关于这个确切问题的确切数字。 10 月 8 日,我们发布了带有 FBSDK 4.6 的应用程序的第一个版本。在同一更新中,我们使登录流程在 UI 中更加突出,因此我们看到电子邮件注册量显着增加。然而,我们的 Facebook 登录同时下降。 iOS 8 用户没有出现这种效果(电子邮件和 facebook 登录一起上升)。这是一个图表。红色是电子邮件注册,蓝色是 Facebook 仅适用于 iOS 9 用户。
Facebook vs Email signups chart
tl;dr Facebook SDK 的最新更新扼杀了我们的 Facebook 转化率!
@CanAksoy Facebook 内部是否也看到了同样的效果?我同意我们的利益在这里是一致的,每个人都使用 Safari 的趋势对您的全球转化率有何影响?
【讨论】:
【参考方案4】:用于打开 Facebook 应用程序 -
将您的 plist 作为源代码打开, 并添加以下代码 -
<key>LSApplicationQueriesSchemes</key>
<array>
<string>fbapi</string>
<string>fb-messenger-api</string>
<string>fbauth2</string>
<string>fbshareextension</string>
</array>
它在 iOS 9 中对我有用
【讨论】:
【参考方案5】:我也确实收到了 Safari 的 FB 登录信息。但是在为 iOS 9 (https://developers.facebook.com/docs/ios/ios9) 设置了所有 config-s 之后,登录再次使用 FB 应用程序(我使用的是 4.4. SDK)。还有其他人有这种经历吗?
【讨论】:
4.4 SDK 使用 FB 应用程序登录有效,但 4.6+ SDK 则不能 有没有人有任何用户反馈,他们喜欢 4.6 流,现在已经上线快一个月了吗?以上是关于通过 iOS 9 登录 FB 时打开 Safari 网页视图的主要内容,如果未能解决你的问题,请参考以下文章
iOS 原生 Facebook 登录在 Mobile Safari 身份验证中失败
facebook 原生 ap 没有在 iOS 的 fb 登录中启动?
使用单点登录对用户进行身份验证时,Facebook iOS Safari“无法打开页面错误”
Facebook 登录问题 - iOS 应用程序的新用户无法通过 FB 连接登录