陸地

彼得康
Peter Conn

「Trusted Web Activities」,對這種網路活動而言,具有相當數量的生態系統,要瞭解一切的關聯和使用內容並不容易。本文旨在解決這個問題。

如果您是 Trusted Web Activities 的新手,或只是想尋找目前應該使用的建議工具組合,請務必瞭解以下事項:

  • Bubblewrap:這個 NodeJS 工具可讓開發人員建立及建構能夠納入現有 PWA 的 Android APK。產生的應用程式採用「Trusted Web Activities」,但開發人員會公開這項資訊。不需要有 Android 開發經驗。請參閱 Bubblewrap 說明文件,瞭解如何開始使用。
  • android-browser-helper:封裝「Trusted Web Activities」通訊協定的 Android 程式庫。適用對象:熟悉 Android 開發作業,且想使用信任網路活動做為 Android 應用程式活動的一項活動,或是建立 Bubblewrap 不支援的自訂功能的開發人員。如要開始使用 android-browser-helper,請參閱說明文件和我們的示範

下一節將概略說明專案彼此之間的關係。最後,如果想要瞭解我們如何前往歷史新家, 可以查看記錄專區,瞭解我們如何前往這個頁面 以及我們近期計畫的發展方向

程式庫總覽

以下針對您可能使用的所有程式庫,提供一句簡短摘要:

  • androidx.browser 這個 Android 程式庫,可用來與使用者裝置上安裝的瀏覽器互動。
  • Android 瀏覽器小幫手:這是在 androidx.browser 上建構的程式庫,可供信任的網路活動用戶端提供便利的方法和合理預設值。
  • Bubblewrap:這項工具不必接觸任何 Java 程式碼,即可透過 PWA 建立 Trusted Web Activities。

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

記錄

Android 支援資料庫

Android 支援資料庫擴充 Android 平台,提供新的 API 和相容性功能。這個程式庫分為多個套件,其中的自訂分頁支援資料庫包含可與使用者系統互動的功能。自訂分頁支援資料庫的開發作業主要是在 custom-tabs-client GitHub 存放區中完成,而變更內容會上游回到 Android 支援資料庫

自訂分頁是一種 Android 活動,會使用瀏覽器顯示網頁。開發人員的主要優點是,它可以設定主題並附有關閉按鈕,所以使用者會繼續留在開發人員的應用程式上,而不用離開應用程式,改為完整瀏覽體驗。 自訂分頁是 Android API,因為任何瀏覽器都能支援,並使用使用者的預設瀏覽器 (但開發人員可覆寫這項設定)。

由於「Trusted Web Activities」是以自訂分頁為基礎,因此這些活動一開始會透過 custom-tabs-client 程式庫啟動。當使用者瀏覽應用程式開發人員擁有的網站時,「信任網路活動」會移除自訂分頁頂端列。這樣做可讓網站在原生 Android 應用程式中完美整合,並可用來建立提供網站所有功能的應用程式。

AndroidX

Android 支援資料庫後來更名為 AndroidX,這是為了改善開發人員體驗,我們為 JetPack 投入了大量心力之一。因此,Custom Tabs 和 Trusted Web Activities 必須從自訂分頁支援資料庫移至新的 androidx.browser

我們在 custom-tabs-client 中編寫的某些程式碼適用於「信任的網路活動」輔助類別程式庫,但不適用於 Android API。程式碼 檢查 Chrome 版本過舊,並提示使用者更新或做出資料儲存決定的方式,都無法轉移到 AndroidX。 因此,我們建立了替代程式庫,用來納入這些 custom-tabs-client 中無法進入 androidx.browser 的部分,因此 Android 瀏覽器輔助程式的誕生。

因為建立 Android 瀏覽器輔助程式,其中包含瀏覽器專屬的程式碼 (我們不侷限於 Chrome,我們亦樂意為其他瀏覽器編寫程式碼),進而做出程式庫不該具體的決策。在此機會,我們通常會劃分這兩個程式庫的角色:

  • androidx.browser 包含基本構成元素,用於與使用者系統中的瀏覽器互動。
  • Android 瀏覽器輔助程式包含方便使用且合理的預設實作方式。

啟動

開發人員繁忙,需要處理許多工作,以及讓開發人員配合作息的期限。為此,我們打造了兩項工具,讓使用者自行啟動「信任的網路活動」。

第一個 (且最舊) 是 svgomg-twa,這是 GitHub 代管的 Android 專案,可啟動受信任的網路活動。這原本設計為示範專案,逐漸延伸為範本。使用者可以複製該存放區並修改 build.gradle 檔案,使其指向自己自己的網站,然後進行建構並產生受信任的網路活動,而不需要接觸任何 Java 程式碼。(取得 Digital Asset Links 通過驗證需要投入更多心力,詳情請參閱這篇文章)。

svgomg-twa 一開始取決於自訂分頁用戶端,但之後移至 Android 瀏覽器輔助程式 (以及連帶的 androidx.browser)。

最新的實用工具 Bubblewrap,這是 Node.js 工具,可運用網頁應用程式資訊清單,為您產生受信任的網路活動。這是根據現有 PWA 建立信任網路活動最簡單的方法,而且不需要具備任何 Android 開發知識。

近乎未來

我們將淘汰 svgomg-twa,原因如下:

  • 基本上,Bubblewrap 基本上會為開發人員產生已填滿的 svgomg-twa。它能以互動方式執行,且可從網頁應用程式資訊清單 (可能擁有 PWA) 進行設定。
  • 如果開發人員想要參考資源,瞭解如何從頭建立自己的「Trusted Web Activity」專案,則可查看 Android 瀏覽器輔助程式的示範目錄。

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

我們計劃盡可能讓 Bubblewrap 盡可能延伸,因此如果有明顯的功能遺失或發現錯誤,歡迎建立問題