Facebook IOS SDK无摩擦请求

似乎没有办法像facebook ios sdk那样设置无摩擦请求。 对于Javascript补充,这可以在fb.init方法中完成。

我的问题唯一的另一个参考是Facebook请求对话:本机iOS应用程序中的无摩擦请求可能吗? 它指出无摩擦只在不在沙箱模式下工作。

有没有人发现这是这样的?

此调用可实现无摩擦请求:

[facebook enableFrictionlessRequests]; 

但这还不足以阻止所有对话框短暂出现。 由于默认情况下无摩擦收件人缓存在第一个对话框出现之前未加载。 出现第一个对话框后,将加载无摩擦收件人列表,并且不会显示后续对话框。 但是,你可以打电话

 [facebook reloadFrictionlessRecipientCache]; 

成功登录后,在第一个对话框出现之前准备好无摩擦收件人缓存。

佛朗哥

通过将apprequests对话框的“无摩擦”参数设置为“1”,可以打开无摩擦请求。 例如;

 // create a dictionary for our dialog's parameters NSMutableDictionary *params = [NSMutableDictionary dictionaryWithCapacity: 7]; // set the frictionless requests parameter to "1" [params setObject: @"1" forKey:@"frictionless"]; // ... add other parameters ... // show the request dialog [facebook dialog:@"apprequests" andParams:params andDelegate: nil]; 

我认为这也解决了iOS上的无摩擦请求 – 如何?

在facebook-ios-sdk的较新版本(2/25/2012及更新版本)中,有一个新的FBFrictionlessRequestSettings可以启用一次,然后所有未来的apprequests将自动无摩擦。 因此,当您的应用启动时,您应该:

 [facebook enableFrictionlessRequests]; 

我更喜欢这个,而不是手动将@“无摩擦”键设置为1,因为当你发送apprequest时,你仍然会看到FBDialog弹出然后消失。 如果您执行’enableFrictionlessRequests’,Facebook.m将自动为您设置’isViewInvisible’参数并防止FBDialog闪烁。

现在使用Facebook iOS SDK 3.2.1,您可以使用无摩擦请求而不使用已弃用的标头。 请查看BooleanOGSample以了解实现细节。