Lưu lượng xác thực của hộp thoại đăng nhập Facebook SDK được quản lý từ phía máy chủ của facebook. Và vì chúng tôi không có bất kỳ quyền kiểm soát nào ở phía chúng tôi để xác thực đăng nhập.
SDK Facebook cung cấp chế độ xem LoginButton là chế độ xem tùy chỉnh của một nút. Bạn có thể sử dụng nút này trong ứng dụng của mình để triển khai Đăng nhập Facebook. Lớp LoginButton duy trì trạng thái phiên, cho phép nó hiển thị văn bản chính xác trong nút dựa trên trạng thái được xác thực của người dùng. Thêm LoginButton vào bố cục hoạt động của bạn là một cách nhanh chóng để thực hiện Đăng nhập Facebook.
Cùng với nút đăng nhập, bạn có thể muốn kiểm soát các thành phần giao diện người dùng (UI) khác dựa trên việc người dùng có được xác thực hay không. Facebook SDK bao gồm hai lớp: UiLifecycleHelper
và Session.StatusCallback
, để xử lý phần lớn sự phức tạp xung quanh việc quản lý các thay đổi trạng thái phiên. Hoạt động hoặc đoạn mà bạn hiển thị chức năng được xác thực có thể tạo một phiên bản của lớp UiLifecycleHelper
và chuyển người nghe Session.StatusCallback
được thông báo về bất kỳ thay đổi trạng thái phiên nào. Hoạt động hoặc phân đoạn của bạn phải gọi UiLifecycleHelper
các phương pháp công khai phản ánh các phương pháp vòng đời của một hoạt động hoặc phân đoạn. Các phương thức này được sử dụng trong việc tạo, mở, lưu và khôi phục một phiên Facebook đang hoạt động. Việc triển khai Session.StatusCallback
trình nghe có thể ghi đè phương thức call()
để phản hồi các thay đổi trạng thái phiên và cập nhật giao diện người dùng cho phù hợp.
Vì vậy, LoginButton
kiểm soát chức năng nút đăng nhập và bạn có thể thêm mã tùy chỉnh được kích hoạt theo phương pháp call()
để kiểm soát các thành phần giao diện người dùng khác.
Quy trình đăng nhập hộp thoại (là một lần xem web) được kiểm soát hoàn toàn ở phía máy chủ và không có cờ phía máy khách nào để vô hiệu hóa nó theo như tôi biết. –
@Ron Không có vấn đề như vậy đối với tôi trên Android 3.2. Tôi đang sử dụng Facebook SDK Android 3.0. Tôi nghĩ rằng tôi đã có một vấn đề trên iOS nhưng tôi đã không sử dụng phiên bản mới nhất của Facebook iOS SDK. – Pang
Nếu Facebook muốn lĩnh vực này không bị che khuất sau một lỗi, điều đó dường như là sự lựa chọn của Facebook để thực hiện, nếu đó là lĩnh vực của Facebook chứ không phải của bạn. – CommonsWare