2013-04-23 2 views
3

Я хочу реализовать ту же самую концепцию Facebook authentication, как в игре друга-мигара.разрешить разрешение профиля Facebook

В этом случае, если пользователь вошел в систему на facebook через iOS facebook, он запрашивает у пользователя только доступ к основной информации профиля. Из вышеприведенной ссылки есть шаги, чтобы реализовать эту концепцию в игре дружеского smasher. Я хочу добавить это в свое родное приложение. Но не в состоянии понять, как это сделать. Если кто-то знает об этом, пожалуйста, помогите мне. Я был бы очень благодарен вам.

+1

Вы должны попробовать раздел «Начало работы» здесь: https://developers.facebook.com/ИОС / – WYS

ответ

3

При входе в систему с помощью:

NSArray *permissions = [[NSArray alloc] initWithObjects: 
           @"email", 
           nil]; 

// Attempt to open the session. If the session is not open, show the user the Facebook login UX 
[FBSession openActiveSessionWithReadPermissions:permissions allowLoginUI:true completionHandler:^(FBSession *session, 
               FBSessionState status, 
               NSError *error) 

Если «разрешения» массив равен нулю, он запрашивает только базовый доступ к профилю пользователя. Если вам нужны другие разрешения, просто добавьте нужные в массив разрешений. Допустимые значения можно найти здесь: https://developers.facebook.com/docs/howtos/ios-6/, например «email», «user_birthday», «user_location», «user_about_me» и т. Д.

Обратите внимание, что при входе в систему/при запросе разрешений на чтение вы НЕ МОЖЕТЕ запрашивать разрешения на публикацию. Это необходимо выполнить позже, после входа в систему. Вы можете проверить, имеет ли пользователь уже запрошенное разрешение (как опубликовать), и, если он/она имеет его, опубликовать контент; если нет, то просить его:

if ([FBSession.activeSession.permissions indexOfObject:@"publish_actions"] == NSNotFound) { 
    // If the user doesn't have the publishing permission, tries to request it befor sharing 

    [FBSession.activeSession 
    requestNewPublishPermissions:[NSArray arrayWithObject:@"publish_actions"] 
    defaultAudience:FBSessionDefaultAudienceFriends 
    completionHandler:^(FBSession *session, NSError *error) { 
     if (!error) { 
      // Tries to share the content again, assuming we now have the permission 
      (...) 
     } else { 
      // Couldn't get the required Permissions 
     } 
    }]; 

} else { 
    // If the user already have the permissions, tries to publish the content 
    (...) 
} 

Более подробную информацию о публикации контента, посмотреть «requestNewPublishPermissions» здесь: https://developers.facebook.com/docs/tutorials/ios-sdk-tutorial/publish-open-graph-story/

Смежные вопросы