บทที่ 4 ⏱ 15 นาที

แจ้งเตือนในแอป — In-App Notifications

สองบทที่ผ่านมา เราคุยเรื่องการส่งอีเมลเป็นหลัก

แต่นั่นไม่ใช่คำตอบของทุกอย่าง

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


Email เหมือนโทรไปหา แต่ in-app notification เหมือนแปะโน้ตไว้บนโต๊ะ

ถ้าผู้ใช้ไม่ได้อยู่ในแอป การส่งอีเมลคือวิธีที่ดี เพราะมันไปถึงเขาได้แม้อยู่คนละหน้าจอ

แต่ถ้าเขากำลังใช้งานแอปอยู่แล้ว การส่งอีเมลอาจเกินความจำเป็น

ในจังหวะแบบนั้น in-app notification (แจ้งเตือนภายในแอป) จะเหมาะกว่า

ลองนึกว่าคุณนั่งทำงานอยู่ที่โต๊ะ ถ้ามีเรื่องเล็กแต่สำคัญพอให้รู้ตอนนี้ การแปะโน้ตเตือนไว้บนโต๊ะมักเหมาะกว่าการโทรหาคุณ

บทนี้เราจะสร้างสิ่งนั้นให้แอปของคุณ

💡 เลือกช่องทางให้เหมาะกับจังหวะ

ถ้าเรื่องนั้นสำคัญตอนผู้ใช้กำลังใช้งานอยู่ ให้คิดถึง in-app ก่อน ถ้าเรื่องนั้นควรไปถึงผู้ใช้แม้เขาปิดแอปอยู่ ให้คิดถึง email ก่อน


Trigger ของบทนี้คือ threshold: เมื่อใช้เงินเกิน 500 บาทในวันเดียว

เพื่อให้เห็นภาพชัด เราจะใช้ตัวอย่างที่เข้ากับ expense tracker มากที่สุดแบบหนึ่ง

เมื่อ ค่าใช้จ่ายวันนี้เกิน 500 บาท -> แสดงแจ้งเตือนในแอป

นี่คือ threshold trigger ชัดๆ

แอปไม่ได้รอให้ถึงเวลา และไม่ได้รอให้ user สมัครใหม่ แต่มันเฝ้าดูข้อมูลอยู่ แล้วพอถึงจุดที่สำคัญ มันก็แจ้งทันที

จุดดีของ in-app notification คือ มันอยู่ในบริบทเดียวกับสิ่งที่กำลังเกิดขึ้น คนใช้จึงเข้าใจได้เร็วว่าทำไมถึงมีการเตือนนี้ขึ้นมา


notification bell ช่วยให้แอปดูเป็นผลิตภัณฑ์จริงขึ้นมาก

ถ้าคุณสังเกตแอปที่ใช้ทุกวัน หลายแอปจะมีสัญลักษณ์กระดิ่ง มุมบน หรือจุดที่รวมการแจ้งเตือนล่าสุดไว้

เหตุผลไม่ใช่แค่เรื่องความสวย

แต่เพราะมันช่วยตอบคำถาม 3 อย่างให้ผู้ใช้

  • มีอะไรใหม่หรือสำคัญเกิดขึ้นไหม
  • ฉันยังไม่ได้ดูอะไรบ้าง
  • ถ้าจะย้อนกลับไปดู ต้องกดตรงไหน

สำหรับบทนี้ เราไม่ต้องทำให้ซับซ้อนมาก เป้าหมายคือมีอย่างน้อย

  • notification bell
  • unread count หรือจำนวนที่ยังไม่ได้อ่าน
  • รายการแจ้งเตือนล่าสุด
  • การแจ้งเตือนเมื่อค่าใช้จ่ายเกิน threshold ที่กำหนด

ลงมือทำ — เพิ่ม notification bell และ alert เรื่องงบ

เปิดโปรเจกต์ expense tracker ของคุณ แล้วส่ง prompt นี้

เพิ่มระบบแจ้งเตือนภายในแอป

- เพิ่ม notification bell ที่มุมบนของแอป
- แสดง unread count เมื่อมีแจ้งเตือนที่ยังไม่ได้อ่าน
- เมื่อค่าใช้จ่ายรวมของวันนี้เกิน 500 บาท ให้สร้าง in-app notification ใหม่
- ในข้อความแจ้งเตือนให้บอกชัดว่าใช้เงินเกิน 500 บาทแล้วในวันนี้
- เมื่อกดที่ notification bell ให้แสดงรายการแจ้งเตือนล่าสุดแบบอ่านง่าย
- ทำให้ผู้ใช้กดอ่านแล้ว unread count ลดลงได้
- รักษา design เดิมไว้ และทำให้ notification ดูสะอาด ไม่รบกวนเกินไป

ไม่เปลี่ยนฟังก์ชันหรือ design ที่มีอยู่แล้ว

prompt นี้กำลังเชื่อม trigger กับ action แบบครบวงจร

  • trigger: ค่าใช้จ่ายรวมวันนี้เกิน 500 บาท
  • action: สร้างแจ้งเตือนใหม่ในแอป
  • พื้นที่แสดงผล: bell + รายการแจ้งเตือน

นี่คืออีกแบบของการที่แอป “พูด” ในจังหวะที่สำคัญ


ทดสอบ — ทำให้ threshold เกิดขึ้นจริง

