Android 關聯工作流程

Android App Links:準備與發布 assetlinks.json

assetlinks.json 宣告網站與哪個 App 關聯。產生檔案只是第一步;發布、設定 App 與驗證關聯都要另外完成。

內容更新: · 維護者:Hung Chi-Hsueh · 修正回報

準備 App 身分資料

找出預計發布版本的 application ID 與其簽章憑證 SHA-256 指紋。請在可信任的環境自行取得指紋,不要提供私鑰。使用 Google Play App Signing 時,請使用發布給使用者的 app signing certificate 指紋,不要使用 upload key 指紋。Android 官方文件列出 Play Console 的 App 簽署頁面及 Digital Asset Links 片段。

此產生器的 application ID 至少要有兩段,以句點分隔;每段以 ASCII 英文字母開頭,後續只能包含 ASCII 英文字母、數字或底線,總長最多 255 字元。指紋每行一個,最多八行;每個為 64 個十六進位字元,或以冒號分隔的 32 組十六進位字元對。這些是工具輸入限制,不證明身分屬於你。

只選擇需要的關係

開啟產生器,輸入 application ID 與指紋,再檢查產生的宣告並下載。handle_all_urls 關係宣告 App 可處理網站網址;實際處理仍取決於 App 設定及 Android 驗證。

選用的 get_login_creds 關係宣告憑證分享。只有確實要授權分享且了解範圍時才啟用:Google 密碼管理工具會將分享關係視為可傳遞。產生的 App 宣告本身不構成完整的憑證分享設定;網站與 App 的其他設定請依 Google 官方指南完成。

發布前保留既有宣告

下載的檔案只涵蓋本次操作的 App,不會自動合併既有檔案。發布前請檢查目前宣告清單,手動合併並確認新宣告,保留其他 App、既有宣告及 Android 15 動態路徑規則與其 relation extensions。未完成檢查前,不要直接用下載檔覆寫既有檔案。

App Links intent filter 明確列出的每個 hostname,都要在 https://HOST/.well-known/assetlinks.json 發布審核後的 JSON。檔案必須透過 HTTPS 公開存取、回傳 Content-Type: application/json,且不能重新導向。個別子網域須各自處理;若 filter 使用 *.example.com 這類萬用字元,Android 要求檔案放在根 hostname example.com。若要分享憑證,App 互動的每個子網域都要發布有效的 assetlinks.json;完整關係設定請依憑證分享官方指南處理。

設定並在 Android 上驗證

在 App manifest 中為目標 hostname 與網址設定 App Links intent filter。部署後,請另行檢查每個線上 HTTPS 回應,並以預期簽署的 App 在真實 Android 平台依官方流程驗證 App Links。驗證失敗時,依官方指南檢查 application ID、簽章指紋、hostname、回應 content type、重新導向與 manifest filter。

產生器與 JSON 格式檢查不驗證簽章、身分、網域擁有權、網路連線或 App Links 關聯;它們不連線到網站,也不會上傳私鑰。檔案格式看似正確或成功下載,都不能證明 Android 已驗證部署後的關聯。

資料可信度

資料來源