เมื่อผู้ใช้สร้างบัญชีหรือเข้าสู่ระบบแอพโดยใช้การเข้าสู่ระบบ Facebook ผู้ใช้จะมีโอกาสให้สิทธิ์การอนุญาตที่คุณขอ แต่ก็สามารถปฏิเสธสิทธิ์การอนุญาตทั้งหมดได้ด้วยเช่นกัน ยกเว้นการเข้าถึงโปรไฟล์สาธารณะของตน ผู้ใช้อาจเลือกดำเนินการนี้หากรู้สึกว่าไม่สะดวกใจที่จะแชร์ข้อมูลกับแอพของคุณ หรือไม่เข้าใจว่าจะมีการนำข้อมูลไปใช้เพื่อปรับปรุงประสบการณ์ที่ตนได้รับอย่างไร
เมื่อผู้ใช้เลือกปฏิเสธสิทธิ์การอนุญาต สิ่งสำคัญคือแอพของคุณควรเคารพการตัดสินใจนั้น และยังมอบประสบการณ์ดีๆ ในการใช้งานต่อไป
โดยทั่วไป แอพของคุณอาจตอบสนองได้ 3 วิธี (แบบใดแบบหนึ่ง)
ในบางกรณี แอพของคุณอาจทำงานได้โดยไม่ต้องใช้สิทธิ์การอนุญาตบางอย่างที่ขอ ซึ่งในกรณีนี้ สิ่งที่ง่ายที่สุดที่ควรทำคือเคารพการปฏิเสธสิทธิ์การอนุญาตนั้น และยังคงนำผู้ใช้เข้าสู่แอพ
ดังตัวอย่างด้านล่างนี้ Flick Finder อาจให้คำแนะนำเกี่ยวกับภาพยนตร์ที่ดีขึ้นได้ หากได้รับสิทธิ์การอนุญาตให้เข้าถึง user_likes
แต่ในเมื่อผู้ใช้ปฏิเสธสิทธิ์การอนุญาตนั้น Flick Finder ก็เพียงแค่เสนอคำแนะนำทั่วไปแทน
ตัวเลือกนี้เป็นตัวเลือกที่ง่ายที่สุดและให้ประสบการณ์ที่ดีแก่ผู้ใช้ที่เลือกปฏิเสธสิทธิ์การอนุญาตบางอย่างโดยยังคงเคารพการตัดสินใจนั้นด้วย
ผู้ใช้อาจปฏิเสธสิทธิ์การอนุญาตเพราะไม่เข้าใจเหตุผลที่แอพต้องใช้ข้อมูลนั้น ในกรณีนี้ แอพอาจแสดงกล่องโต้ตอบที่อธิบายเหตุผลว่าเหตุใดคุณต้องใช้ข้อมูล รวมทั้งจะมีการนำข้อมูลนั้นไปปรับปรุงประสบการณ์ให้ดีขึ้นได้อย่างไร
ดังตัวอย่างด้านล่างนี้ Flick Finder แสดงกล่องโต้ตอบที่อธิบายว่าแอพสามารถใช้ที่อยู่อีเมลเพื่อส่งข้อมูลให้กับคุณเมื่อมีภาพยนตร์ใหม่เข้ามา ปุ่ม "เพิ่มอีเมล" จะนำผู้ใช้กลับไปที่ลำดับขั้นตอนการเข้าสู่ระบบ Facebook ที่ซึ่งผู้ใช้สามารถให้สิทธิ์การอนุญาต email
ได้
โปรดทราบว่า ในตัวอย่างนี้ ผู้ใช้ยังมีโอกาสที่จะไม่ให้สิทธิ์การอนุญาต email
เช่นเดิม
กลยุทธ์นี้สามารถนำไปใช้กับสิทธิ์การอนุญาตที่จำเป็นอย่างยิ่งหรือเป็นที่ต้องการอย่างยิ่งสำหรับฟังก์ชันการทำงานของแอพของคุณ
คุณอาจรวบรวมข้อมูลบางอย่างได้ง่ายๆ
ดังตัวอย่างนี้ Flick Finder ต้องการรวบรวมข้อมูลวันเกิดของผู้ใช้เพื่อแนะนำภาพยนตร์ที่เหมาะกับวัย หากผู้ใช้ปฏิเสธที่จะแชร์วันเกิดเมื่อเข้าสู่ระบบ Facebook แล้ว Flick Finder ก็ยังสามารถสร้างส่วนที่ใช้เก็บข้อมูลภายในแอพได้ โดยแยกออกจากลำดับขั้นตอนการเข้าสู่ระบบ Facebook เราขอแนะนำให้ดำเนินการนี้หลังจากที่ผู้ใช้เริ่มคุ้นเคยกับแอพของคุณแล้ว เพื่อให้เกิดความเข้าใจมากยิ่งขึ้นว่าสิทธิ์การอนุญาตจะช่วยปรับปรุงประสบการณ์ของตนอย่างไร
ตัวอย่างข้อมูลที่สามารถรวบรวมด้วยวิธีนี้ ได้แก่ user_hometown
, user_location
, user_birthday
หรือแม้แต่ email
เมื่อผู้ใช้ปฏิเสธสิทธิ์การอนุญาตในลำดับขั้นตอนการเข้าสู่ระบบ Facebook เราได้ช่วยให้แอพของคุณตรวจจับการดำเนินการนี้ได้ง่าย และตอบสนองโดยใช้กลยุทธ์ที่แจ้งไว้ข้างต้น
ใน Android คุณสามารถเรียกวิธี getDeclinedPermissions
ในอ็อบเจ็กต์ AccessToken
ใน Facebook SDK สำหรับ Android ได้
ใน iOS คุณสามารถเรียกวิธี [FBSDKAccessToken declinedPermissions]
ใน Facebook SDK สำหรับ iOS ได้
คุณสามารถเรียกจุดเชื่อมโยง permissions
ในอ็อบเจ็กต์ User
ของ API กราฟเพื่อตรวจจับสิทธิ์การอนุญาตที่ได้รับการปฏิเสธได้ คุณสามารถรวบรวมสิทธิ์การอนุญาตที่ได้รับการปฏิเสธใดก็ได้โดยการย้ำผ่านการตอบสนอง ดังนี้
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()) });
คุณสามารถเรียกจุดเชื่อมโยง permissions
ในอ็อบเจ็กต์ User
ของ API กราฟเพื่อตรวจจับสิทธิ์การอนุญาตที่ได้รับการปฏิเสธได้
GET https://graph.facebook.com/me/permissions?access_token=USER_ACCESS_TOKEN
ซึ่งจะแสดงการตอบสนองของแบบฟอร์ม ดังนี้
{ "data": [ { "permission": "user_birthday", "status": "granted" }, { "permission": "public_profile", "status": "granted" }, { "permission": "email", "status": "declined" } ]}
เป็นการบอกแอพว่าผู้ใช้ให้สิทธิ์การอนุญาต user_birthday
และ public_profile
แต่เลือกปฏิเสธสิทธิ์การอนุญาต email
การจัดการกับสิทธิ์การอนุญาตที่ผู้ใช้ปฏิเสธด้วยดีเป็นส่วนสำคัญในการมอบประสบการณ์ที่ดีในการเข้าสู่ระบบ Facebook แก่ผู้ใช้
การใช้กลยุทธ์หนึ่งดังที่กล่าวไว้ข้างต้นจะช่วยให้ผู้ที่ดาวน์โหลดและติดตั้งแอพของคุณเข้าสู่ระบบได้โดยไม่ต้องพบประสบการณ์ที่สะดุดและสร้างความไม่พอใจ ซึ่งจะกระทบต่อชื่อเสียงและคะแนนของแอพของคุณในร้านค้าแอพได้