หลังจาก AI ทำเสร็จ ให้ลองทดสอบแบบนี้

  1. ล็อกอินเข้าบัญชีหนึ่ง
  2. เพิ่มรายจ่ายหลายรายการให้ยอดรวมของวันนี้เกิน 500 บาท
  3. ดูว่ามี notification ใหม่เกิดขึ้นหรือไม่
  4. ดูว่า notification bell แสดง unread count หรือไม่
  5. กดเปิด bell แล้วอ่านแจ้งเตือน
  6. ดูว่า unread count ลดลงหรือไม่

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

  • threshold ถูกจับได้
  • notification ถูกสร้าง
  • bell แสดงว่ามีของใหม่
  • ผู้ใช้เปิดอ่านได้
  • ระบบรู้ว่าอ่านแล้ว

ถ้าครบแบบนี้ แปลว่า in-app notification ของคุณเริ่มใช้งานได้จริงแล้ว

แอปของคุณเริ่มเตือนคนใช้ในจังหวะใช้งานจริงแล้ว

ถ้าผู้ใช้เพิ่มรายจ่ายจนเกิน 500 บาท แล้วเห็นแจ้งเตือนในแอปพร้อม unread count ทำงานถูกต้อง แปลว่าระบบแจ้งเตือนภายในแอปเริ่มเป็นของจริงแล้ว


ถ้ายอดเกินแล้วแต่ไม่เตือน หรือเตือนซ้ำเยอะเกินไป

บทนี้มีสองปัญหาที่เจอบ่อย

อย่างแรกคือ threshold เกิดแล้ว แต่ระบบไม่สร้าง notification
อย่างที่สองคือมันสร้างซ้ำทุกครั้งจนรบกวนเกินไป

ถ้าไม่เตือน ลองบอก AI แบบนี้

ตอนนี้ค่าใช้จ่ายวันนี้เกิน 500 บาทแล้ว แต่ยังไม่มี in-app notification เกิดขึ้น
ช่วยทำให้เมื่อยอดรวมวันนี้เกิน 500 บาท ระบบสร้างแจ้งเตือนใหม่ให้ผู้ใช้ทันที
ไม่เปลี่ยนฟังก์ชันหรือ design ที่มีอยู่แล้ว

ถ้าเตือนซ้ำมากเกินไป ลองบอกเพิ่มว่า

ตอนนี้ระบบสร้างแจ้งเตือนซ้ำบ่อยเกินไปเมื่อยอดยังเกิน 500 บาทอยู่
ช่วยทำให้แจ้งเตือน threshold นี้เกิดอย่างมีเหตุผล เช่น ไม่สร้างซ้ำถ้ายังเป็นเหตุการณ์เดียวกัน
ไม่เปลี่ยนฟังก์ชันหรือ design ที่มีอยู่แล้ว
⚠️ in-app notification ไม่ควรตะโกนใส่ผู้ใช้

แค่เพราะแจ้งในแอปได้ ไม่ได้แปลว่าควรเด้งทุกอย่างขึ้นมาทันที ถ้าเรื่องนั้นไม่ได้สำคัญพอ ให้เก็บไว้ใน bell แบบสุภาพจะดีกว่า


สำหรับแอปของคุณเอง

in-app notification เหมาะกับเรื่องแบบนี้มาก

  • แอปจดโน้ต: มีโน้ตที่ควรกลับมาทบทวน
  • แอป subscription: สมาชิกใกล้หมดอายุ หรือมีปัญหาการชำระเงิน
  • แอปคอร์ส: มีบทเรียนใหม่ หรือบทเดิมเรียนค้างอยู่
  • แอปสูตรอาหาร: มีสูตรใหม่ หรือวัตถุดิบที่กำลังตามอยู่มีอัปเดต
  • แอปเช็คค่าเงิน: เรตแตะระดับที่ผู้ใช้ติดตามไว้

คำถามสำคัญคือ

ถ้าผู้ใช้กำลังอยู่ในแอปอยู่แล้ว เรื่องนี้ควรบอกตรงนั้นเลยไหม

ถ้าคำตอบคือใช่ in-app notification มักเหมาะกว่า email


วันนี้คุณไม่ได้แค่เพิ่มกระดิ่ง

สิ่งที่คุณเพิ่มจริงๆ คือ “ช่องทางสื่อสารภายในแอป” ที่เป็นระบบ

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

นี่คืออีกชั้นของความรู้สึกว่าแอปของคุณเริ่มครบมากขึ้นเรื่อยๆ

ตอนนี้แอปของคุณมีทั้งเสียงนอกแอปและในแอปแล้ว

พอมีทั้ง email และ in-app notification แอปของคุณก็เริ่มเลือกวิธีพูดให้เหมาะกับสถานการณ์ได้มากขึ้นแล้ว


คุณเพิ่งทำอะไรสำเร็จไปแล้วบ้าง

  • คุณเข้าใจแล้วว่า in-app notification เหมาะกับการเตือนในจังหวะที่ผู้ใช้กำลังใช้งานอยู่
  • คุณเพิ่ม notification bell, unread count และรายการแจ้งเตือนล่าสุดได้แล้ว
  • คุณทำให้ threshold trigger อย่าง “ใช้เงินเกิน 500 บาท” สร้างแจ้งเตือนในแอปได้จริง
  • แอปของคุณเริ่มมีระบบสื่อสารภายในที่ใช้ได้จริง ไม่ใช่แค่ส่งอีเมลออกไปอย่างเดียว

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

🎉
ยินดีด้วย! คุณทำสำเร็จแล้ว

แอปของคุณมี notification bell แล้ว — เวลามีเรื่องสำคัญ คนใช้เห็นได้ทันทีบนหน้าจอ 🎉