[LIFF][2020鐵人賽][Day 30] 認識LIFF

Shan
C.Shan
Published in
Dec 28, 2020

所以 LIFF 到底是什麼?

從前,我們只能用 LINE app,在聊天室內與朋友一對一談話,或是用群組、聊天室,甚或是社群進行多人談話。到後來聊天機器人的出現,開始可以與機器人透過 Rich Menu 等介面互動,這些都只是在聊天視窗內進行。

LIFF(LINE Front-end Framework) 的出現,讓開發者與用戶之間,能有更多元的互動。

我們不僅可以透過以下方法,取得用戶的環境變數:

  • liff.getLanguage()
  • liff.getVersion()
  • liff.isInClient()
  • liff.getOS()
  • liff.getLineVersion()

在建立 LIFF 的時候,它是建在 LINE Login Channel。我們可以用 liff.IsLoggedIn() 去判斷用戶是否已登入,假如已登入,觸發事件執行 liff.logout(),能讓他登出;反之,執行 liff.login() 可以將用戶倒頁至 LINE 的登入畫面,再成功登入後,我們也可以利用以下方法,取得用戶的相關資訊:

  • liff.getAccessToken()
  • liff.getIDToken()
  • liff.getDecodedIDToken()
  • liff.getContext()
  • liff.getProfile()

不論用戶是用 LINE app 的內部瀏覽器,或是如 Chrome 的外部瀏覽器,接能開啟 LIFF URL。我們能透過 liff.isInClient(),去判斷用戶是否在 LINE 內部瀏覽器開啟 LIFF APP。甚至能用 liff.openWindow() 定義 URL,讓其打開其他 LIFF APP 的頁面。也能透過 liff.IsApiAvailable(),去檢查用戶執行 LIFF app 的環境,是否符合 API 的版本限制。

用戶能在 LIFF 中,觸發事件執行 liff.ShareTargetPicker(),將開發人員定義好的訊息格式分享給好友。
同時也能利用 liff.sendMessages(),以用戶的身分,在 LIFF APP 中發送訊息給聊天機器人。

過去,在 LINE 9.19.0 以前的版本,LIFF app 能執行 liff.ScanCode(),取得QRCode 掃描的字串結果,甚至能利用 liff.bluetooth.* 相關的方法,玩轉IoT。

未來,期待各企業上架以 LIFF 框架開發的 LINE MINI app(透過 liff.permanentLink.createUrl() 組成的 permanentLink 開啟,可以用 liff.permanentLink.setExtraQueryParam() 在 permanentLink 中設定查詢參數),讓用戶只要打開 LINE,就能享有各種服務!

終於 30 天,認識 LIFF 可以很容易,也可以不容易(痛哭流涕)。

--

--

Shan
C.Shan
Editor for

過去學習機械理論,現在撰寫網頁程式。我喜歡唱歌,喜歡畫畫,喜歡旅遊,存在藝術的感性,也兼具工程師的理性。腦容量87%,未來期望用文字、影像紀錄經歷。