app開發- Universal Links or App Links. 有何不同? LINE Liff 與 Telegram

 

 簡單說:

「Universal Links」是 iOS 的深層連結標準
「App Links」是 Android 的對應標準

項目 Universal Links(iOS) App Links(Android)
所屬平台 Apple iOS / iPadOS Google Android
啟動機制 使用 Apple 的「Associated Domains」設定(apple-app-site-association 使用 Android 的「Digital Asset Links」(assetlinks.json
網域綁定 App 必須宣告擁有該網站網域(domain)權限 同樣需驗證該網域與 App 契合(site ↔ app 簽章)
開啟方式 Safari / WebView 偵測後 → 自動跳轉至 App(若已安裝) Chrome / WebView 偵測後 → 自動跳轉至 App(若已安裝)
備援行為 未安裝 App 時 → 開啟網頁 未安裝 App 時 → 開啟網頁
典型用途 iOS 上的深層連結,例如開啟 LINE 貼文、YouTube 影片、銀行 App Android 上的深層連結,例如開啟 Shopee、Instagram 等

為何 LINE 現在才支援 Universal / App Links?

這其實是 技術與安全政策的折衷

  1. 以前(< v14.20)
    LIFF 的 openWindow 幾乎都會「直接跳 App」,只要 URL 支援深層連結。
    但這造成安全風險(惡意網頁可誘導開銀行 / 支付 App)。

  2. 中期版本(v14.20~15.19)
    LINE 封鎖了自動跳 App 的行為,統一在內嵌瀏覽器中開啟。

  3. 現在(v15.20 起,2025/12 推出)
    改為由開發者明確指定:

    • params.external = false → 只在 LINE 開啟

    • params.external = true → 允許跳外部或 App(依裝置支援 Universal/App Links)

這是為了「兼顧安全與開放」,也符合 iOS/Android 的 App Store 政策。




---
Telegram 不用 Universal/App Links 機制,而是自己的 tg:// URL。在 WebView 內,它比較自由,不會像 LINE 一樣嚴格限制開新視窗。

項目 iOS Android LINE LIFF 特性 Telegram
深層連結標準 Universal Links App Links 現在才正式支援(v15.20) 自家 tg://
target="_blank" 行為 可開 Safari 可開 Chrome ❌ 被禁用,需用 liff.openWindow() ✅ 通常可用
主要考量 安全與控制 開發者彈性 安全優先 自由開放

*

張貼留言 (0)
較新的 較舊

廣告1

廣告2