什么是NSURL * resultURL通过Facebook iOS SDK邀请朋友?

时间:2013-06-24 21:19:51

标签: ios facebook sdk

我正在开发一款iOS游戏,它将使用Facebook请求作为用户获取策略的一部分。我已经实现了请求对话框,并且已经可以向我的朋友发送请求了。 Facebook iOS SDK中的回调返回3个对象:FBWebDialogResult resultNSURL *resultURLNSError *error

我怀疑是NSURL,其格式如下:

fbconnect://success?request=23269054024361&to%5B0%5D=1453458133453

我该怎么办这个网址?我看到它是一个传递最近邀请的朋友ID的URL。

2 个答案:

答案 0 :(得分:10)

您可以使用它来提取受邀朋友ID。我没有看到其他许多目的。

由于我们正在谈论它,我将在这里放一个用于解析URL并获取受邀ID的方法。

- (NSArray *)invitedFriendsIdsFromURL:(NSURL *)resultURL {
    NSRegularExpression * regex = [NSRegularExpression regularExpressionWithPattern:@"to%5B\\d+%5D=(\\d+)"
                                                                            options:NSRegularExpressionCaseInsensitive
                                                                              error:NULL];
    NSArray * matches = [regex matchesInString:resultURL.absoluteString
                                       options:0
                                         range:(NSRange){0, resultURL.absoluteString.length}];
    NSMutableArray * ids = [NSMutableArray arrayWithCapacity:matches.count];
    for (NSTextCheckingResult * match in matches) {
        [ids addObject:[resultURL.absoluteString substringWithRange:[match rangeAtIndex:1]]];
    }
    return ids;
}

答案 1 :(得分:0)

我还在寻找与“邀请朋友请求”相关的另一个问题,但它与此主题完全不同。对于您的问题,您应该查看Facebook IOS Invite Request - Deep Linking

您可以使用这些收件人ID执行许多操作 - 特别是对于客户端或后端主机上的游戏。

  • 任何收件人加入后,都会向发件人提供推荐奖金或奖励 通过他的邀请请求游戏。
  • 跟踪垃圾邮件。
  • “邀请请求”后更新客户端或服务器状态所需的任何其他操作。

希望这有帮助!