2

ユーザーが Facebook アカウントにログインしているときに送信した招待の数を検出しようとしています。たとえば、iOS アプリケーションを使用するように 3 人の友人を招待することで、アイテムを購入するオプションをユーザーに提供しています。3人招待するとアイテムがもらえる。私は本当にこれにこだわっています。どんな助けでも大歓迎です!

4

1 に答える 1

0

多くの調査の結果、実際にこれのコードスニペットを見つけました。ここにあったかどうかは覚えていませんが、ここにあります。

- (IBAction)inviteFacebookFriendsButton:(id)sender
{
    // FBSample logic
    // if the session is open, then load the data for our view controller
    if (!FBSession.activeSession.isOpen)
    {
        // if the session is closed, then we open it here, and establish a handler for state changes
        [FBSession openActiveSessionWithReadPermissions:nil
                                           allowLoginUI:NO
                                      completionHandler:^(FBSession *session,
                                                          FBSessionState state,
                                                          NSError *error) {
                                          if (error) {
                                              UIAlertView *alertView = [[UIAlertView alloc] initWithTitle:@"Error"
                                                                                                  message:error.localizedDescription
                                                                                                 delegate:nil
                                                                                        cancelButtonTitle:@"OK"
                                                                                        otherButtonTitles:nil];
                                              [alertView show];
                                          } else if (session.isOpen) {


                                          }
                                      }];
    }

    MouseInTheHouseAppDelegate *appDelegate = [[UIApplication sharedApplication] delegate];

    if (appDelegate.session.isOpen)
    {
        NSMutableDictionary  *postVariablesDictionary = [[NSMutableDictionary alloc] init];
        [postVariablesDictionary setObject:@"Come play Mouse in the House with me!" forKey:@"message"];
        [postVariablesDictionary setObject:@"Invite Friends" forKey:@"title"];

        [FBWebDialogs presentDialogModallyWithSession:[FBSession activeSession] dialog:@"apprequests" parameters:postVariablesDictionary handler:^(FBWebDialogResult result, NSURL *resultURL, NSError *error)
         {
         if (error)
         {
             // Case A: Error launching the dialog or sending request.
             NSLog(@"Error sending request.");
         }
         else
         {
             if (result == FBWebDialogResultDialogNotCompleted)
             {
                 // Case B: User clicked the "x" icon
                 NSLog(@"User canceled request.");
             }
             else
             {
                 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]]];
                 }

                 NSLog(@"Number of friends invited: %lu", (unsigned long)ids.count);
             }
         }
     }];
    }
}
于 2013-11-12T07:07:21.000 に答える