คู่มือฉบับสมบูรณ์เกี่ยวกับ Notification Badge: ฟีเจอร์สำคัญเพื่อเพิ่ม Engagement ของแอป
ภาพรวมของค่า Badge
Notification Badge คือฟีเจอร์หลักที่ช่วยเพิ่มการมีส่วนร่วมของผู้ใช้ในแอปมือถือ
โดยจะแสดงจำนวนข้อความที่ยังไม่ได้อ่านบนไอคอนแอปโดยตรง Badge ช่วยกระตุ้นให้ผู้ใช้กลับมาใช้งานแอปและเพิ่มอัตราการเปิดการแจ้งเตือนได้อย่างมีประสิทธิภาพ
EngageLab ให้บริการโซลูชัน Badge ข้ามแพลตฟอร์มแบบครบวงจร เพื่อช่วยให้นักพัฒนาสร้างประสบการณ์ผู้ใช้ที่ดีที่สุด
ภาพรวมการรองรับของแต่ละ Channel
เนื่องจากข้อจำกัดของระบบในแต่ละผู้ผลิตมือถือ ช่องทาง push notification บางรายเท่านั้นที่รองรับการแสดง Badge สถานะการรองรับมีดังนี้:
| Vendor | รองรับ Badge / ตัวเลข Badge | หมายเหตุการใช้งาน | ข้อจำกัดของ Badge |
|---|---|---|---|
| Google FCM | รองรับ Badge | แสดงเป็นจุด (dot) ตามค่าเริ่มต้น ตามพฤติกรรมของระบบ | ไม่มีการกำหนดขีดจำกัดสูงสุดที่ชัดเจน |
| Huawei / Honor | รองรับ Badge แบบตัวเลข | ตัวเลข Badge เพิ่มขึ้นเมื่อมีการแจ้งเตือนใหม่ | โดยปกติจำกัดที่ 99 |
| Xiaomi | รองรับ Badge แบบตัวเลข | ทำงานตามตรรกะของระบบ แต่ละการแจ้งเตือนใหม่จะเพิ่มขึ้น 1 | ขีดจำกัดขึ้นกับระบบ ไม่มีระบุไว้อย่างชัดเจน |
| OPPO | ไม่รองรับ Badge แบบตัวเลข | รองรับเฉพาะจุดสีแดง (red dot) โดยค่าเริ่มต้น Badge ตัวเลขต้องขออนุมัติพิเศษจาก OPPO และมักจะให้เฉพาะแอปอย่าง WeChat หรือ QQ | ไม่ระบุ; โดยทั่วไป Badge ตัวเลขจะไม่สามารถใช้งานได้ |
| VIVO | รอการยืนยันจากผู้ผลิต; ขณะนี้ยังไม่รองรับในการทดสอบ | ข้อมูลออนไลน์แตกต่างกันไปตามเวอร์ชัน OS และช่องทาง push | โดยปกติจำกัดที่ 99 |
| Meizu | ไม่รองรับ Badge แบบตัวเลข | รองรับเฉพาะจุดสีแดง (red dot) | – |
| iOS | รองรับ Badge แบบตัวเลข | สามารถจัดการตัวเลข Badge ผ่าน push payload หรือ SDK API | สูงมาก; ไม่มีขีดจำกัดที่ระบุไว้ |
ตัวอย่างการใช้งานที่พบบ่อย
- แอปโซเชียล: ซิงโครไนซ์จำนวนข้อความที่ยังไม่ได้อ่านแบบเรียลไทม์
- แอปอีคอมเมิร์ซ: แจ้งเตือนคำสั่งซื้อหรือรายการที่ต้องดำเนินการ
- แอปข่าว: แสดงจำนวนบทความที่ยังไม่ได้อ่าน
iOS Badge: การจัดการ Badge อย่างแม่นยำ
สถาปัตยกรรมทางเทคนิค

การตั้งค่า Badge ฝั่ง Client
ตั้งค่า Badge (พร้อม Callback)
รองรับตั้งแต่เวอร์ชัน: v5.2.0

ล้างค่า Badge
ใช้สำหรับลบค่า Badge ที่เก็บไว้บนเซิร์ฟเวอร์ MTPush เทียบเท่ากับการเรียก:
setBadge: 0

การตั้งค่า Badge ฝั่ง Server
เมื่อส่ง push notification ต้องกำหนด field badge ใน payload ของ ios
| Field | Type | Optional | คำอธิบาย | หมายเหตุ |
|---|---|---|---|---|
| badge | Int หรือ String | Optional | ตัวเลข Badge บนไอคอนแอป | • สามารถตั้งค่าเป็น N, +N, หรือ -N โดยที่ N อยู่ในช่วง [0, 99]• หากค่าเป็น 10 Badge อาจถูกตีความเป็น N, 10+N หรือ 10-N (ค่าต่ำกว่า 0 จะล้าง Badge)• หากกำหนดเป็น 0 หรือค่าว่าง จะล้าง Badge• หากไม่กำหนด Badge จะคงค่าเดิม • MTPush API (SDK) กำหนดค่า Badge เริ่มต้นเป็น "+1" |
Huawei / Honor Badge
การตั้งค่าฝั่ง Client
<!-- การกำหนด permission ใน AndroidManifest.xml -->
<uses-permission android:name="com.huawei.android.launcher.permission.CHANGE_BADGE"/>
<uses-permission android:name="com.hihonor.android.launcher.permission.CHANGE_BADGE"/>
การตั้งค่าบน Portal
สำคัญ:
ต้องกำหนด Activity หลัก (entry Activity) ของแอปให้ถูกต้อง Huawei และ Honor ใช้ตรรกะเดียวกัน

พารามิเตอร์ขั้นสูงฝั่ง Server
| พารามิเตอร์ | คำอธิบาย | คุณค่าทางธุรกิจ |
|---|---|---|
badge_add_num |
เพิ่มตัวเลข Badge | เหมาะกับแอปแชทเพื่อป้องกัน Badge ไม่ตรงกับสถานะจริง |
badge_set_num |
กำหนด Badge เป็นค่าเฉพาะ | เหมาะกับการแสดงสถานะ เช่น งานที่ต้องดำเนินการ |
badge_class |
ระบุ Activity ที่ใช้ Badge | เพื่อให้ Badge แสดงผลกับแอปเป้าหมายได้ถูกต้อง |
Xiaomi Badge
อุปกรณ์ที่ใช้ MIUI 6 ขึ้นไป รองรับ Badge แบบตัวเลข
ระบบ MIUI จะจัดการตรรกะ Badge ให้อัตโนมัติ:
📱 รับการแจ้งเตือน → badge +1 (นักพัฒนาไม่ต้องเขียนโค้ดเพิ่ม)
🔄 เปิดแอป → badge ถูกล้างโดยอัตโนมัติ
⚡ MIUI 6+ รองรับทุกรุ่น ครอบคลุมผู้ใช้ Xiaomi ส่วนใหญ่
ข้อแนะนำการใช้งานที่ดีที่สุด
กลยุทธ์ข้ามแพลตฟอร์มแบบรวมศูนย์
- แบ่งระดับการรองรับ: ให้ความสำคัญกับการรองรับ Badge แบบตัวเลขเต็มรูปแบบบน iOS, Huawei, Xiaomi
- สำรองความเข้ากันได้: ใช้จุดสีแดง (red dot) สำหรับ OPPO, VIVO และแพลตฟอร์มที่ไม่รองรับ
- ประสบการณ์ผู้ใช้สม่ำเสมอ: พยายามให้ตรรกะของ Badge เหมือนกันมากที่สุดในทุกแพลตฟอร์ม

