用C#開發LINE Bot(37) - 可變換官方帳號頭像暱稱的 Icon Switch機制
官方帳號(或LINE Bot)大多是代表著某一個機構團體或公司,官方帳號後面可能會有很多的操作人員,這些操作人員可能是不同的身分,但都使用官方帳號這個唯一的管道作為出口與加入此官方帳號為好友的用戶互動。 不過,這些都是該官方帳號在還沒有串接後端的WebHook之前。 一旦官方帳後透過後端的WebHook作為訊息回應的方式,那真正回應訊息的當然就是後端的程式碼了。 但你會不會覺得,官方帳號每次都是同一個頭像或暱稱,來對用戶回應,似乎有點枯燥乏味? 有沒有可能動態的切換官方帳號(LINE Bot)的頭像與暱稱呢? 可以的,LINE在本月開放了這個新的機制,可以讓您透過API來實現本功能: 上圖中其實是同一個官方帳號,但當用戶與之對話時,該官方帳號可以依照需要的情境,自動切換成不同的頭像與顯示暱稱。 怎麼實現的? 透過C#程式碼超級簡單,你只需要在發訊息的時候,額外設定sender.name與sender.iconUrl這兩個屬性即可: 透過上面這樣的指令,原本的程式碼幾乎完全不需要修改(只需要額外加入上面兩行指令),就可以在推送這則訊息的時候,改變官方帳號(LINE Bot)的頭像與暱稱。 請注意,這個頭像與暱稱是跟著訊息的,也就是說,如果你下一則訊息,沒有加上這兩行指令,則推送出的該訊息,就會顯示預設的頭像。 就這樣,是不是讓你的LINE Bot生動很多? (btw, 請升級到最新版 LineBotSdk (2.0.12+)才有支援) 這功能幹啥用? 如果你做的是一般機關行號型的LINE Bot,可能不容易想像這個功能的用途,但如果你做的是遊戲類的LINE Bot、或是你在LINE Bot中想要做些行銷活動,這個功能就非常好用。 例如,你可以在遊戲或行銷活動與用戶對談的過程中,把LINE Bot的頭像換成卡通人物,但當用戶離開遊戲或行銷折扣活動,變成詢問問題時,你可以再把頭像切換成客服人員,這樣即便只用一個官方帳號,用戶也可以更清楚的知道目前正在對談的情境和事件是什麼。 又或者,企業在舉行端午節的特惠活動時,你可以在發送訊息時,把頭像切換成屈原(或粽子)…這樣頗為生動的小動作,會讓你的LINE Bot生動不少。 相關的程式碼可以參考我放在 Github上的範例: https://github.com/isdaviddong/Example-LineIconSwitch