รีวิว Usecase จริง Banner Event กับ LINE Beacon + LIFF ในงาน MUICT Open House 2022

Supakarn Laorattanakul
3 min readNov 2, 2022

--

เมื่อปลายเดือนก่อน 28–29 ต.ค. ถ้าใครได้ไปงาน Open House ที่มหิดล แล้วแว๊บไปคณะ ICT คงจะเห็นอะไรแปลกใหม่ ที่เราเป็นคนเสนออาจารย์ รวมถึง Implement ได้เสร็จภายในไม่ถึง 2 สัปดาห์ นั่นคือการใช้ LINE LIFF ร่วมกับกิจกรรมที่ทางคณะจัดนั่นเอง (มี LINE Beacon แถมมาด้วยนะ)

การพัฒนาระบบกิจกรรมในครั้งนี้จะแบ่งเป็น 2 ส่วน

  • LINE Messaging API เพื่อแสดงข้อความเชิญชวน ข้อความต้อนรับ ข้อความตอบกลับแอ็กชั่น
  • LINE LIFF สำหรับการทำกิจกรรมภายในคณะ

LINE Beacon ก็ดี แต่…

ในงานครั้งนี้ เราได้วางแผนที่จะใช้ LINE Beacon เพื่อแสดงข้อความต้อนรับน้อง ๆ มัธยม คุณครู หรือผู้ปกครองที่เข้ามาในงาน ซึ่งฟังดูก็ไม่น่าจะมีปัญหาอะไร แต่ประเด็นมันติดอยู่ที่ Usecase ว่าเป้าหมายของเราที่ต้องการส่งไปหานั้น ยังไม่ได้เป็นเพื่อนกับ LINE OA เลย ทำให้การที่จะใช้ Beacon เป็นเรื่องค่อนข้างยากมาก

แต่ทางออกก็ไม่ได้มืดมิด เพราะสำหรับ LINE Beacon จะสามารถใช้ส่งสัญญาณแสดงแบนเนอร์กับคนที่ยังไม่ได้เป็นเพื่อนได้ (ต้องทำการยื่นเรื่องเป็น Certified Provider และยื่นเรื่องสำหรับแสดงแบนเนอร์อีกที)

การพิจารณา Certified Provider หากเอกสารครบทุกอย่าง (เตรียมมาดี!!) ก็ใช้เวลาแค่ไม่กี่วันก็อนุมัติแล้ว ปกติจะต้องมีหนังสือรับรองบริษัท แต่พอเป็นคณะก็สามารถใช้หนังสือรับรองคนดูแล Provider ได้ (Thanks to Tan Warit) ส่วนการแสดงแบนเนอร์สามารถส่งไปพร้อมกันได้เลย

เย่!! ได้มาแล้ว Certified Provider

เอาเข้าจริง พอผ่านการอนุมัติ Banner & Stay Event มาแล้ว ต้องระวังอย่างมาก เพราะว่าอีเวนต์เหล่านี้จะถูกเปิดใช้งานทันที ไม่สามารถเปิดปิดเองได้ TT

มีแบนเนอร์แล้วเอามาใช้อะไร!?!

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

แบนเนอร์มาแว้ววววว…

อย่างที่นำมาใช้ เมื่อผู้ใช้เพิ่มเพื่อนจาก ตึกสิริวิทยา จะแสดงข้อความต้อนรับเป็นการเชิญชวนให้ผู้ใช้มาเยี่ยมชมคณะ ICT พร้อมทั้งลิงก์ Google Maps เพื่อนำทางมายังคณะ

ส่วน Beacon ที่ตึก ICT นั้น จะเป็นการแสดงข้อความต้อนรับพร้อมทั้งลิงก์ LINE LIFF สำหรับการลงทะเบียน

ใช้ Beacon แล้วมีปัญหาอะไรมั้ย?

จากที่ผ่านการใช้งานมา ขอบอก ณ จุด ๆ นี้เลย ว่า LINE Beacon ยังไม่สามารถใช้เป็นตัวหลักสำหรับการแสดงข้อความต่าง ๆ รวมถึงเพื่อทำกิจกรรมต่าง ๆ ได้ 100% เพราะมีหลายปัจจัยที่ทำให้ไม่ค่อยมีประสิทธิภาพเท่าที่ควร หรือไม่ได้รับสัญญาณ Beacon

  • ผู้ใช้ไม่ได้เปิดสัญญาณ Bluetooth
  • ผู้ใช้ไม่ได้เปิดใช้งาน LINE Beacon ในการตั้งค่าในแอป LINE
  • ผู้ใช้ไม่ได้เชื่อมต่อกันอินเทอร์เน็ต

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

แต่อย่างไรก็ตาม เมื่อเรามาใช้กับกิจกรรมที่เป็น LINE LIFF เราสามารถให้ผู้ใช้เพิ่ม LINE OA เป็นเพื่อนทางอ้อมได้นั่นเอง

