Khi mọi người tạo tài khoản hoặc đăng nhập vào ứng dụng của bạn bằng Đăng nhập Facebook, họ có cơ hội cấp các quyền bạn yêu cầu. Nhưng mọi người cũng có cơ hội từ chối tất cả các quyền trừ trang cá nhân công khai của họ. Mọi người có thể chọn từ chối nếu họ cảm thấy không thoải mái khi chia sẻ thông tin này với ứng dụng của bạn hoặc họ không hiểu cách thông tin đó sẽ được sử dụng để nâng cao trải nghiệm của họ.
Khi mọi người chọn từ chối quyền, điều quan trọng là ứng dụng của bạn tôn trọng sự lựa chọn của họ và vẫn cung cấp trải nghiệm tuyệt vời cho mọi người.
Nói chung, ứng dụng của bạn có thể phản ứng theo 1 trong 3 cách:
Trong một số trường hợp, ứng dụng của bạn có thể không cần một quyền được yêu cầu nhất định để hoạt động. Trong trường hợp này, điều dễ thực hiện nhất là tôn trọng sự từ chối quyền và tiếp tục dẫn họ vào ứng dụng.
Trong ví dụ bên dưới, Flick Finder có thể đề xuất phim nâng cao nếu có quyền truy cập vào quyền user_likes
. Nhưng vì người này đã từ chối quyền đó nên Flick Finder chỉ hiển thị các đề xuất chung.
Đây là tùy chọn đơn giản nhất và cung cấp trải nghiệm tôn trọng tuyệt vời cho những người chọn từ chối các quyền nhất định.
Mọi người có thể từ chối một quyền vì họ không hiểu lý do ứng dụng của bạn cần thông tin đó. Trong trường hợp này, ứng dụng của bạn có thể hiển thị một hộp thoại giải thích lý do bạn cần thông tin đó và cách sử dụng thông tin để nâng cao trải nghiệm.
Trong ví dụ bên dưới Flick Finder hiển thị một hộp thoại giải thích rằng với địa chỉ email, ứng dụng có thể gửi cho bạn đề xuất cập nhật khi có phim mới. Nút “Thêm email” đưa người đó quay lại luồng Đăng nhập Facebook mà họ có thể cấp quyền email
.
Lưu ý rằng trong ví dụ này, người đó vẫn có cơ hội từ chối cấp quyền email
.
Bạn có thể sử dụng chiến lược này cho quyền quan trọng hoặc rất cần cho chức năng của ứng dụng.
Một số thông tin có thể đủ đơn giản để bạn tự thu thập.
Trong ví dụ này, Flick Finder muốn thu thập ngày sinh của một người để có thể đề xuất các phim phù hợp với độ tuổi. Nếu một người từ chối chia sẻ ngày sinh của họ khi đăng nhập bằng Facebook, Flick Finder vẫn có thể tạo một nơi để thu thập thông tin bên trong ứng dụng, tách khỏi luồng Đăng nhập Facebook. Chúng tôi khuyến khích bạn thực hiện việc này sau khi một người đã dành một khoảng thời gian để làm quen với ứng dụng của bạn nên họ đã hiểu rõ hơn cách quyền này sẽ cải thiện trải nghiệm của họ.
Ví dụ về thông tin có thể thu thập theo cách này bao gồm user_hometown
, user_location
, user_birthday
hoặc thậm chí email
.
Khi mọi người từ chối các quyền thuộc luồng Đăng nhập Facebook, chúng tôi sẽ giúp ứng dụng của bạn phát hiện điều này và phản ứng dễ dàng bằng một trong các chiến lược đã nêu ở trên.
Trên Android, bạn có thể gọi phương thức getDeclinedPermissions
trên đối tượng AccessToken
trong SDK Facebook dành cho Android.
Trên iOS, bạn có thể gọi phương thức [FBSDKAccessToken declinedPermissions]
trong SDK Facebook dành cho iOS.
Để phát hiện các quyền bị từ chối, bạn có thể gọi cạnh permissions
trên đối tượng User
của API Đồ thị. Bạn có thể thu thập bất kỳ quyền nào bị từ chối bằng cách nhắc lại thông qua phản hồi:
FB.api('/me/permissions', function(response) { var declined = []; for (i = 0; i < response.data.length; i++) { if (response.data[i].status == 'declined') { declined.push(response.data[i].permission) } } alert(declined.toString()) });
Để phát hiện các quyền bị từ chối, bạn có thể gọi cạnh permissions
trên đối tượng User
của API Đồ thị:
GET https://graph.facebook.com/me/permissions?access_token=USER_ACCESS_TOKEN
tạo ra phản hồi ở dạng:
{ "data": [ { "permission": "user_birthday", "status": "granted" }, { "permission": "public_profile", "status": "granted" }, { "permission": "email", "status": "declined" } ]}
Thông tin này cho ứng dụng của bạn biết rằng người đó đã cấp quyền user_birthday
và public_profile
nhưng chọn từ chối quyền email
.
Việc xử lý khéo léo các quyền bị từ chối là một phần quan trọng để cung cấp trải nghiệm Đăng nhập Facebook tuyệt vời cho mọi người.
Thực hiện một trong các chiến lược ở trên sẽ đảm bảo những người tải xuống và cài đặt ứng dụng của bạn có thể đăng nhập mà không gặp lỗi hoặc có trải nghiệm khó chịu làm ảnh hưởng đến danh tiếng và xếp hạng của ứng dụng trên cửa hàng ứng dụng.