สิทธิ์การแจ้งเตือนสําหรับการแจ้งเตือนแบบเลือกใช้

การแจ้งเตือนใน Android 13 ใช้โมเดลการเลือกใช้ ซึ่งแตกต่างจาก Android เวอร์ชันก่อนๆ ที่ใช้โมเดลการเลือกไม่ใช้ ใน Android 13 แอปทั้งหมดต้องขอสิทธิ์จากผู้ใช้ก่อนที่จะส่งข้อความแจ้งการแจ้งเตือน โมเดลนี้ช่วยลดการขัดจังหวะจากการแจ้งเตือน ลดข้อมูลที่มากเกินไป และช่วยให้ผู้ใช้ควบคุมการแจ้งเตือนที่จะปรากฏตามสิ่งที่สำคัญสำหรับตนเอง หากต้องการรองรับโมเดลการเลือกใช้ ผู้ผลิตอุปกรณ์ต้องทำการเปลี่ยนแปลงในระบบการแจ้งเตือนและระบบสิทธิ์รันไทม์

หน้านี้อธิบายสิ่งที่ผู้ผลิตอุปกรณ์ต้องนำไปใช้เพื่อรองรับการเปลี่ยนแปลงนี้ รวมถึงวิธีตรวจสอบการนำไปใช้

นำการเปลี่ยนแปลงสำหรับการแจ้งเตือนแบบเลือกใช้ไปใช้

ตั้งแต่ Android 13 เป็นต้นไป แอปต้องประกาศ ความตั้งใจที่จะส่งการแจ้งเตือนโดยขอ android.permission.POST_NOTIFICATION สิทธิ์รันไทม์จากระบบก่อนจึงจะส่งการแจ้งเตือนได้

ใน Android 13 ขึ้นไป การตั้งค่าที่กำหนดว่าแอปจะส่งการแจ้งเตือนไปยังผู้ใช้ได้หรือไม่จะจัดเก็บไว้ในระบบสิทธิ์ ก่อน Android 13 การตั้งค่านี้จะจัดเก็บไว้ในระบบการแจ้งเตือน ดังนั้น ผู้ผลิตอุปกรณ์ต้องย้ายข้อมูลการแจ้งเตือนที่มีอยู่เกี่ยวกับแอปที่ได้รับอนุญาตให้ส่งการแจ้งเตือนจากระบบการแจ้งเตือนไปยังระบบสิทธิ์รันไทม์ นอกจากนี้ ผู้ผลิตอุปกรณ์ยังต้องดูแลรักษา 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, ให้สกัดกั้น การเปิดกิจกรรมครั้งแรกหลังจากที่แอปสร้างอย่างน้อย 1 NotificationChannel เพื่อแสดงข้อความแจ้งสิทธิ์ที่ถามว่าผู้ใช้ต้องการรับการแจ้งเตือน จากแอปหรือไม่

      หากผู้ใช้ปรับแต่งการตั้งค่าการแจ้งเตือนไว้ก่อนหน้านี้ที่ระดับแอปหรือ NotificationChannel สำหรับแอปในอุปกรณ์ที่กำลังอัปเกรดหรือในข้อมูลสำรองที่กำลังกู้คืนไปยังอุปกรณ์ ระบบจะต้องย้ายการตั้งค่าระดับแอปไปยังระบบสิทธิ์ด้วยแฟล็ก FLAG_PERMISSION_USER_SET ระบบจะต้องไม่แสดงข้อความแจ้งสิทธิ์การแจ้งเตือนเพิ่มเติมแก่ผู้ใช้ เว้นแต่แอปจะขอให้แสดง

  • การสำรองและกู้คืนข้อมูลต้องเข้ากันได้กับอุปกรณ์ Android 13 และอุปกรณ์จากระบบปฏิบัติการเวอร์ชันก่อนหน้า ข้อมูลสำรองที่สร้างจากอุปกรณ์ Android 13 ต้องกู้คืนไปยังระบบปฏิบัติการเวอร์ชันก่อนหน้าได้ และข้อมูลสำรองจากระบบปฏิบัติการเวอร์ชันก่อนหน้าต้องกู้คืนไปยังอุปกรณ์ Android 13 ได้

  • การแจ้งเตือนสื่อที่เชื่อมโยงกับการเล่นสื่อที่กำลังดำเนินอยู่ต้องได้รับการยกเว้นจากสิทธิ์การแจ้งเตือน

ตรวจสอบการเปลี่ยนแปลงระบบการแจ้งเตือนและระบบสิทธิ์

หากต้องการตรวจสอบการนำไปใช้ ให้เรียกใช้การทดสอบต่อไปนี้