iT邦幫忙

第 12 屆 iThome 鐵人賽

DAY 3
2
Modern Web

認識LIFF容易嗎?系列 第 3

[Day03] LIFF Init 與 URL們

  • 分享至 

  • twitterImage
  •  

前言

到底 liff.init() 是什麼? 何時執行? 執行後,可以做什麼? 跟URL們有什麼關係?

image

initialize的中文意思,即初始化,韋氏字典中的解釋: 將某樣東西設定在起始位置。是不是有感受到一些些成長(?)

liff.init()何時執行 

liff.init() 的執行點在 Primary redirect URL 與 Secondary redirect URL 間。

當用戶點擊 LIFF URL,首先 LIFF Server 會將 URL 轉向至 Primary redirect URL,之後執行 liff.init()。執行的時候,URL 會再轉向至 Secondary redirect URL,然後LIFF APP就被開啟了!

image

此刻的你,是不是和我一樣滿頭問號,到底什麼是 Primary redirect URL 與 Secondary redirect URL呢?

Primary redirect URL

其實就是在註冊設定的Endpoint URL。例如: https://example.com

Secondary redirect URL

這篇文章中,又稱作 Destination URL。大致由 Endpoint URL + Path + Query param組成,會因聊天室內LIFF URL的組成不同,而有所變化,例如:

  1. 當LIFF URL不含其餘資訊: https://liff.line.me/{liffId}

    Secondary redirect URL
    https://example.com/2020campaign/?key=value

    由以下部分組成:

  2. 當LIFF URL含其餘資訊: https://liff.line.me/{liffId}/path_A/?key1=value1#URL-fragment

    Secondary redirect URL
    https://example.com/2020campaign/path_A/?key=value&key1=value1#URL-fragment

    由以下部分組成:

    • Endpoint URL: https://example.com
    • Path + Query param: /2020campaign/?key=value
    • 其餘資訊: /path_A/?key1=value1#URL-fragment

image

這個URL與LINE Developers Console中,Methods for converting additional information in the LIFF URL的設定有關。DAY01在註冊的時候,有巧妙略過 (其實是忘記提到,欸不是)。

image

在建立好LIFF APP的時候,預設是Concatenate。兩個選項的差別在於,如果把設定改成Replace,Secondary redirect URL可能不包括/2020campaign/?key=value,像是:

另外,也可能影響到liff.permanentLink.createUrl()的使用。

執行完liff.init(),可以做什麼?

除了可以取得用戶的access token 和 ID token,很重要的點是,有部分的liff方法,須等到 liff.init() 執行完,才可使用。

接下來還是會與init有關。

參考


上一篇
[Day02] LIFF SDK
下一篇
[Day04] LIFF GetOS 與 實作
系列文
認識LIFF容易嗎?30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

2 則留言

0
火爆浪子
iT邦研究生 1 級 ‧ 2020-12-28 02:48:57

想問問
假設A頁 liff 跳到 B頁 liff(兩者都有 liff init)
過程中 url 會帶有 liff.state 是為什麼?
網址會變成類似這樣的網址?
https://liff.line.me/1655383835-3ggggJ?code=JOG85Adax1ygW4rTjgrJ&liffClientId=1655383835&state=sqRn9Z9wx3dN

C.Shan iT邦新手 5 級 ‧ 2020-12-28 20:19:02 檢舉

這部分和 Line 的 Web login 流程有所關聯,有興趣可以查找相關文件,如: 整合 LINE Login (v2) 與 web app

謝謝回覆!

0
eric19740521
iT邦新手 1 級 ‧ 2021-05-25 21:46:06

我看了好幾遍??

Methods for converting additional information in the LIFF URL
這應該是取消了!!!

我要留言

立即登入留言