ios - 是否可以在不显示 Facebook 对话框的情况下邀请 friend ?

标签 ios facebook-sdk-4.0

我正在构建一个 iOS 应用程序,该应用程序使用 facebook 来获得关注。我想邀请一些 friend ,用户从列表中选择,但不显示 facebook 确认对话框,我希望在幕后发生。

阅读文档时有属性 frictionlessRequestsEnabled,但即便如此也会显示对话框,我可以选择在将来禁用显示对话框。还有其他方法吗?

最佳答案

许多应用程序在不显示 Facebook 对话框的情况下邀请您的所有 friend 。可以通过修改 FBSDK 来实现。只需将 FBSDK 存储库克隆到您的本地计算机,在 Xcode 和 Command+B 中进行编辑以构建您自己使用的框架。以下类与 FBSDK for iOS 中的邀请相关:

FBSDKWebDialogView
FBSDKWebDialog
FBSDKGameRequestDialog

获取为对话框 View 生成的 URL:

-(BOOL)show中的FBSDKWebDialog.m中:

NSURL *URL = [self _generateURL:&error];

这是为加载 WebView 而生成的 URL。可以在没有 Web 对话框 View 的情况下使用此 URL,只要它只生成一次(每次生成 URL 时访问 token 都会重置)并且在移动浏览器上使用。

在没有对话框的情况下邀请

您可以使用 javascript 通过执行类似的操作来模拟点击开始按钮(假设您已正确指定参数和收件人并且您的应用程序已通过 Facebook 设置)

在 FBSDKWebDialogView.m 中 - (void)webViewDidFinishLoad:(UIWebView *)webView :

[NSTimer scheduledTimerWithTimeInterval:.1 target:[NSBlockOperation blockOperationWithBlock:^{  NSString * jsCallBack = [NSString stringWithFormat:@"document.getElementById(\"u_0_0\").click();"];

[webView stringByEvaluatingJavaScriptFromString:jsCallBack];

[webView stringByEvaluatingJavaScriptFromString:@"document.getElementById(\"u_0_0\").click();"]; }] selector:@selector(main) userInfo:nil repeats:NO ];

只要 webView 存在于某处,您就可以在对用户几乎没有干扰的情况下执行这些操作。您可以将 webView 框架设置得非常小,或者可能完全隐藏 View 。

然而,Facebook 正在对此类事情进行严格监管,并且将来可能会有更多的保护措施。

FBSDK repo 在这里: https://github.com/facebook/facebook-ios-sdk

关于ios - 是否可以在不显示 Facebook 对话框的情况下邀请 friend ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35796224/

相关文章:

ios - 转义闭包会导致 Release 配置中出现链接器错误

ios - 在 Objective C 中使用弱引用时的 BAD_ACCESS

Android facebook 邀请好友请求不适用于 limit 参数

ios - Swift 4 的 Facebook SDK 已过时。我应该改用 Facebook SDK for iOS 吗?

ios - 在 iOS 上的 Safari 中嵌入视频

ios - 在自定义 uitableViewCell 中获取错误值

ios - 用户可以直接从 iOS 访问文件吗?

android - Facebook SDK 4.0 LoginButton - setReadPermissions 不工作?

Python facebook SDK 发布到页面的权限错误

php - 如何使用 facebook php sdk v4 和 graph api 2.x 以管理员身份在 facebook 页面墙上发布帖子