0

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

对我的问题的唯一其他参考是Facebook 请求对话框:本机 iOS 应用程序中的无摩擦请求可能吗?它指出无摩擦仅在不处于沙盒模式时才有效。

有没有其他人发现是这种情况?

4

4 回答 4

9

此调用启用无摩擦请求:

[facebook enableFrictionlessRequests];

但仅仅阻止所有对话框短暂出现是不够的。因为默认情况下,在第一个对话框出现之前不会加载无摩擦收件人缓存。出现第一个对话框后,将加载无摩擦收件人列表,并且不会出现后续对话框。但是,您可以致电

[facebook reloadFrictionlessRecipientCache]; 

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

佛朗哥

于 2012-12-03T20:04:23.647 回答
3

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

[facebook enableFrictionlessRequests];

我更喜欢手动将@"frictionless" 键设置为 1,因为当您发送应用请求时,您仍然会短暂地看到 FBDialog 弹出然后消失。如果您执行“enableFrictionlessRequests”,Facebook.m 将自动为您设置“isViewInvisible”参数并防止 FBDialog 闪烁。

于 2012-06-15T01:06:54.603 回答
3

可以通过将 apprequests 对话框的“frictionless”参数设置为“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 上的无摩擦请求 - 怎么样?

于 2011-12-15T12:01:42.620 回答
-1

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

于 2013-03-22T16:38:52.013 回答