0Pricing
Android Academy · บทเรียน

ช่องการแจ้งเตือน

จัดกลุ่มการแจ้งเตือนตามความสำคัญ

ช่องการแจ้งเตือน เป็นบทเรียน 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 ในทันที — ไม่ต้องติดตั้งในเครื่องของคุณ

บทเรียนทั้งหมดในหลักสูตรนี้

  1. ช่องการแจ้งเตือน
  2. การสร้างการแจ้งเตือน
  3. การดำเนินการและ Deep Link
  4. สิทธิ์การแจ้งเตือนขณะทำงาน
← กลับไปที่ Android Academy