การแจ้งเตือนใน Android 13 ใช้รูปแบบการเลือกรับ ซึ่ง เป็นการเปลี่ยนแปลงจาก Android เวอร์ชันก่อนหน้าซึ่งใช้รูปแบบการเลือกไม่รับ ใน Android 13 แอปทั้งหมดต้องขอสิทธิ์จากผู้ใช้ก่อน ส่งข้อความแจ้งการแจ้งเตือน โมเดลนี้ช่วยลดการขัดจังหวะด้วยการแจ้งเตือน ลดข้อมูลที่มากเกินไป และช่วยให้ผู้ใช้ควบคุมการแจ้งเตือนที่จะปรากฏตามสิ่งที่สำคัญสำหรับตนเอง หากต้องการรองรับ รูปแบบการเลือกใช้ OEM ต้องทำการเปลี่ยนแปลงในระบบการแจ้งเตือนและสิทธิ์รันไทม์
หน้านี้อธิบายสิ่งที่ OEM ต้องใช้เพื่อรองรับการเปลี่ยนแปลงนี้และวิธี ตรวจสอบการใช้งาน
ใช้การเปลี่ยนแปลงสำหรับการแจ้งเตือนการเลือกใช้
ตั้งแต่ Android 13 เป็นต้นไป แอปต้องประกาศความตั้งใจที่จะส่งการแจ้งเตือนโดยการขอandroid.permission.POST_NOTIFICATION
สิทธิ์รันไทม์จากระบบก่อนจึงจะส่งการแจ้งเตือนได้
ใน Android 13 ขึ้นไป การตั้งค่าที่กำหนดว่าแอปจะส่งการแจ้งเตือนให้ผู้ใช้ได้หรือไม่จะจัดเก็บไว้ในระบบสิทธิ์ ก่อน Android 13 การตั้งค่านี้จะจัดเก็บไว้ใน ระบบการแจ้งเตือน ดังนั้น OEM จึงต้องย้ายข้อมูลการแจ้งเตือนที่มีอยู่ เกี่ยวกับว่าแอปได้รับอนุญาตให้ส่งการแจ้งเตือนหรือไม่ จากระบบการแจ้งเตือน ไปยังระบบสิทธิ์รันไทม์ นอกจากนี้ OEM ต้องดูแลรักษา API ที่มีอยู่ ในระบบการแจ้งเตือนที่แสดงข้อมูลดังกล่าวแก่นักพัฒนาแอปด้วย
การเปลี่ยนแปลงระบบการแจ้งเตือนและสิทธิ์จะอิงตามรูปแบบการเลือกใช้พฤติกรรมการแจ้งเตือนผู้ใช้และอธิบายไว้ในส่วนหลักเกณฑ์ในการติดตั้งใช้งาน
ลักษณะการทำงานของการแจ้งเตือนผู้ใช้ในรูปแบบการเลือกใช้
ตารางต่อไปนี้แสดงลักษณะการทำงานของการแจ้งเตือนสำหรับแอปเวอร์ชันต่างๆ ในอุปกรณ์ที่ใช้ Android 13
อุปกรณ์ที่ใช้ Android 13 | แอปที่กำหนดเป้าหมายเป็น Android 13 ขึ้นไป | แอปที่กำหนดเป้าหมายเป็นเวอร์ชันที่ต่ำกว่า Android 13 |
---|---|---|
การติดตั้งใหม่ | ระบบจะบล็อกการแจ้งเตือนจนกว่าแอปจะแจ้งให้คุณดำเนินการ
แอปจะควบคุมเวลาที่จะขอสิทธิ์ |
ระบบจะบล็อกการแจ้งเตือนจนกว่าระบบปฏิบัติการจะแจ้ง
ระบบจะขอสิทธิ์เมื่อเรียกใช้แอปเป็นครั้งแรก |
แอปที่มีอยู่ (อัปเกรด) | ระบบจะอนุญาตการแจ้งเตือนจนกว่าแอปจะแจ้งให้คุณดำเนินการ
ระบบจะให้สิทธิ์ชั่วคราวจนกว่าแอปจะขอสิทธิ์ในการเรียกใช้ครั้งแรกที่มีสิทธิ์ |
ระบบจะอนุญาตให้แสดงการแจ้งเตือนจนกว่าระบบปฏิบัติการจะแจ้งให้ดำเนินการ
ระบบจะให้สิทธิ์ชั่วคราวจนกว่าจะมีการเรียกใช้แอปเป็นครั้งแรก |
หลักเกณฑ์ในการติดตั้งใช้งาน
ดูการติดตั้งใช้งานอ้างอิงได้ที่ บริการแจ้งเตือน บริการสิทธิ์ และ บริการนโยบาย หากต้องการใช้ข้อยกเว้น สำหรับตัวแฮนเดิลสิทธิ์เริ่มต้น โปรดดูสิทธิ์รันไทม์
ในระหว่างการติดตั้งใช้งาน ให้ใช้หลักเกณฑ์ต่อไปนี้เกี่ยวกับลักษณะการทำงานของการแจ้งเตือนผู้ใช้สำหรับแอปที่กำหนดเป้าหมายเป็น SDK ของ Android 13 หรือต่ำกว่า
- แอปที่ติดตั้งใหม่ในอุปกรณ์ Android 13 ต้อง
ไม่ส่งการแจ้งเตือนโดยไม่ได้รับอนุมัติจากผู้ใช้ในข้อความแจ้งขอสิทธิ์
- หากแอปกำหนดเป้าหมายเป็น Android 13 ขึ้นไป ระบบจะต้องบล็อกการแจ้งเตือนจนกว่าแอปจะแจ้งให้ทราบ เนื่องจากแอปเป็นผู้ควบคุมว่าจะขอสิทธิ์จากผู้ใช้เมื่อใดและหรือไม่
- หากแอปกำหนดเป้าหมายเป็นเวอร์ชันที่ต่ำกว่า Android 13 จะต้องบล็อกการแจ้งเตือนจนกว่าระบบปฏิบัติการจะแจ้งให้ดำเนินการ ระบบปฏิบัติการต้องแสดงข้อความแจ้งขอสิทธิ์เมื่อเรียกใช้แอปเป็นครั้งแรก
แอปใดก็ตามที่มีอยู่ในอุปกรณ์ก่อนที่จะอัปเกรดเป็น Android 13 หรือแอปใดก็ตามที่กู้คืนผ่านการสำรองข้อมูล และการกู้คืนจะต้องได้รับอนุญาตให้ส่งการแจ้งเตือนจนกว่าผู้ใช้จะ เปิดใช้กิจกรรมจากแอปนั้นเป็นครั้งแรก
สำหรับแอปที่กำหนดเป้าหมายเป็น SDK ของ Android เวอร์ชัน 13 ขึ้นไป หากผู้ใช้ไม่ได้ปรับแต่งการตั้งค่าการแจ้งเตือนสำหรับแอปนี้ในระดับแอปหรือ
NotificationChannel
ก่อนหน้านี้ ให้เพิกถอนการให้สิทธิ์ชั่วคราว จากนั้นแอปต้องขอสิทธิ์จากผู้ใช้ก่อนจึงจะได้รับอนุญาตให้ส่งการแจ้งเตือนต่อไปหากแอปที่อัปเกรดแล้วซึ่งกำหนดเป้าหมายเป็น Android 13 ไม่มีสิทธิ์การแจ้งเตือนในขณะนี้ผ่านการให้สิทธิ์การอัปเกรดชั่วคราว และผู้ใช้ได้เปิดแอปอย่างน้อย 1 ครั้ง แอปจะต้องแสดงข้อความแจ้งสิทธิ์การแจ้งเตือนก่อนที่จะได้รับอนุญาตให้เรียกใช้บริการที่ทำงานอยู่เบื้องหน้าเพิ่มเติม
สำหรับแอปที่มี SDK เป้าหมายเป็นเวอร์ชันที่ต่ำกว่า Android 13 สกัดกั้น การเปิดใช้งานครั้งแรกหลังจากที่แอปสร้าง
NotificationChannel
อย่างน้อย 1 รายการ เพื่อแสดงข้อความแจ้งขอสิทธิ์ที่ถามว่าผู้ใช้ต้องการรับการแจ้งเตือน จากแอปหรือไม่หากผู้ใช้เคยปรับแต่งการตั้งค่าการแจ้งเตือนที่ระดับแอปหรือ
NotificationChannel
สำหรับแอปในอุปกรณ์ที่อัปเกรดหรือในข้อมูลสำรองที่กําลังกู้คืนไปยังอุปกรณ์ จะต้องย้ายการตั้งค่าระดับแอปไปยังระบบสิทธิ์ที่มีแฟล็กFLAG_PERMISSION_USER_SET
ต้องไม่แสดงข้อความแจ้งขอสิทธิ์การแจ้งเตือนเพิ่มเติมแก่ผู้ใช้ เว้นแต่แอปจะขอให้แสดงโดยเฉพาะ
การสำรองและกู้คืนข้อมูลต้องมีความเข้ากันได้แบบย้อนหลังและไปข้างหน้าระหว่างอุปกรณ์ Android 13 กับอุปกรณ์ที่ใช้ OS เวอร์ชันก่อนหน้า ข้อมูลสำรองที่สร้างจากอุปกรณ์ Android 13 ต้องกู้คืนไปยังระบบปฏิบัติการเวอร์ชันก่อนหน้า และข้อมูลสำรองจากระบบปฏิบัติการเวอร์ชันก่อนหน้า ต้องกู้คืนไปยังอุปกรณ์ Android 13
การแจ้งเตือนสื่อที่เชื่อมโยงกับการเล่นสื่อที่กำลังดำเนินอยู่ต้องได้รับการยกเว้น จากสิทธิ์การแจ้งเตือน
ตรวจสอบการเปลี่ยนแปลงระบบการแจ้งเตือนและสิทธิ์
หากต้องการตรวจสอบการติดตั้งใช้งาน ให้เรียกใช้การทดสอบต่อไปนี้
การทดสอบหน่วยตามที่ระบุไว้ใน
PreferencesHelperTest
NotificationManagerServiceTest
การทดสอบด้วยตนเองที่ทดสอบการอัปเกรด การสำรองข้อมูล และการกู้คืน
การทดสอบระบบสิทธิ์และการแจ้งเตือนของ CTS ที่ส่งการแจ้งเตือน การทดสอบบางรายการอยู่ใน cts/tests/tests/permission/ NotificationManagerTest.java และ cts/tests/tests/notificationlegacy/