2013-06-24 44 views
3

我正在開發一款iOS遊戲,它將使用Facebook請求作爲用戶獲取策略的一部分。我已經實現了請求對話框,並且已經可以向我的朋友發送請求。在Facebook的iOS版SDK的回調函數返回3個對象:FBWebDialogResult resultNSURL *resultURLNSError *error當通過Facebook iOS SDK邀請朋友時,NSURL * resultURL是什麼?

我懷疑關於NSURL,它具有以下格式:

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

我該怎麼處理這個URL?我看到它是一個傳遞最近邀請的朋友ID的URL。

回答

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做很多事情 - 專門用於客戶端或後端主機上的遊戲。

  • 一旦任何收件人通過他的邀請請求加入 遊戲,向發件人提供推薦獎勵或獎勵。
  • 跟蹤垃圾郵件。
  • 以及「邀請請求」更新客戶端或服務器狀態之後所需的任何其他操作。

希望這有助於!

相關問題