ช่องการแจ้งเตือน
จัดกลุ่มการแจ้งเตือนตามความสำคัญ
ช่องการแจ้งเตือน เป็นบทเรียน Android Academy ฟรีบน CoddyKit นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน คุณสามารถอ่านบทเรียนทั้งหมดด้านล่างฟรี — จากนั้นลองปฏิบัติด้วยตัวคุณเองในเบราว์เซอร์พร้อมตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7 บทเรียนนี้เป็นส่วนหนึ่งของเส้นทางการเรียน Android Academy และความก้าวหน้าของคุณจะซิงค์ข้ามเว็บและแอป CoddyKit คอร์ส Android Academy มีบทเรียนทั้งหมด 4 บทเรียน
ช่องการแจ้งเตือน
ตั้งแต่ Android 8.0 (API 26) เป็นต้นมา การแจ้งเตือนทุกครั้งต้องอยู่ใน channel ช่องจะจัดกลุ่มการแจ้งเตือนที่เกี่ยวข้องกัน และให้ผู้ใช้ควบคุมแต่ละกลุ่มได้ใน Settings ของระบบ
เหตุผลที่มีช่อง
ช่องช่วยให้ผู้ใช้ควบคุมได้อย่างละเอียด แทนที่จะมีสวิตช์เปิด/ปิดเพียงตัวเดียวสำหรับทั้งแอป ผู้ใช้สามารถปิดเสียง "โปรโมชั่น" แต่ยังคงให้ "ข้อความ" มีเสียงดังได้ ซึ่งช่วยลดความเหนื่อยล้าจากการแจ้งเตือน
ช่องเป็นสิ่งจำเป็น
บน API 26 ขึ้นไป การแสดงการแจ้งเตือนโดยไม่มีช่องที่ถูกต้องจะ ไม่ทำอะไรเลย คุณต้องสร้างช่องก่อนแสดงการแจ้งเตือนครั้งแรกในช่องนั้น
ระดับความสำคัญ
แต่ละช่องมี importance ซึ่งกำหนดลักษณะการทำงานเริ่มต้น
IMPORTANCE_HIGH: มีเสียงและแสดงเป็นแบนเนอร์แจ้งเตือนด้านบนIMPORTANCE_DEFAULT: มีเสียงIMPORTANCE_LOW: ไม่มีเสียงIMPORTANCE_MIN: ไม่มีเสียงและย่อการแสดงผล
การสร้างช่อง
สร้าง NotificationChannel ด้วยรหัส ชื่อที่ผู้ใช้มองเห็น และระดับความสำคัญ
val channel = NotificationChannel(
"messages",
"Messages",
NotificationManager.IMPORTANCE_HIGH
).apply {
description = "Chat messages from your contacts"
}การลงทะเบียนกับระบบ
ลงทะเบียนช่องกับ NotificationManager เพียงครั้งเดียวผ่าน createNotificationChannel การสร้างช่องอีกครั้งด้วยรหัสเดิมนั้นปลอดภัยและไม่มีผลเสีย
val manager = context.getSystemService(NotificationManager::class.java)
manager.createNotificationChannel(channel)สร้างช่องตั้งแต่เนิ่น ๆ
ตำแหน่งที่เหมาะสมสำหรับสร้างช่องคือใน Application.onCreate เพื่อให้ช่องมีอยู่ก่อนที่เส้นทางการทำงานใด ๆ จะพยายามแสดงการแจ้งเตือน
class MyApp : Application() {
override fun onCreate() {
super.onCreate()
createNotificationChannels()
}
}รหัสช่องต้องคงเดิม
id ของช่องคือสิ่งที่คุณใช้อ้างอิงเมื่อแสดงการแจ้งเตือน ควรเลือกรหัสที่คงเดิมและเก็บไว้ในค่าคงที่ เพื่อให้ตัวสร้างและช่องใช้รหัสเดียวกันเสมอ
object Channels {
const val MESSAGES = "messages"
const val PROMOTIONS = "promotions"
}ผู้ใช้เป็นผู้ควบคุมการตั้งค่า
หลังจากสร้างช่องแล้ว ผู้ใช้จะเป็นผู้ควบคุมช่องนั้น หากผู้ใช้ลดระดับความสำคัญหรือปิดเสียง โค้ดของคุณจะเขียนทับไม่ได้ คุณทำได้เพียงกำหนดระดับความสำคัญ เริ่มต้น ตอนสร้างช่องเท่านั้น
กลุ่มช่อง
สำหรับแอปที่มีหลายช่อง NotificationChannelGroup จะจัดช่องเหล่านั้นเป็นส่วนต่าง ๆ ใน Settings เช่น แยกช่องของ "ทีม A" และ "ทีม B" ออกจากกัน
ความเข้ากันได้ก่อน API 26
บนอุปกรณ์ที่ต่ำกว่า API 26 จะไม่มีช่อง และรหัสช่องจะถูกละเลย การใช้ NotificationCompat ช่วยให้โค้ดเดียวกันทำงานข้ามเวอร์ชันได้อย่างปลอดภัย
ตรวจสอบความเข้าใจ
ทดสอบความเข้าใจเกี่ยวกับช่องการแจ้งเตือนของคุณ
ทบทวน
คุณได้เรียนรู้เกี่ยวกับช่องการแจ้งเตือน
- API 26+ กำหนดให้การแจ้งเตือนทุกครั้งต้องมีช่อง
- ระดับความสำคัญกำหนดเสียงเริ่มต้นและลักษณะแบนเนอร์แจ้งเตือนด้านบน
- สร้างด้วย
NotificationChannelและลงทะเบียนผ่านcreateNotificationChannel - สร้างช่องตั้งแต่เนิ่น ๆ โดยผู้ใช้จะเป็นผู้ควบคุมการตั้งค่าในท้ายที่สุด
ถัดไป: การสร้างการแจ้งเตือน
คำถามที่พบบ่อย
บทเรียน “ช่องการแจ้งเตือน” ฟรีหรือไม่
ใช่ — ข้อความเต็มของ “ช่องการแจ้งเตือน” ฟรีให้อ่านที่นี่บนเว็บ เพื่อปฏิบัติแบบโต้ตอบ (ตัวแก้ไขโค้ดในตัวและติวเตอร์ AI ตลอด 24/7) และปลดล็อคส่วนที่เหลือของคอร์ส Android Academy ให้อัปเกรดเป็น CoddyKit PRO คอร์ส Android Academy มีบทเรียนทั้งหมด 4 บทเรียน
คุณจะเรียนรู้อะไรในบทเรียน “ช่องการแจ้งเตือน”
จัดกลุ่มการแจ้งเตือนตามความสำคัญ คุณปฏิบัติ Android Academy ด้วยโค้ดที่ใช้งานได้จริงที่คุณเรียกใช้โดยตรงในเบราว์เซอร์ และติวเตอร์ AI ตลอด 24/7 ตอบคำถามของคุณขณะที่คุณไปผ่านบทเรียน
คุณต้องมีประสบการณ์ก่อนที่จะเริ่มเรียน Android Academy หรือไม่
ไม่จำเป็นต้องมีประสบการณ์มาก่อน Android Academy บน CoddyKit ออกแบบมาสำหรับผู้เริ่มต้นไปจนถึงผู้เรียนขั้นสูง คุณสามารถเริ่มต้นที่นี่หรือเริ่มจากตัวแรกและเรียนด้วยความเร็วของคุณเอง นี่คือบทเรียนที่ 1 จากทั้งหมด 4 บทเรียน
บทเรียน “ช่องการแจ้งเตือน” ใช้เวลานานแค่ไหน
บทเรียน CoddyKit ส่วนใหญ่ใช้เวลาประมาณ 5–10 นาที แต่ละบทเรียนจึงสั้นและเป็นแบบโต้ตอบ คุณสามารถก้าวหน้าอย่างต่อเนื่องและกลับมาเรียนต่อจากตรงที่เพิ่งหยุดบนเว็บและแอปได้เลย
ฉันเขียนและรันโค้ดในบทเรียน Android Academy นี้ได้ไหม
ได้ บทเรียน Android Academy ทุกบทมีตัวแก้ไขโค้ดในตัว คุณจึงเขียนและรันโค้ดจริงได้เลยในเบราว์เซอร์ และได้รับข้อเสนอแนะจาก AI ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