Не совсем уверен, что я вас правильно понимаю, но, предполагая, что вы хотите зарегистрировать пользователя в своей собственной системе без представления отдельного потока регистрации (?), Вы можете сделать следующее:
- Попросите пользователя авторизовать ваше приложение (т. Е. Через SSO или обычный поток FB - использование последней версии Facebook SDK вызовет соответствующий поток). Обязательно запросите дополнительные разрешения, которые вам понадобятся для вашей собственной регистрации.
- Как только ваше приложение получит уведомление об авторизации на Facebook, извлеките любые пользовательские данные, которые вам нужны для регистрации, через API Facebook (то есть, используя путь к графику
/me?fields=id,name,email
, чтобы получить идентификатор FB, имя и адрес электронной почты). Graph API Explorer хорош для проверки того, какие поля вы можете получить.
- Используйте ответ от (2), чтобы ввести
POST
в свою систему для создания учетной записи.
- Как только ваш запрос на создание аккаунта завершится, позвольте пользователю начать делать то, что он должен сделать в вашем приложении (= вы все готовы!). И, возможно, сохраните какой-нибудь идентификатор учетной записи на клиенте (устройстве), если он понадобится вам позже.
Чтобы сделать этот поток понятным для пользователя, вы, вероятно, должны показать индикатор загрузки / выполнения на шагах 1-4.
Документация Facebook SDK должна помочь вам выполнить шаг (1).
Пример кода (Objective-C) для шага (2) и частично (3):
- (void)facebookUserAuthorized
{
[FBRequestConnection startWithGraphPath:@"me"
parameters:[NSDictionary dictionaryWithObject:@"id,name,birthday,first_name,last_name,gender,email" forKey:@"fields"]
HTTPMethod:@"GET"
completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
NSDictionary *userData = (NSDictionary*)result;
[self registerUserWithEmail:[userData objectForKey:@"email"]
facebookId:[userData objectForKey:@"id"]
gender:[userData objectForKey:@"gender"]];
}];
}
- (void)registerUserWithEmail:(NSString*)email facebookId:(NSString*)facebookId gender:(NSString*)gender
{
// Send a POST to your own server with the user details
}
И я уверен, что вы можете применить тот же принцип на Android. Проверьте Документы Facebook для Android , чтобы начать.