Войдите в Facebook снова в WebView после единого входа в Iphone - PullRequest
0 голосов
/ 05 мая 2011

Я использую единый вход FB для приложения iphone.Мне нужно отправить запрос на добавление в друзья на Facebook через приложение Iphone ... Так как для iphone нет диалогового окна добавления друга ... Итак, я открываю в WebView.Если Мой iphone не многозадачен ... затем он открывает диалоговое окно входа в FB во время входа в систему, и нет никаких проблем в веб-просмотре ... Если это многозадачность ... Затем я перехожу в FB App или Safari..но в этомслучай, когда я открываю страницу FB в веб-представлении .. Он снова запрашивает учетные данные .. Есть ли способ избежать этой проблемы?

Ответы [ 3 ]

1 голос
/ 28 июля 2011

Использовать SSO. Означает, что пользователи, вошедшие в FB на телефоне, все еще будут входить в ваше приложение.

Правильный способ запросить человека на fb здесь https://developers.facebook.com/docs/reference/dialogs/requests/

FB.ui ({method: 'apprequests', сообщение: 'Вы должны узнать больше об этой потрясающей игре.', Data: 'информация для отслеживания пользователя'});

1 голос
/ 27 июля 2011

Если приложение работает под управлением версии iOS, которая не поддерживает многозадачность, SDK использует старый механизм вызова встроенного UIWebView, запрашивая у пользователя вход в систему и предоставление доступа.FBSessionDelegate - это интерфейс обратного вызова, который должно реализовать ваше приложение: его методы будут вызываться при успешном входе или выходе из приложения.

Вы можете избавиться от единого входа, редактируя источник Facebook.m, просто изменив одну строку вреализация authorize: делегат: метод путем изменения [self authorizeWithFBAppAuth: YES safariAuth: YES];для [самостоятельной авторизацииWithFBAppAuth: НЕТ safariAuth: НЕТ];

0 голосов
/ 29 июля 2011

Я не уверен, что вы уже делаете это.Но то, что вам нужно сделать, это сохранить AccessToken, который вы получаете от FB в телефоне.Позже, когда вы открываете приложение, оно должно проверять этот токен и на его основе предпринимать действия.Это довольно ясно в документах

Так что, по сути, вам нужно проверить «accessToken / секретный ключ», прежде чем открывать представление браузера.В браузере вы пройдете этот accessToken.Взгляните на это сообщение в блоге , чтобы лучше понять это.

Также, чтобы открыть диалог, попробуйте использовать методы, доступные в Facebook.h

- (void)dialog:(NSString *)action
 andDelegate:(id<FBDialogDelegate>)delegate;

- (void)dialog:(NSString *)action
 andParams:(NSMutableDictionary *)params
 andDelegate:(id <FBDialogDelegate>)delegate;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...