Facebook App Invites打开SafariViewController而不是Native应用程序

时间:2015-10-02 18:56:02

标签: ios facebook unity3d ios9 facebook-ios-sdk

我尝试从Facebook实施App Invites功能,我希望将我的用户重定向到原生Facebook应用(如果安装在用户的设备上)。

然而,虽然Facebook Native应用程序安装在设备上但它从未打开过,但是“邀请对话框”#39;始终以SafariViewController打开(请参见下图)。这是不希望的,因为大多数时候用户没有登录Safari并且放弃完成"邀请"任务。

以下是我用来构建应用的SDK版本:

  • iOS:9.0
  • Facebook iOS SDK:4.6.0
  • Facebook Unity SDK:7.1.0

我已阅读Preparing Your Apps for iOS9并已使用所有可能的网址方案填充了我的Info.plist:

<key>LSApplicationQueriesSchemes</key> <array> <string></string> <string>http</string> <string>https</string> <string>mailto</string> <string>fb</string> <string>fbapi</string> <string>fb-messenger-api</string> <string>fbauth2</string> <string>fbshareextension</string> <string>fbapi20130214</string> <string>fbapi20130410</string> <string>fbapi20130702</string> <string>fbapi20131010</string> <string>fbapi20131219</string> <string>fbapi20140410</string> <string>fbapi20140116</string> <string>fbapi20150313</string> <string>fbapi20150629</string> <string>fbauth</string> <string>fb-messenger-api20140430</string> <string>fb-messenger-platform-20150128</string> <string>fb-messenger-platform-20150218</string> <string>fb-messenger-platform-20150305</string> </array>

尽管如此,SafariViewController总是打开而不是Facebook Native App。

如何让我的应用用户使用“应用邀请”#39;使用原生Facebook应用程序的对话框?

App Invite in SafariViewController

1 个答案:

答案 0 :(得分:5)

这似乎是由Facebook设计的,显然Facebook选择使用SafariViewController来避免要求多次切换应用程序的权限。您可以查看常见问题解答here

  

常见问题

     

为什么在调用时会看到“想要打开Facebook”警告对话框   对话框?

     

在iOS 9中,应用程序切换可以提示用户进行确认   对话。 SDK将尝试通过选择来最小化此频率   可用的最佳对话框(例如SafariViewController),但这是   按照iOS 9中的设计。