Xử lý quyền bị từ chối

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:

  1. Tiếp tục mà không có thông tin đó
  2. Giải thích lý do bạn cần thông tin và nhắc lại yêu cầu
  3. Tự thu thập thông tin

Tiếp tục mà không có thông tin đó

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.

Giải thích lý do và nhắc lại

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.

Tự thu thập thông tin

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.

Phát hiện quyền bị từ chối

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.

SDK Android

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.

SDK iOS

Trên iOS, bạn có thể gọi phương thức [FBSDKAccessToken declinedPermissions] trong SDK Facebook dành cho iOS.

SDK Javascript

Để 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())
});

API

Để 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_birthdaypublic_profile nhưng chọn từ chối quyền email.

Tóm tắt

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.