LINE LIFF ฮีโรชูโรงกิจกรรมของงานนี้

ในส่วนของ LINE LIFF หรือพูดง่าย ๆ ว่าเป็นเว็บไซต์ที่ใช้บน Mobile เราใช้ Tech Stack ตามนี้

  • NextJs — Frontend Framework
  • TailwindCSS — CSS Framework
  • Mongoose — MongoDB ODM
  • MongoDB — NoSQL Database

การเชื่อมต่อกับ LINE LIFF ก็ไม่ยาก เราสามารถทำเป็น Wrapper คลุมทุก ๆ หน้าเอาไว้ เพื่อให้รอ Initialize ก่อนแล้วค่อยโหลดหน้านั้น ๆ ได้

เว็บไซต์จะถูกแบ่งออกเป็น 4 ส่วนหลัก ๆ

  • ระบบลงทะเบียน (Desktop & Mobile)
หน้าลงทะเบียน ถ้าลงทะเบียนเสร็จแล้ว จะส่ง Ticket มาให้ด้วย
  • ระบบแบบสอบถามประเมินความพึงพอใจ (Desktop & Mobile)
  • ระบบกิจกรรม ตอบคำถาม ในแต่ละฐาน (Mobile)
  • ระบบสะสมแต้ม รับของรางวัล (Mobile)
จุดสุดท้าย น้อง ๆ มารับรางวัล ที่หมุนหลุดธีมไปนิดนึง ทำไม่ทันนนนน~~~

โดยเราออกแบบให้เป็นการสแกน QR Code แทนในทุก ๆ ฐาน ตั้งแต่จุดลงทะเบียน (ในกรณีไม่ได้รับสัญญาณ Beacon ซึ่งก็คือส่วนใหญ่) กิจกรรม แบบสอบถาม และรับของรางวัล เพื่อป้องกันการข้ามจุดใดจุดหนึ่ง หรือทำจากที่อื่น แล้วมารับของรางวัล (เราอยากให้มาเยี่ยมชมจริง ๆ น้าาา~~)

จะเล่นกิจกรรม สแกนลงทะเบียนก่อนนะ แล้วไปผจญภัยกันนนนน…

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

รับรางวัลแล้ว อย่าลืมติดตามเรานะฮะ!!

ใช้ LINE LIFF มีอะไรดีอีก!!

จุดเด่นของการที่ใช้ LINE LIFF นั้น ก็คือหากเราต้องการที่จะเก็บข้อมูลในฐานข้อมูลเป็นของแต่ละ User เราก็สามารถทำได้เลย โดยที่นำ Access Token หรือ ID Token ที่ได้ ไป Verify ในส่วนของเซิร์ฟเวอร์นั่นเอง (ห้ามส่ง User ID ไปเพียว ๆ หรือตัว DecodedIdToken ไปที่เซิร์ฟเวอร์นะ มันจะไม่ปลอดภัยเอา!!) โดยไม่จำเป็นต้องทำระบบ Login หรือ Authentication เพราะ LIFF เค้า Login ให้แว้วววว…

ลงทะเบียนเข้างานผ่าน LINE LIFF

สรุปสั้น ๆ

  • [LINE Beacon] อยากได้ Banner / Stay Event ทำเรื่องขอได้ เอกสารไม่ยุ่งยาก
  • [LINE Beacon] อยากแสดงแบนเนอร์ให้กับคนที่ยังไม่ได้เป็นเพื่อน ต้องเป็น Certified Provider เท่านั้น
  • [LINE Beacon] Beacon ดีมั้ย?? มันดี!! แต่มีข้อจำกัด ใช้เป็นช่องทางหลักไม่ได้ เพราะยังมีหลายปัจจัยที่เราคุมเองไม่ได้ เช่น ไม่เปิด Bluetooth, ไม่เปิด Location Services, ไม่เปิดใช้งาน LINE Beacon, ผู้ใช้ไม่รู้ว่ามี ควรทำแผนสำรองเอาไว้
  • [LINE LIFF] ทำ Authentication ได้แบบง่าย ๆ ไม่ต้อง implement เอง
  • [LINE LIFF] ทำงานได้เหมือน Website (แต่อาจจะมีข้อจำกัดบางอย่าง)

หมายเหตุ: บทความนี้ เป็นบทความที่รีวิว Beacon และ Banner Event เฉพาะ usecase ที่ใช้งานตามที่อธิบายเท่านั้น สำหรับ usecase อื่น ๆ อาจจะต้องพิจารณาต่อไปว่าเหมาะสมต่อการใช้งาน และมีข้อจำกัดอื่น ๆ หรือไม่

Additional Thanks to Thanaboon Sapmontree pixels27 for elegant ux and ui designs

Photo Credit: Faculty of ICT, Mahidol University

--

--