似乎没有办法将无约束请求设置为对于facebook ios sdk。对于Javascript实现,这可以在fb.init方法中完成。Facebook IOS SDK无摩擦请求
对我的问题唯一的其他参考是Facebook Requests Dialog: Frictionless Requests in native iOS app possible?它声明无摩擦只是不工作在沙箱模式。
有没有其他人发现这种情况?
似乎没有办法将无约束请求设置为对于facebook ios sdk。对于Javascript实现,这可以在fb.init方法中完成。Facebook IOS SDK无摩擦请求
对我的问题唯一的其他参考是Facebook Requests Dialog: Frictionless Requests in native iOS app possible?它声明无摩擦只是不工作在沙箱模式。
有没有其他人发现这种情况?
通过将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];
在Facebook的IOS-SDK的更新版本(2012年2月25日和更高版本),有一个新的FBFrictionlessRequestSettings您可以启用一次,然后所有未来的apprequests将自动无摩擦。所以,当你的应用程序启动时,你应该做的:
[facebook enableFrictionlessRequests];
我宁愿这些手动设置@“摩擦”键1,因为当您发送apprequest,你仍然会短暂地看到FBDialog弹出,然后消失。如果您执行'enableFrictionlessRequests',Facebook.m会自动为您设置'isViewInvisible'参数并防止FBDialog闪烁。
此调用使摩擦请求:
[facebook enableFrictionlessRequests];
但它不足以阻止所有对话框从短暂出现。由于无摩擦的收件人缓存默认情况下不会加载,直到出现第一个对话框。一旦出现第一个对话框,无摩擦的收件人列表将被加载,并且随后的对话框将不会出现。但是,您可以拨打
[facebook reloadFrictionlessRecipientCache];
成功登录后,在第一个对话框出现之前已准备好无摩擦的收件人缓存。
佛朗哥
不工作,至少不适用于Facebook SDK v3.19 – ozba
现在,随着Facebook的iOS版SDK 3.2.1,您可以使用无摩擦的请求,而不使用过时的头。请查看BooleanOGSample以了解实现情况。
我正在使用'enableFrictionlessRequests'方法,并且我仍然看到对话框短暂闪烁。你有什么想法,为什么? –