3 ฟีเจอร์ที่ดีที่สุดใน Android 11 จะไม่แสดงบนสมาร์ทโฟนและแท็บเล็ตทุกรุ่น นั่นเป็นเพราะว่า Google ไม่ได้บังคับใช้คุณสมบัติเหล่านี้
ทุกปี Google จะออกระบบปฏิบัติการ Android เวอร์ชันใหม่ Google เปิดตัวตัวอย่างนักพัฒนา Android 11 ตัวแรกในเดือนกุมภาพันธ์ ตามมาด้วยตัวอย่างนักพัฒนาซอฟต์แวร์ตัวที่สอง สาม และสี่ในช่วงสองสามเดือนที่ผ่านมา เมื่อต้นเดือนที่ผ่านมา Google ได้เปิดตัว Android 11 เบต้าตัวแรก และพูดคุยเชิงลึกเกี่ยวกับฟีเจอร์ที่ดีที่สุดเพื่อให้ผู้ใช้เพลิดเพลินและเพื่อให้นักพัฒนานำไปปฏิบัติ อย่างไรก็ตาม ตอนนี้เราได้เรียนรู้แล้วว่าฟีเจอร์เด่นสามประการใน Android 11 อาจไม่พร้อมใช้งานบนอุปกรณ์ Android ทุกเครื่อง
เพื่อให้เข้าใจว่าเป็นไปได้อย่างไร เราต้องอธิบายโดยย่อว่าระบบปฏิบัติการ Android ได้รับการเผยแพร่จาก Google ไปยังผู้ผลิตอุปกรณ์สมาร์ทโฟนอย่างไร แอนดรอยด์เป็น ระบบปฏิบัติการโอเพ่นซอร์ส ได้รับใบอนุญาตภายใต้ Apache 2.0 ซึ่งหมายความว่าทุกคนตั้งแต่นักพัฒนาอินดี้ไปจนถึงบริษัทขนาดใหญ่ มีอิสระที่จะแก้ไขและแจกจ่ายระบบปฏิบัติการบนอุปกรณ์ของตนเอง ฟีเจอร์ระบบปฏิบัติการใหม่ส่วนใหญ่ที่ Google เปิดตัวสำหรับ Android 11 จะเป็นส่วนหนึ่งของ Android Open Source Project (AOSP) สมาร์ทโฟนเครื่องนั้น ผู้ผลิตอุปกรณ์ใช้ซอฟต์แวร์ของตนเอง แต่ลิขสิทธิ์ Apache 2.0 ดังที่ผมได้กล่าวไว้ก่อนหน้านี้ ช่วยให้ใครก็ตามสามารถปรับเปลี่ยนซอฟต์แวร์ได้ตามที่เห็น พอดี. เพื่อรักษาความสอดคล้องใน API และพฤติกรรมของแพลตฟอร์มระหว่างอุปกรณ์ Android Google จึงรวมการเผยแพร่บริการมือถือของ Google (ซึ่งรวมถึง แอปพลิเคชันและเฟรมเวิร์กเช่น Google Play Store และ Google Play Services) โดยมีข้อตกลงใบอนุญาตที่กำหนดให้อุปกรณ์ปฏิบัติตามกฎภายใต้ของ Google "
โปรแกรมความเข้ากันได้ของ Android" (นอกเหนือจากข้อกำหนดอื่น ๆ ) โปรแกรมความเข้ากันได้ของ Android ประกอบด้วยชุดการทดสอบอัตโนมัติหลายชุดและชุดกฎที่ระบุใน Android เอกสารคำจำกัดความความเข้ากันได้ (ซีดีดี).ใน CDD นั้น Google แสดงรายการคุณลักษณะของซอฟต์แวร์และฮาร์ดแวร์ที่ผู้ผลิตอุปกรณ์ "ต้อง" นำไปใช้ เป็นเพียง "แนะนำอย่างยิ่ง" ที่จะนำไปใช้ หรือ "ไม่ควร" นำไปใช้ หากมีการระบุคุณลักษณะว่า "ต้อง" ใช้งาน ผู้ผลิตอุปกรณ์จะต้องเพิ่มคุณลักษณะนั้น ไม่เช่นนั้นจะไม่สามารถจัดส่งแอป Google บนอุปกรณ์ของตนได้ หากมีการระบุคุณลักษณะเป็น "ไม่ควร" ใช้งาน แสดงว่าผู้ผลิตอุปกรณ์ไม่สามารถเพิ่มคุณลักษณะนั้นได้ หรือไม่สามารถรวมแอป Google เข้าด้วยกันได้ สุดท้ายนี้ หากคุณลักษณะดังกล่าวแสดงเป็น "แนะนำอย่างยิ่ง" ก็ขึ้นอยู่กับผู้ผลิตอุปกรณ์ว่าพวกเขาต้องการใช้คุณลักษณะดังกล่าวหรือไม่ CDD เป็นเอกสารที่เปลี่ยนแปลงอยู่ตลอดเวลา แม้กระทั่งก่อนที่จะมีการตีพิมพ์ทุกปีหลังจากการเปิดตัว Android เวอร์ชันใหม่สู่สาธารณะ Google อัปเดตเอกสารบ่อยครั้งเพื่อลบฟีเจอร์ เปลี่ยนภาษาให้ชัดเจนขึ้น และลดข้อกำหนดตามความคิดเห็นจากพันธมิตร อย่างไรก็ตาม เมื่อ Google เผยแพร่ CDD สู่สาธารณะสำหรับ Android เวอร์ชันใดเวอร์ชันหนึ่งแล้ว ข้อกำหนดเหล่านั้นจะถูกกำหนดไว้ใช้กับอุปกรณ์ที่ได้รับการรับรองจาก Google ที่ใช้ระบบปฏิบัติการ Android เวอร์ชันนั้น
Android 11 CDD จะไม่เปิดเผยต่อสาธารณะจนกว่าจะถึงปลายปีนี้ น่าจะเป็นต้นเดือนกันยายน อย่างไรก็ตาม ผู้พัฒนา @ลบสเคป แบ่งปันสำเนาเอกสารรุ่นก่อนเผยแพร่ซึ่งมีรายละเอียดการเปลี่ยนแปลงที่กำลังจะเกิดขึ้นกับ CDD ทำให้เราได้เห็นเบื้องต้นว่า Google กำหนดรูปแบบ Android 11 ทั่วทั้งระบบนิเวศอย่างไร การเปลี่ยนแปลง CDD กว่า 60 รายการส่วนใหญ่ไม่น่าสนใจสำหรับผู้ใช้มากนัก แต่จะอธิบายว่าทำอย่างไร ผู้ผลิตอุปกรณ์ต้องใช้ API บางตัว ประกาศคุณสมบัติบางอย่าง และใช้เคอร์เนลบางตัว คุณสมบัติ. อย่างไรก็ตาม การเปลี่ยนแปลง CDD 3 ประการดึงดูดความสนใจของเรา เนื่องจากเกี่ยวข้องกับฟีเจอร์ที่น่าสนใจที่สุดใน Android 11 นี่คือสิ่งที่เราค้นพบ
การควบคุมอุปกรณ์
การควบคุมอุปกรณ์เป็นฟีเจอร์ใน Android 11 ที่ช่วยให้ระบบควบคุมอัตโนมัติในบ้านอัจฉริยะแสดงในเมนูเปิด/ปิดได้ คุณสามารถปิดไฟ เปิดประตูโรงรถ เปิดเครื่องดูดฝุ่น เปลี่ยนอุณหภูมิบ้าน และทำอะไรได้อีกมากมายโดยไม่ต้องเปิดแอปสมาร์ทโฮมมากมาย Google เพิ่ม API ที่นักพัฒนาแอปสมาร์ทโฮมสามารถใช้เพื่อแสดงการควบคุมในเมนูเปิด/ปิด เราคิดว่านี่เป็นคุณสมบัติที่ดี ในที่สุดก็นำสมาร์ทโฟนของคุณเข้าสู่บ้านอัจฉริยะ. น่าเสียดายที่ไม่มีข้อกำหนดสำหรับ OEM ที่จะต้องนำไปใช้จริง หาก OEM คิดว่าฟีเจอร์นี้ง่อยหรือพวกเขาต้องการไปเส้นทางอื่น (เช่น อนุญาตเฉพาะสมาร์ทเท่านั้น ระบบควบคุมภายในบ้านจากอุปกรณ์ในระบบนิเวศของตนเอง) จากนั้นพวกเขาสามารถปิดการสนับสนุนอุปกรณ์ได้อย่างง่ายดาย การควบคุม
เมื่อ Google เพิ่มการควบคุมอุปกรณ์ลงใน CDD เป็นครั้งแรกเมื่อวันที่ 25 กุมภาพันธ์ 2020 พวกเขาได้กำหนดให้รวมไว้ด้วยการเพิ่มข้อกำหนด "ต้อง" ในส่วน 2.2.3 - ข้อกำหนดของซอฟต์แวร์มือถือ อย่างไรก็ตาม ในวันที่ 20 พฤษภาคม 2020 Google ได้อัปเดตข้อความเพื่อลบข้อเสนอ "MUST" ส่วนใหม่ 3.8.16 - การควบคุมอุปกรณ์สรุปวิธีการใช้คุณสมบัตินี้ แต่ไม่ได้กำหนดให้ต้องมีการใช้งานตั้งแต่แรก! เราหวังว่า OEM จะไม่ปิดใช้งานคุณลักษณะที่ดีนี้ แต่ไม่มีทางที่เราจะทราบได้ว่าพวกเขาปิดใช้งานคุณลักษณะนี้หรือไม่ จนกว่าพวกเขาจะ พร้อมเผยรสชาติ Android ของตัวเองที่สร้างบน Android 11 ซึ่งจะไม่เกิดขึ้นจนกว่าจะถึงอีกไม่กี่เดือนข้างหน้า ตอนนี้.
ส่วนที่เสนอ 3.8.16 (ใหม่) - การควบคุมอุปกรณ์ (อัปเดต 20/5/2020)
3.8.16 การควบคุมอุปกรณ์
Android มี ControlsProviderService และ Control API เพื่อให้นักพัฒนาสามารถเผยแพร่การควบคุมอุปกรณ์เพื่อสถานะและการดำเนินการที่รวดเร็วสำหรับผู้ใช้
3.8.16.1 อุปกรณ์ควบคุมค่าใช้จ่ายของผู้ใช้
หากอุปกรณ์ใช้การควบคุมอุปกรณ์ อุปกรณ์จะ:
- [C-1-1] ต้องรายงานการตั้งค่าสถานะ android.software.controls.feature ให้เป็น TRUE
- [C-1-2] ต้องให้ความสามารถในการเพิ่ม แก้ไข เลือกและดำเนินการรายการโปรดของผู้ใช้จากการควบคุมที่ลงทะเบียนโดยแอปของบุคคลที่สามผ่านทาง android.service.controls ControlsProviderService และ android.service.controls ควบคุม API
- [C-1-3] ต้องให้สิทธิ์การเข้าถึงแก่ผู้ใช้รายนี้ภายในการโต้ตอบสามครั้งจาก Launcher
- [C-1-4] ต้องแสดงชื่อและไอคอนของแอปบุคคลที่สามแต่ละรายการที่ให้การควบคุมผ่าน android.service.controls อย่างถูกต้องสำหรับผู้ใช้รายนี้ ControlsProviderService API รวมถึงไอคอน ข้อความสถานะ ประเภทอุปกรณ์ ชื่อ โครงสร้าง โซน สีที่กำหนดเอง และคำบรรยายที่ระบุโดย android.service.controls API ควบคุม
ในทางกลับกัน หากการใช้งานอุปกรณ์ไม่ได้ใช้การควบคุมดังกล่าว
- [C-2-1] ต้องรายงาน Null สำหรับ ControlsProviderService และ Control API
อ่านเพิ่มเติม
การสนทนาในการแจ้งเตือน
ข้อได้เปรียบที่ใหญ่ที่สุดประการหนึ่งของ Android เมื่อเปรียบเทียบกับ iOS คือวิธีที่ก่อนหน้านี้จัดการการแจ้งเตือน ช่องว่างในการใช้งานจะกว้างขึ้นใน Android 11 ด้วยการเปิดตัว "การสนทนา" ใน Android 11 การแจ้งเตือน จากแอปส่งข้อความจะถูกจัดกลุ่มไว้ด้วยกันและจะแสดงในส่วนแยกต่างหากในแผงการแจ้งเตือนเหนือแอปอื่นๆ ส่วนใหญ่ การแจ้งเตือน วิธีนี้ช่วยให้คุณดูและตอบกลับข้อความได้อย่างรวดเร็วโดยไม่ต้องเลื่อนดูการแจ้งเตือนอื่นๆ ที่รอดำเนินการทั้งหมด ขออภัย การเปลี่ยนแปลงเล็กๆ น้อยๆ ในการแจ้งเตือนนี้อาจใช้ไม่ได้กับทุกอุปกรณ์ Google ให้ตัวเลือกแก่ OEM ในการเลือกว่าต้องการ "จัดกลุ่มและแสดงการแจ้งเตือนการสนทนาล่วงหน้าหรือไม่" การแจ้งเตือนที่ไม่ใช่การสนทนา" OEM ปรับแต่งแผงการแจ้งเตือนบ่อยครั้ง จึงไม่น่าแปลกใจที่ Google จะให้ OEM ทางเลือกที่นี่ อย่างไรก็ตาม น่าเสียดายที่ Google ไม่ได้เลือกที่จะบังคับใช้การแจ้งเตือนที่สอดคล้องกันมากขึ้นใน Android 11
การเปลี่ยนแปลงที่เสนอในส่วน 3.8.3.1 - การนำเสนอการแจ้งเตือน (อัปเดต 4/08/2020)
หากการใช้งานอุปกรณ์อนุญาตให้แอปของบุคคลที่สามแจ้งเตือนผู้ใช้เกี่ยวกับเหตุการณ์สำคัญ พวกเขา:
...
Android R แนะนำการรองรับการแจ้งเตือนการสนทนา ซึ่งเป็นการแจ้งเตือนที่ใช้ MessageManager MessageStyle และจัดเตรียม People Shortcut ID ที่เผยแพร่
การใช้งานอุปกรณ์คือ:
- [H-SR] ขอแนะนำอย่างยิ่งให้จัดกลุ่มและแสดงการแจ้งเตือนการสนทนาก่อนที่จะไม่มีการสนทนา การแจ้งเตือน ยกเว้นการแจ้งเตือนบริการเบื้องหน้าที่กำลังดำเนินอยู่และความสำคัญ: สูง การแจ้งเตือน
หากการแจ้งเตือนการสนทนาถูกจัดกลุ่มเป็นส่วนแยกต่างหาก การใช้งานอุปกรณ์
- [H-1-8] ต้องแสดงการแจ้งเตือนการสนทนาก่อนการแจ้งเตือนที่ไม่ใช่การสนทนา ยกเว้นการแจ้งเตือนบริการเบื้องหน้าที่กำลังดำเนินอยู่ และความสำคัญ: การแจ้งเตือนระดับสูง
การใช้งานอุปกรณ์คือ:
- [H-SR] ขอแนะนำอย่างยิ่งเพื่อให้เข้าถึงการดำเนินการต่อไปนี้จากการแจ้งเตือนการสนทนา: แสดงการสนทนานี้เป็นบับเบิลหากแอปให้ข้อมูลที่จำเป็นสำหรับบับเบิล
การใช้งาน AOSP ตรงตามข้อกำหนดเหล่านี้ด้วย UI ระบบ การตั้งค่า และตัวเรียกใช้งานเริ่มต้น
อ่านเพิ่มเติม
IdentityCredential - ใบขับขี่มือถือ
สุดท้ายนี้ หนึ่งในคุณสมบัติที่ฉันตื่นเต้นมากที่สุดคือ IdentityCredential API ตามที่เราอธิบายไว้เมื่อปีที่แล้วIdentityCredential API ได้รับการออกแบบมาเพื่อให้แอปพลิเคชันจัดเก็บเอกสารระบุตัวตน เช่น ใบขับขี่อุปกรณ์เคลื่อนที่ บนอุปกรณ์ หลายประเทศ (และบางรัฐของสหรัฐอเมริกา) ทั่วโลกอนุญาตให้พลเมืองของตนจัดเก็บใบขับขี่ไว้ในแอปบนอุปกรณ์เคลื่อนที่แล้ว อย่างไรก็ตาม Google กำลังทำงานเพื่อทำให้สิ่งนี้ปลอดภัยยิ่งขึ้นโดยเก็บข้อมูลแบบออฟไลน์ในสภาพแวดล้อมที่ปลอดภัย
ซอร์สโค้ดสำหรับ Android 11 ประกอบด้วย IdentityCredential API (ซึ่งนักพัฒนาจะเรียกใช้เพื่อจัดเก็บเอกสารระบุตัวตนในโทรศัพท์ สภาพแวดล้อมที่ปลอดภัย) และ IdentityCredential HAL (ซึ่งเชื่อมต่อกับสภาพแวดล้อมที่ปลอดภัยของโทรศัพท์) แต่ OEM ไม่จำเป็นต้อง นำไปใช้ เมื่อ Google เสนอให้รวม IdentityCredential ใน CDD เป็นครั้งแรกเมื่อวันที่ 10 มกราคม 2020 พวกเขาระบุว่าเป็นข้อกำหนด อย่างไรก็ตาม พวกเขาผ่อนคลายข้อกำหนดนี้ในวันที่ 18 มีนาคม 2020 และตอนนี้ขอแนะนำอย่างยิ่งให้ OEM สนับสนุนฟีเจอร์นี้เท่านั้น เราไม่แปลกใจเลยที่ Google ผ่อนคลายข้อกำหนดนี้ การเพิ่มการเปลี่ยนแปลงที่ส่งผลต่อสภาพแวดล้อมการดำเนินการที่เชื่อถือได้จะต้องอาศัยความพยายามจาก OEM ในการดำเนินการ อาจเป็นไปได้ว่า OEM ต้องการเวลามากขึ้นเพื่อเตรียมพร้อมสำหรับการเปลี่ยนแปลงนี้ สำหรับผู้ใช้ นั่นหมายความว่าไม่มีการรับประกันว่าสมาร์ทโฟน Android 11 ของคุณจะรองรับการจัดเก็บใบขับขี่มือถืออย่างปลอดภัยในสภาพแวดล้อมที่ปลอดภัยของโทรศัพท์
เราควรทราบว่าไม่มีข้อจำกัดทางเทคนิคที่ขัดขวางการนำระบบ IdentityCredential ไปใช้อย่างกว้างขวางในอุปกรณ์ Android 11 ข้อกำหนดประการหนึ่งสำหรับการนำระบบ IdentityCredential ไปใช้ก็คืออุปกรณ์นั้นมีการดำเนินการที่เชื่อถือได้ สภาพแวดล้อม (TEE) หรือตัวประมวลผลที่ปลอดภัยโดยเฉพาะซึ่ง "แอปพลิเคชันที่เชื่อถือได้" โต้ตอบกับข้อมูลระบุตัวตนที่เก็บไว้ เอกสาร ตั้งแต่ Android 7.0 Nougat Google ได้กำหนดให้อุปกรณ์ Android ที่ทันสมัยทั้งหมดรองรับ "สภาพแวดล้อมการดำเนินการแบบแยกส่วน" (ต่อ ส่วนที่ 2.2.5 - โมเดลความปลอดภัยใน CDD). อุปกรณ์ที่ใช้โปรเซสเซอร์ ARM โดยทั่วไปจะมี ARM TrustZone TEE และ Google ให้บริการ ระบบปฏิบัติการที่เชื่อถือได้ ที่ทำงานบน TrustZone การมีอยู่ของ TEE นั้นเพียงพอที่จะรองรับระบบ IdentityCredential แม้ว่าจะปลอดภัยกว่าหากข้อมูลประจำตัวถูกจัดเก็บไว้ใน CPU ที่ปลอดภัยแบบฝัง (เช่นใน หน่วยประมวลผลที่ปลอดภัยของโปรเซสเซอร์ Qualcomm Snapdragon บางรุ่น) หรือ CPU ที่ปลอดภัยแบบแยก (เช่น in Titan M. ของ Google หรือ ชิปรักษาความปลอดภัยตัวใหม่ของ Samsung). โดยเฉพาะอย่างยิ่ง อุปกรณ์ที่มี CPU ที่ปลอดภัยแยกอาจสามารถรองรับคุณสมบัติ "โหมดการเข้าถึงโดยตรง" ของระบบ IdentityCredential ได้ ซึ่งจะช่วยให้ผู้ใช้ดึงเอกสารประจำตัวของตนขึ้นมาได้แม้ว่าพลังงานในอุปกรณ์จะเหลือไม่เพียงพอในการบูตระบบปฏิบัติการหลักก็ตาม
ส่วนที่เสนอ 9.11.3 (ใหม่) - ข้อมูลประจำตัว (อัปเดต 18/3/2020)
ระบบข้อมูลประจำตัวช่วยให้นักพัฒนาแอปสามารถจัดเก็บและเรียกค้นเอกสารระบุตัวตนของผู้ใช้ได้
การใช้งานอุปกรณ์:
- [C-SR] ได้รับการแนะนำอย่างยิ่งให้ใช้ระบบข้อมูลประจำตัว
หากการใช้งานอุปกรณ์ใช้ระบบข้อมูลรับรองประจำตัว พวกเขา:
- [C-0-1] ต้องส่งคืน non-null สำหรับ IdentityCredentialStore#getInstance() วิธี.
- [C-0-2] ต้องใช้ `android.security.identity.*` APIs พร้อมโค้ดที่สื่อสารกับที่เชื่อถือได้ แอปพลิเคชันที่ทำงานใน Trusted Execution Environment (TEE) หรือบนระบบรักษาความปลอดภัยเฉพาะ โปรเซสเซอร์ แอปพลิเคชันที่เชื่อถือได้จะต้องถูกนำไปใช้ในลักษณะที่ ฐานคอมพิวเตอร์ที่เชื่อถือได้ สำหรับระบบข้อมูลประจำตัวจะไม่รวมระบบปฏิบัติการ Android
อ่านเพิ่มเติม
Google ยังทำงานกับไลบรารี IdentityCredential Jetpack เพื่อให้นักพัฒนาสามารถเพิ่มการรองรับการจัดเก็บข้อมูลประจำตัวอย่างปลอดภัยได้ง่ายขึ้น เอกสารบน Android แต่ความท้าทายที่แท้จริงคือการที่รัฐบาลอนุญาตแอปที่ใช้ API นี้เพื่อจัดเก็บรหัสรัฐบาลอย่างปลอดภัย ตาม มีส่วนร่วมเกาหลีใต้เพิ่งเปิดตัวการรองรับการจัดเก็บใบขับขี่ในแอปมือถือ ดังนั้นเราจึงเริ่มเห็นการยอมรับเทคโนโลยีนี้เพิ่มมากขึ้น ประการหนึ่ง ฉันรู้สึกตื่นเต้นที่ได้เห็นว่าสิ่งนี้จะเป็นอย่างไร เพราะมันทำให้ฉันไม่ต้องพกของติดตัวไปด้วยเมื่อฉันออกไปข้างนอก
เอกสารที่เราได้รับแสดงรายการการเปลี่ยนแปลงใน CDD ตามวันที่ทำการเปลี่ยนแปลงเหล่านั้น การเปลี่ยนแปลงล่าสุดเกิดขึ้นเมื่อวันที่ 10 มิถุนายน 2020 ซึ่งหมายความว่าเอกสารที่เรามีอยู่ค่อนข้างเป็นปัจจุบัน เป็นไปได้ว่า Google สามารถฝ่าฝืนการเปลี่ยนแปลงเหล่านี้และทำให้ข้อกำหนดทั้งหมดอีกครั้งก่อนที่จะเปิดตัว Android 11 ต่อสาธารณะ แต่เราสงสัยว่า Google จะสร้าง CDD ในทันที มากกว่า เข้มงวด. การเปลี่ยนแปลงเหล่านี้มีแนวโน้มที่จะผ่อนคลายลงเนื่องจากการตอบรับจาก OEM ซึ่งเป็นกลุ่มที่จะต้องกลับไปใช้คุณลักษณะเหล่านี้ หากยังไม่ได้วางแผนไว้ นั่นต้องใช้เวลา ความพยายาม และเงิน ซึ่งจะทำให้การเปิดตัว Android 11 สำหรับอุปกรณ์ที่ไม่ใช่ของ Google ล่าช้าไปอีก อย่างไรก็ตาม หาก Google ทำให้จำเป็นต้องใช้คุณลักษณะเหล่านี้อีกครั้ง เราจะโพสต์การอัปเดตบนพอร์ทัล XDA