Flex Message 2022

3 ฟีเจอร์ใหม่ใน Flex Message ปี 2022 อิสระที่ไร้ขีดจำกัดของการออกแบบข้อความใน LINE

Jirawatee
LINE Developers Thailand
3 min readMar 11, 2022

--

เชื่อว่านักพัฒนาที่เป็นแฟนพันธุ์แท้ของ LINE ต่างรอคอยการมาของฟีเจอร์ใหม่ๆใน Flex Message เพื่อมาเติมเต็มจินตนาการในการแสดงผลข้อความใน LINE แบบ “Think out of the box” ทั้งการส่งผ่าน LINE Chatbot ก็ดี หรือส่งผ่าน LIFF app ก็เกร๋

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

เรามารู้จักกับ 3 ฟีเจอร์ใหม่ใน Flex Message ปี 2022 ที่จะมาช่วยให้คุณสามารถสื่อสารกับผู้ใช้บริการได้อย่างมีสิทธิภาพ รวมถึงสามารถแสดงตัวตนความเป็นคุณให้มากขึ้นกันเลย

  1. Video Component
  2. Max Width และ Max Height ใน Box Component
  3. Line Spacing ใน Text Component

1. Video Component

หนึ่งในฟีเจอร์ที่นักพัฒนาที่เล่น Flex Message ในบ้านเรารอคอยกันมานานก็ได้คลอดออกมาแล้ว ซึ่งตอนนี้เราสามารถเพิ่มวิดีโอลงไปใน Hero block ได้แล้วนาจา

Property ภายใน Video Component

  • type: video (required)
  • url: URL ของไฟล์วิดีโอที่รองรับ HTTPS(TLS 1.2 หรือใหม่กว่า) และมีนามสกุลเป็น mp4 โดยขนาดของไฟล์จะต้องไม่เกิน 200MB (required)
  • previewUrl: URL ของภาพพรีวิวที่รองรับ HTTPS(TLS 1.2 หรือใหม่กว่า) และมีนามสกุลเป็น JPEG, JPG หรือ PNG โดยขนาดของไฟล์จะต้องไม่เกิน 1MB (required)
  • altContent: เป็น property ที่สามารถบรรจุ Box หรือ Image component ลงไป ซึ่งจะใช้แสดงผลในกรณีที่ LINE ของผู้ใช้เป็นเวอร์ชันที่ไม่รองรับการแสดงวิดีโอ (required)
  • aspectRatio: อัตราส่วนพื้นที่การแสดงผลวิดีโอ width:height โดยมีเงื่อนไขว่า height จะต้องใหญ่ไม่เกิน 3 เท่าของ width และมีค่า default เป็น 1:1
  • action: ลิงก์ที่จะแสดง กรณีที่กดดูวิดีโอแบบเต็มหน้าจอ หรือในกรณีที่ดูวิดีโอจบ ซึ่งจะรองรับ Action ที่เป็นแบบ URI เท่านั้น
ตัวอย่าง JSON สำหรับ Video component ใน Hero block
ตัวอย่างการแสดงผล Video component

เงื่อนไขการใช้งาน

  • Video component จะต้องอยู่ภายใน Hero block เท่านั้น
  • ขนาดของ Bubble ที่รองรับการแสดงผล video component จะมี 3 ขนาด ได้แก่ kilo, mega และgiga
  • Video component ไม่สามารถใช้กับ Carousel container ได้

หมายเหตุ: ค่าของ aspectRatio และ ratio ของภาพใน previewUrl ควรเป็นแบบเดียวกัน เพื่อการแสดงผลที่งดงาม

aspect ratio ของ video component ใน Flex Message
กรณี aspect ratio ของวิดีโอและภาพพรีวิวต่างกัน จะเกิดพื้นที่ว่าง

2. Max Width และ Max Height ใน Box Component

maxWidth และ maxHeight 2 properties ใหม่ที่จะเข้ามาควบคุมความกว้างและความสูงของ child ทั้งหมดไม่ให้เกินไปกว่าค่าที่กำหนดใน maxWidth หรือ maxHeight ใน Box component ที่เป็น parent

Property ใหม่ที่เพิ่มเข้ามาใน Box Component

  • maxWidth: ความกว้างมากที่สุดของ Box ในหน่วย px หรือ % เช่น 75%
  • maxHeight: ความสูงมากที่สุดของ Box ในหน่วย px หรือ % เช่น 40px

ปกติใน Button เราจะไม่สามารถกำหนด width ให้ได้ แต่จากตัวอย่างเราเอา Box ไปครอบ Button ไว้ แล้วกำหนด maxWidth เป็น 75% ที่ Box ทำให้ตัว Button ไม่สามารถจะแสดงความกว้างไปเกินกว่าความกว้าง Box ซึ่งเป็น parent ของมันได้

ส่วน Button สีเทา ผมก็เอา Box ไปครอบแล้วกำหนด maxHeight เป็น 40px จึงทำให้ตัว Button ไม่สามารถแสดงความสูงได้เกินกว่าความสูงของ Box ซึ่งเป็น parent ของมันได้

3. Line Spacing ใน Text Component

ถึงเวลาจบปัญหา สระลอย หรือ สระจม กับภาษาไทย เพราะ LINE ได้เพิ่ม property ชื่อ lineSpacing ที่เข้ามาช่วยถ่างและขยายพื้นที่ว่างระหว่างบรรทัดของ Text component แล้ว

Property ใหม่ที่เพิ่มเข้ามาใน Text Component

  • lineSpacing: ตัวเลขจำนวนเต็มบวก และ ทศนิยม ในหน่วยของ pixel

หมายเหตุ
lineSpacing จะไม่มีผลกับระยะห่างด้านบนของข้อความบรรทัดแรก และระยะห่างด้านล่างของข้อความบรรทัดสุดท้าย

สรุป

เรียกได้ว่าคุ้มค่ากับการรอคอยจริงๆกับ Flex Message 2022 โดยเฉพาะ Video component ที่ในที่สุดก็มาสักที และ lineSpacing ที่เข้ามาช่วยให้การแสดงผลภาษาไทยสมบูรณ์โดยไม่ต้องไป hack มันละ หวังว่าเนื้อหาในบทความนี้จะทำให้ทุกคนได้เห็นภาพ ว่าจะเอาฟีเจอร์ใหม่ๆเหล่านี้ไปใช้ประโยชน์ได้อย่างไรนะครับ

โดยวันนี้ใครที่อยากจะทดลองฟีเจอร์ใหม่ๆใน Flex Message 2022 แบบง่ายๆ แบบที่ออกแบบเสร็จแล้วกดส่งเข้า LINE ของคุณทันที ก็สามารถไปลองเล่นกันได้แล้วที่ Flex Message Simulator

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

--

--

Jirawatee
LINE Developers Thailand

Technology Evangelist at LINE Thailand / Google Developer Expert - 🔥Firebase