終於要進入LINE Developers的部分,首先來介紹一下Messaging API,LINE的訊息外觀算是比較多元的,以官網的介紹來排序:
- Text message (純文字)
- Sticker message (貼圖,只能用官方基礎的)
- Image message(圖片)
- Video message(聲音)
- Audio message(影像)
- Location message(位置)
- Imagemap message(算是圖片的進階版)
- Template message(樣板,這就比較多玩法了)
- Flex Message(很推薦使用這個,可以自行設計訊息外觀)
但在介紹這些message有什麼不同之前,先說明一下,每種message都可以設定Actions,大致上可以安排這些行為
- Postback action (可以想像中 在背後告知webhook,在聊天室感覺不到)
- Message action(類似幫點擊者講話)
- URI action(連結)
- Datetime picker action(時間)
- Camera action(相機)
- Camera roll action(相機)
- Location action(位置)
Message是訊息的類型
Action是訊息所搭配的行為
例如希望做一個私下投票的功能,你可以選擇Imagemap message、Template message、Flex Message都可以,message影響的是外觀,而Action影響的是事件,選擇Message action還是Postback action之間的差異,就是期望BOT能做什麼事情了。
Text message
單純文字的訊息,筆者的印象中,純文字的訊息可容納的文字量是最多的,而每一個的message類型所可寫的文字數量都有不同。
Image message 與Imagemap message有什麼不同?
Image message就是單純顯示出圖片,而Imagemap message也是圖片,但可以設定其餘的功能,例如點擊之後的事件。
Buttons
就是單純按鈕的樣板訊息,上面可以輸入一些簡單的圖文說明,然後搭配按鈕。(action最多只能4個)
Confirm
顧名思義,就是讓人選擇的樣板訊息,類似可以輸入”是”或者”否”,只能使用文字說明搭配按鈕。(action最多只能2個)
Carousel
可以想像是橫向排列的批次訊息,能圖文搭配按鈕,但要注意最多一排只能10個。(每1個的action只能3個)
Image carouse
跟Carousel很類似,但Image carouse的外觀上就像是一排橫向排列的圖片訊息,可設置action,上限也是一排10個。
Flex Message
是筆者最推薦的訊息類型,上述的訊息,很多只能在移動裝備中的LINE APP上才能顯示,而Flex Message不單可以自行設計訊息外觀,在電腦版的LINE與手機版的LINE都能顯示。Flex Message在官方開發者網站中,有提供各種的初始樣板也有提供編輯器,可以調整行距、圖片大小、字體大小、間距、外距內距、寬高…等,可以想像訊息外觀可以用CSS的那樣多元。因應內容不同,action的限制也會不同。