สารบัญ:
Android 6.0 Marshmallow ในทางเทคนิคนั้นมีอายุครบหนึ่งสัปดาห์ (น้อยกว่านั้นถ้าคุณนับวันที่ที่จะวางรหัสฉันคิดว่า) แต่มันอยู่ในสถานะแสดงตัวอย่างของนักพัฒนาเป็นเวลาหลายเดือนและนักพัฒนาสามารถส่งแอพที่ใช้ระดับ API ใหม่ (และการอนุญาตใหม่) เล็กน้อยในขณะนี้
ดังนั้นหากคุณใช้ Marshmallow บนโทรศัพท์ Nexus (และควรเป็นจริง) คุณจะเริ่มทำงานในรูปแบบการอนุญาตใหม่เมื่อมีการอัปเดตแอป หนึ่งในกรณีแรกของฉันคือกับ Twitter (และความรุ่งโรจน์ไปที่ Twitter สำหรับการเป็นคนแรก ๆ)
Twitter ทำอย่างไร …
พิจารณาภาพหน้าจอนี้ซึ่งคุณจะเห็นเมื่อคุณเปิด Twitter เป็นครั้งแรก Twitter ต้องการใช้ตำแหน่งปัจจุบันของฉันเพื่อกำหนดค่าประสบการณ์ของฉันเอง ตกลงทำไมไม่ ฉันชอบที่ตั้งของฉันและฉันชอบประสบการณ์ที่ดีขึ้น ฉันจะอนุญาต
จากนั้น การอนุญาตใหม่ใน Marshmallow ก็เริ่มขึ้นฉันต้องการให้ Twitter เข้าถึงสิ่งที่ฉันพูดหรือไม่ ใช่ฉันทำ. นี่คือเหตุผลที่ฉันกดตกลงในครั้งแรก
สิ่งนั้นคือกล่องโต้ตอบตัวแรกของ Twitter ไม่มีส่วนเกี่ยวข้องกับการอนุญาตให้ใช้ตำแหน่งของฉัน มันเป็นต้นเหตุของไดอะล็อกระบบ แต่มันก็เป็นมิตรมากกว่ากล่องโต้ตอบการอนุญาต Android เล็กน้อย
พิจารณา:
Twitter: "Twitter ต้องการให้ผู้ใช้ตำแหน่งปัจจุบันของคุณกำหนดประสบการณ์ของคุณเอง"
Android: "อนุญาตให้ Twitter เข้าถึงตำแหน่งของอุปกรณ์นี้หรือ"
คำถามที่เหมือนการขออนุญาตสองข้อที่ถามคำถามเดียวกัน - แต่มีเพียงคำถามเดียวที่อนุญาตอะไรก็ได้
อดีตบอกฉันว่ามันต้องการทำอะไรและที่สำคัญกว่านั้นคือ ทำไม มันถึงอยากทำ ส่วนหลังนั้นเป็นประเภทเดียวกันของสิทธิ์ที่เรียบง่าย แต่คลุมเครือ - พูดเราได้มาจาก Android และมันก็จำเป็นต้องเป็นฉันคิดว่า แต่นั่นคือสิ่งที่แอพขออนุญาต - กล่องโต้ตอบแรกจาก Twitter - มีความสำคัญมากยิ่งขึ้น แทนที่จะให้ตัวเลือก "ไม่อนุญาต / ตกลง" ให้ฉันในทันที Twitter ควรใช้อีกประโยคหนึ่งเพื่อบอกฉันว่ามีอะไรต่อไป "Twitter ต้องการให้ผู้ใช้ระบุตำแหน่งปัจจุบันของคุณเพื่อปรับแต่งประสบการณ์ของคุณ หากคุณเจ๋งกับมันให้คลิก 'อนุญาต' ในหน้าจอถัดไป " หรือบางสิ่งเพื่อผลกระทบนั้น จากนั้น คุณจะมีบริบทที่ดีขึ้นสำหรับการขออนุญาตและผู้ใช้ก็พร้อมสำหรับสิ่งที่กำลังจะเกิดขึ้น - และมันก็ไม่ได้ซ้ำไปซ้ำมา
นั่นคือการหยุดสองครั้งต่อผู้ใช้และมันก็ยาก แต่มันเป็นจุดปวดครั้งเดียว ฉันคิดว่ามันคุ้มค่าที่จะให้เราให้ความสำคัญกับแอปการอนุญาตที่อันตราย (นั่นคือศัพท์เทคนิค) ที่อาจเป็นอันตราย ในทางกลับกันการยึดถือและบริบทอาจหมายความว่าคุณไม่จำเป็นต้องบอกฉันว่าคุณกำลังจะขออนุญาตใช้กล้องเนื่องจาก ฉันเพิ่งแตะไอคอนกล้อง
นี่คือวิธีที่ Google นำมาใช้:
ในบางสถานการณ์คุณอาจต้องการช่วยให้ผู้ใช้เข้าใจว่าทำไมแอปของคุณต้องได้รับอนุญาต ตัวอย่างเช่นหากผู้ใช้เปิดแอปถ่ายรูปผู้ใช้อาจไม่แปลกใจที่แอพขออนุญาตใช้กล้อง แต่ผู้ใช้อาจไม่เข้าใจว่าทำไมแอพนี้ต้องการเข้าถึงตำแหน่งหรือผู้ติดต่อของผู้ใช้ ก่อนที่คุณจะขออนุญาตคุณควรพิจารณาให้คำอธิบายแก่ผู้ใช้ โปรดทราบว่าคุณไม่ต้องการเกลี้ยกล่อมผู้ใช้ด้วยคำอธิบาย หากคุณให้คำอธิบายมากเกินไปผู้ใช้อาจพบว่าแอปพลิเคชันน่าผิดหวังและนำออกไป
Facebook ทำอย่างไร …
ลองมาดูกันว่า Facebook - แอพอื่นที่อัปเดตแล้วสำหรับการอนุญาตใหม่
Ahhhh, ขออนุญาตดับเบิลหายาก นี่คือสิ่งที่คุณได้รับจาก Facebook เมื่อคุณกดไอคอนกล้องเพื่อรับการอัพเดตสถานะใหม่ ตกลงฉันโกงนิดหน่อย - คุณจะได้รับการแจ้งเตือนสองครั้งนี้หากคุณปฏิเสธการอนุญาตให้เก็บข้อมูลในครั้งแรกเมื่อพยายามเติมภาพขนาดย่อของสิ่งที่อยู่ในแกลเลอรี่ของคุณ แต่มันก็ทำได้ดีมาก Facebook บอกคุณว่ามันต้องการอะไรและทำไมมันถึงต้องการ
จากนั้นคุณจะต้องทำซ้ำตัวเองอีกครั้ง ใช่ฉันต้องการให้ Facebook ได้รับอนุญาตให้ขอโทรศัพท์ทำอะไรบางอย่าง
แต่อีกครั้งมันเป็นปุ่มแรกที่อนุญาตให้ฉันมีปัญหา ไม่อนุญาตให้มีสิ่งใดนอกจากกล่องโต้ตอบระบบเพื่อถามคุณ ในสิ่งเดียวกันอีกครั้ง และคุณต้องทำเพียงครั้งเดียว
แฮงเอาท์ทำงานอย่างไร …
นี่คืออีกตัวอย่างหนึ่งคราวนี้ใน Google แฮงเอาท์ การกดไอคอนกล้องหรือแกลเลอรีภายในการสนทนาจะทำให้เกิดการโต้ตอบของระบบเท่านั้น ไม่มีคำขอที่ฟุ่มเฟือยก่อนคำขอจริงที่ให้สิทธิ์ (และอีกครั้งฉันจะยืนยันว่าไม่เป็นไรเมื่อฉันแตะไอคอนกล้องการขออนุญาตใช้กล้องมีบริบทอยู่แล้ว)
ที่ฉันคิดว่า Google ทำผลงานได้ดี จริง ๆ ด้วยตัวอธิบายที่ได้รับอนุญาตจากผู้ติดต่อรายแรกซึ่งต้องใช้การคัดออกซึ่งแอพนี้จะต้องใช้งานได้เลย ก่อนอื่นก็บอกว่า ทำไม มัน ถึง ต้องการการเข้าถึงรายชื่อของคุณ กดปุ่ม "Next" จากนั้นแสดงคำขออนุญาตระบบ มันบอกว่า "ถัดไป" และไม่ใช่ "อนุญาต" เป็นสิ่งที่สำคัญจริงๆ หนึ่งไหลเข้าสู่อีก เห็นได้ชัดว่าคุณไม่ต้องการทำคำขออนุญาตแบบเต็มหน้าจอเช่นนี้ แต่สำหรับบางสิ่งที่สำคัญพอที่จะนำเสนอในช่วงแรกก็ทำได้ดีมาก
การเปลี่ยนเป็นสิทธิ์ใช้งานจริงนั้นใหญ่และสำคัญ แต่อาจเป็นกระบวนการเรียนรู้ขนาดเล็ก
ฉันยอมรับว่าทำภูเขาออกมาจากเนินหนึ่งบนเนินเขาที่นี่ คุณจะต้องผ่านขั้นตอนนี้เป็นครั้งแรกเท่านั้นสำหรับแอป แต่การอนุญาตมีความสำคัญ (และฉันคิดว่าการสลับไปใช้การอนุญาตแบบรันไทม์เป็นสิ่งที่ดี) คำอธิบายของการอนุญาตนั้นดี แม้แต่การหยุดสองครั้งสามารถมองข้ามในชื่อของการทำให้คุณมองก่อนที่คุณจะกระโดด อธิบายการอนุญาตแก่ผู้ใช้อย่าทำให้พวกเขาคิดว่าพวกเขาได้อนุญาตครั้งเดียวเท่านั้นเพื่อให้พวกเขาทำขั้นตอนต่อไปในคำขอของระบบ ฉันแค่ไม่ชอบการทำซ้ำตัวเองเป็นทั้งหมด
และเช่นเคยคุณสามารถเพิกถอนสิทธิ์ได้ทุกเมื่อที่คุณต้องการ หากคุณทำเช่นนั้นแอปจะขออนุญาตจากคุณอีกครั้งในครั้งถัดไปที่คุณพยายามใช้ฟังก์ชันการทำงานนั้น
ประเด็นก็คือเราในฐานะผู้ใช้มีสิ่งใหม่ที่จะคุ้นเคยกับที่นี่ แต่นักพัฒนาแอปก็ทำเช่นเดียวกัน
อัปเดต: สำหรับการรับฟังทางเทคนิคทั้งหมดนี้ - และโดยวิธีการยืนยันว่าวิธีที่ Facebook และ Twitter กำลังทำสิ่งที่ไม่เหมาะ - ตรวจสอบตอนที่ 33 ของพอดคาสต์นักพัฒนา Android Backstage