3

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

我的疑问是NSURL,它具有以下格式:

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

我应该如何处理这个 URL?我看到这是一个传递最近邀请的朋友 ID 的 URL。

4

2 回答 2

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;
}
于 2013-06-24T22:23:52.097 回答
0

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

您可以使用这些收件人 ID 做很多事情——特别是对于客户端或后端主机上的游戏。

  • 一旦任何接收者通过他的邀请请求加入游戏,就向发送者提供推荐奖金或奖励。
  • 跟踪垃圾邮件。
  • 以及在“邀请请求”之后更新客户端或服务器状态所需的任何其他操作。

希望这可以帮助!

于 2013-06-24T22:45:50.270 回答