如何通过 Facebook iOS SDK 向 Facebook 好友发送应用请求?

5
我正在使用Facebook SDK开发我的iOS Facebook应用程序。我希望向多个用户发送应用请求。为此,我使用以下方法:
NSArray* actionLinks = [NSArray arrayWithObjects:[NSDictionary dictionaryWithObjectsAndKeys:
                                                  @"Get Started",@"name",@"http://www.facebook.com/apps/application.php?id=135775646522275/",@"link", nil], nil];
NSString *actionLinksStr = [jsonWriter stringWithObject:actionLinks];

NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObjectsAndKeys:
                               @"Check out this awesome app I am using.",@"message",
                               @"Check this out", @"notification_text",
                               @"http://www.facebook.com/apps/application.php?id=135775646522275/",@"link",
                               appImage,@"picture", 
                               actionLinksStr, @"actions",

                               nil];
[facebook dialog:@"apprequests"
       andParams:params
     andDelegate:self];

问题是,我调用了这个方法后,应用请求网页视图出现并且应用请求成功地提交了。但是只有好友墙上的应用请求计数增加,他既没有收到任何关于应用请求的通知,也不能看到应用请求。 可能是什么问题?还有没有其他从iOS Facebook应用程序发送应用请求的替代方法?
1个回答

17

以下是修复方法:

  1. 前往http://developers.facebook.com
  2. 编辑您的应用程序设置。
  3. 勾选“在Facebook上的应用”和“本机iOS应用”。
  4. 将您的应用程序网站URL(如果有)输入为Canvas URL(安全的Canvas URL可以相同)。
  5. 输入iOS Bundle IDiPhone/iPad应用商店ID(您可以在iTunes connect的应用页面中找到此信息)。

Canvas URL用于在Web-site上查看请求时重定向您的朋友 iOS Bundle IDiPhone/iPad应用商店ID用于在Native iOS App上查看请求时重定向您的朋友到应用商店。


我认为更好的选择是选择“使用Facebook登录的网站”,而不是设置“Facebook上的应用程序”。这样,您可以提供任何URL,例如您的应用程序网站。当我使用Canvas URL提供我的应用程序网站时,Facebook会出现错误。可能与我的网站有关,但无论如何,我认为这种方式更简单、更清洁。通知也可以通过这种方式工作。 - Seb Kade
完美地按预期工作...非常感谢 :) - iOSAppDev
@SebKade 我似乎无法仅使用Facebook登录的网站使其正常工作。请求将显示在应用中心,但不会出现在用户实际通知中。这可能是由于Facebook改变了其工作方式。如果我错了,请纠正我。 - Phong Le

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接