Menangani Izin yang Ditolak

Saat orang membuat akun atau masuk ke aplikasi Anda menggunakan Facebook Login, mereka memiliki kesempatan untuk memberikan izin yang Anda minta. Tapi orang juga memiliki kesempatan untuk menolak semua izin kecuali profil publik mereka. Orang dapat memilih melakukan ini jika mereka merasa tidak nyaman membagikan informasi ini dengan aplikasi Anda, atau mereka tidak mengetahui cara informasi itu akan digunakan untuk meningkatkan pengalaman mereka.

Saat orang memilih menolak izin, penting agar aplikasi Anda menghormati pilihan mereka dan masih menyediakan pengalaman yang hebat untuk mereka.

Secara umum, aplikasi Anda bereaksi dengan salah satu dari tiga cara berikut:

  1. Melanjutkan tanpa informasi
  2. Jelaskan alasan Anda memerlukan informasi tersebut dan meminta ulang
  3. Kumpulkan sendiri informasi Anda

Meneruskan Tanpa Informasi

Di beberapa kasus, izin tertentu yang diminta mungkin tidak diperlukan agar aplikasi Anda dapat berfungsi. Dalam kasus ini, hal paling mudah untuk dilakukan adalah menghormati penolakan izin dan terus mengarahkannya ke aplikasi.

Dalam contoh berikut, Flick Finder dapat menyediakan rekomendasi film yang ditingkatkan jika memiliki akses ke izin user_likes. Tapi karena orang itu menolak izin itu, Flick Finder hanya menyajikan rekomendasi yang lebih umum.

Ini adalah opsi paling sederhana, dan menyediakan pengalaman menghormati yang hebat kepada orang yang memilih menolak izin tertentu.

Menjelaskan Alasan dan Meminta Ulang

Orang dapat menolak izin karena mereka tidak mengetahui alasan aplikasi Anda memerlukan informasi itu. Dalam kasus ini, aplikasi Anda dapat menampilkan dialog yang menjelaskan alasan Anda memerlukan informasi dan caranya digunakan untuk meningkatkan pengalaman.

Dalam contoh berikut, Flick Finder menampilkan dialog yang menjelaskan bahwa dengan alamat email, aplikasi ini dapat mengirimi Anda berita terbaru saat film baru tersedia. Tombol “Tambahkan Email” membawa orang itu kembali ke alur Facebook Login tempat dia dapat memberi izin email.

Perhatikan bahwa dalam contoh ini, orang itu masih memiliki kesempatan untuk tidak memberi izin email.

Strategi ini dapat digunakan untuk izin yang sangat penting atau sangat diinginkan demi fungsionalitas aplikasi Anda.

Kumpulkan Sendiri Informasi Anda

Sebagian informasi mungkin cukup mudah dikumpulkan oleh Anda sendiri.

Dalam contoh ini, Flick Finder ingin mengumpulkan hari ulang tahun seseorang agar dapat menganjurkan film sesuai usia. Jika seseorang sudah menolak untuk membagikan hari ulang tahunnya saat masuk dengan Facebook, Flick Finder masih dapat membuat ruang untuk mengumpulkan informasi di dalam aplikasi, terpisah dari alur Facebook Login. Kami anjurkan melakukan ini setelah seseorang sudah terbiasa dengan aplikasi Anda, sehingga dia lebih memahami cara izin akan meningkatkan pengalamannya.

Contoh informasi yang mungkin dikumpulkan dengan cara ini meliputi user_hometown, user_location, user_birthday, atau bahkan email.

Mendeteksi Izin yang Ditolak

Saat orang menolak izin sebagai bagian dari alur Facebook Login, kami memudahkan aplikasi Anda untuk mendeteksi hal ini dan bereaksi menggunakan salah satu strategi yang diuraikan di atas.

SDK Android

Di Android, Anda dapat memanggil metode getDeclinedPermissions di objek AccessToken di SDK Facebook untuk Android.

SDK iOS

Di iOS, Anda dapat memanggil metode [FBSDKAccessToken declinedPermissions] di SDK Facebook untuk iOS.

SDK JavaScript

Untuk mendeteksi izin yang ditolak, Anda dapat memanggil edge permissions di objek User dari API Graf. Anda dapat mengumpulkan izin yang ditolak dengan mengulangi tanggapannya:

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

Untuk mendeteksi izin yang ditolak, Anda dapat memanggil edge permissions di objek User dari API Graf:

GET https://graph.facebook.com/me/permissions?access_token=USER_ACCESS_TOKEN

yang menghasilkan tanggapan berupa:

{ "data": [
    {
      "permission": "user_birthday",
      "status": "granted"
    },
    {
      "permission": "public_profile",
      "status": "granted"
    },
    {
      "permission": "email",
      "status": "declined"
    }
]}

Ini memberi tahu kepada aplikasi Anda bahwa orang itu memberi izin user_birthday dan public_profile, tapi memilih menolak izin email.

Rangkuman

Bagian penting dari menyediakan pengalaman Facebook Login yang hebat bagi orang-orang adalah menangani dengan baik izin yang ditolak.

Dengan menerapkan salah satu strategi di atas akan memastikan orang yang mengunduh dan memasang aplikasi Anda dapat masuk tanpa mengalami pengalaman yang mengganggu dan membuat frustrasi yang merugikan reputasi dan peringkat aplikasi Anda di toko aplikasi.