陸地

Peter Conn
Peter Conn

Trusted Web Activities 周圍有相當多的生態系統,因此要瞭解各項元素的關聯性和應使用的元素可能相當困難。這篇文章希望能解決這個問題。

如果您是新使用者,或是想瞭解建議的工具組合,請參閱以下資訊:

  • Bubblewrap:NodeJS 工具,可讓開發人員建立及建構包裝現有 PWA 的 Android APK。產生的應用程式由 Trusted Web Activities 提供動力,但這對開發人員而言是透明的。無須具備 Android 開發經驗。請參閱 Bubblewrap 說明文件,瞭解如何開始使用。
  • android-browser-helper:封裝信任的 Web 活動通訊協定的 Android 程式庫。建議給熟悉 Android 開發作業的開發人員,他們希望將可信任的 Web 活動用作 Android 應用程式中的其中一個活動,或是進行 Bubblewrap 不支援的客製化調整。如要開始使用 android-browser-helper,請參閱說明文件示範

接下來,我們將簡要說明所有相關專案。最後 (提供給好奇的讀者),我們也提供歷史記錄,說明我們如何走到這裡,以及近期的計畫。

程式庫總覽

以下是每個可能用到的程式庫,以一句話簡單概述:

  • androidx.browser:Android 程式庫,可與使用者裝置上安裝的瀏覽器互動。
  • Android 瀏覽器輔助程式:這是以 androidx.browser 為基礎的程式庫,可為 Trusted Web Activity 用戶端提供便利方法和合理的預設值。
  • Bubblewrap:這項工具可讓您不必接觸任何 Java 程式碼,就能從 PWA 建立受信任的網路活動。

此外,每個程式庫/工具都會取代舊版:

記錄

Android 支援資料庫

Android 支援資料庫可透過新的 API 和相容性功能擴充 Android 平台。這項功能分散在多個套件中,其中「Custom Tabs Support Library」包含與使用者系統上的瀏覽器互動的功能。Custom Tabs 支援資料庫的開發工作主要在 custom-tabs-client GitHub 存放區進行,變更會上游傳回至 Android 支援資料庫

自訂分頁是使用瀏覽器顯示網頁的 Android 活動。這對開發人員的主要好處是,這類網頁可以套用主題,並提供關閉按鈕,因此使用者仍會留在開發人員的應用程式中 (而不是離開應用程式,並進入完整的瀏覽體驗)。自訂分頁是 Android API,因此任何瀏覽器都能支援,並會使用使用者的預設瀏覽器 (但這可由開發人員覆寫)。

由於受信任的網路活動是建構在自訂分頁之上,因此這些活動的生命週期會從這個 custom-tabs-client 程式庫開始。使用者瀏覽應用程式開發人員擁有的網站時,信任的網路活動會移除自訂分頁頂端列。這項功能可讓您在原生 Android 應用程式中流暢整合網站,並用於建立由網路提供所有功能的應用程式。

AndroidX

Android 支援資料庫後來改名為 AndroidX,這是為了改善開發人員體驗而進行的更大努力 (稱為 JetPack) 的一部分。因此,自訂分頁和受信任的網路活動必須從 Custom Tabs 支援資料庫移至新的 androidx.browser

我們在 custom-tabs-client 中編寫的部分程式碼適合信任的 Web Activity 輔助程式類別程式庫,但不適合 Android API。處理檢查 Chrome 版本是否過時,並提示使用者更新,或決定資料的儲存方式的程式碼,無法移至 AndroidX。因此,我們建立了替代程式庫,用於包含無法納入 androidx.browsercustom-tabs-client 部分,因此誕生了 Android Browser Helper

Android 瀏覽器輔助程式的目的在於包含可專屬於瀏覽器的程式碼 (不限於 Chrome,我們也歡迎專門為其他瀏覽器編寫程式碼),並可做出資料庫不應做出的具體決策。我們趁此機會,將這兩個程式庫的角色分開:

  • androidx.browser 包含用於與使用者系統上的瀏覽器互動的基礎建構區塊。
  • Android 瀏覽器輔助程式包含方便使用且合理的預設實作項目。

啟動

開發人員很忙碌,有許多工作要做,也要趕上截止日期。為協助使用者完成這項作業,我們建立了兩個工具,讓使用者啟動自己的 Trusted Web Activity。

第一個 (也是最早的) 是 svgomg-twa,這是 GitHub 代管的 Android 專案,可啟動信任的 Web 活動。這個專案原本是做為示範專案,後來演變成範本。使用者可以複製該存放區,並修改 build.gradle 檔案,讓檔案指向自己的網站,然後建構網站並產生受信任的網路活動,完全不必動到任何 Java 程式碼。(取得 Digital Asset Links 驗證需要付出更多努力,請參閱這篇文章瞭解詳情)。

svgomg-twa 一開始會依賴 custom-tabs-client,但後來會移至 Android 瀏覽器輔助程式 (並以遞移方式轉移至 androidx.browser)。

最新且最亮眼的工具是 Bubblewrap,這是一個 Node.js 工具,可使用您的 Web App 資訊清單,為您產生信任的網路活動。這是從現有 PWA 建立 Trusted Web Activity 最簡單的方法,而且不需要任何 Android 開發知識。

近期

我們會淘汰 svgomg-twa,原因有二:

  • Bubblewrap 基本上會為開發人員產生完整的 svgomg-twa。這項服務會以互動方式執行這項操作,並可從網頁應用程式資訊清單 (PWA 可能已具備) 取得設定。
  • 如果開發人員想參考如何從頭開始建立自己的 Trusted Web Activity 專案,可以查看 Android 瀏覽器輔助程式示範目錄。

新手開發人員應改用 Bubblewrap 產生專案。如果您已使用 svgomg-twa,且已進行一些重大修改,則可以繼續使用,但不會收到更新。

我們打算盡可能讓 Bubblewrap 具備更多功能,因此如果您發現明顯缺少某項功能,或遇到任何錯誤,歡迎建立問題