Facebook IOS SDK无摩擦请求

时间:2011-12-09 15:44:07

标签: ios facebook sdk apprequests

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

对我的问题的唯一其他参考是Facebook Requests Dialog: Frictionless Requests in native iOS app possible?,其中指出无摩擦只在不在沙箱模式时起作用。

还有其他人发现这种情况吗?

4 个答案:

答案 0 :(得分:9)

此调用启用无摩擦请求:

[facebook enableFrictionlessRequests];

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

[facebook reloadFrictionlessRecipientCache]; 

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

佛朗哥

答案 1 :(得分:3)

可以通过将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];

我认为这也回答Frictionless Requests on iOS - how?

答案 2 :(得分:3)

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

[facebook enableFrictionlessRequests];

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

答案 3 :(得分:-1)

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