Okno dialogowe sprawdzania poprawności w oknie dialogowym logowania do SDK Facebooka jest zarządzane od strony serwera Facebooka. A ponieważ nie mamy żadnej kontroli po naszej stronie w celu sprawdzenia poprawności logowania.
Zestaw SDK serwisu Facebook zapewnia widok LoginButton, który jest niestandardową implementacją widoku przycisku. Możesz użyć tego przycisku w swojej aplikacji, aby zaimplementować Facebook Login. Klasa LoginButton utrzymuje stan sesji, co pozwala mu wyświetlać prawidłowy tekst w przycisku na podstawie uwierzytelnionego stanu użytkownika. Dodanie przycisku LoginButton do layoutu działania to szybki sposób na zaimplementowanie Facebook Login.
Wraz z przyciskiem logowania można sterować innymi komponentami interfejsu użytkownika (UI) na podstawie tego, czy użytkownik jest uwierzytelniony, czy nie. Pakiet SDK Facebooka obejmuje dwie klasy: UiLifecycleHelper
i Session.StatusCallback
, które umożliwiają obsługę wielu złożoności związanych z zarządzaniem zmianami stanu sesji. Działanie lub fragment, w którym wyświetlana jest funkcja uwierzytelniana, może utworzyć instancję klasy UiLifecycleHelper
i przekazać ją w detektorze Session.StatusCallback
, który jest powiadamiany o wszelkich zmianach stanu sesji. Twoja aktywność lub fragment musi wywoływać publiczne metody odzwierciedlające metody cyklu życia danej czynności lub fragmentu. Te metody służą do tworzenia, otwierania, zapisywania i przywracania aktywnej sesji na Facebooku. Implementacja detektora Session.StatusCallback
może zastąpić metodę call()
, aby zareagować na zmiany stanu sesji i odpowiednio zaktualizować interfejs.
Tak więc LoginButton
steruje funkcją przycisku logowania i można dodać niestandardowy kod wyzwolony z metody call()
w celu sterowania innymi składnikami interfejsu użytkownika.
Przepływ pracy w oknie dialogowym logowania (będący podglądem strony internetowej) jest całkowicie kontrolowany po stronie serwera i nie ma flagi po stronie klienta, która mogłaby go wyłączyć, o ile wiem. –
@Ron Nie ma takiego problemu dla mnie na Androida 3.2. Używam Facebooka Android SDK 3.0. Myślę, że miałem taki problem na iOS, ale nie korzystałem z najnowszej wersji pakietu SDK Facebooka iOS. – Pang
Jeśli Facebook chce, aby pole nie było zasłonięte po błędzie, to wydaje się, że wybór Facebooka jest możliwy, jeśli jest to pole Facebooka, a nie twoje. – CommonsWare