iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 30
1
Modern Web

認識LIFF容易嗎?系列 第 30

[Day 30] 認識LIFF

  • 分享至 

  • xImage
  •  

所以 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可以很容易,也可以不容易(痛哭流涕)。


上一篇
[Day 29] LIFF Bluetooth RequestDevice
系列文
認識LIFF容易嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 則留言

1
Y.Ran
iT邦新手 5 級 ‧ 2020-10-15 21:41:40

/images/emoticon/emoticon42.gif
耶,終於撐過30天了~可喜可賀!!!

我要留言

立即登入留言