本指南說明常見問題及疑難排解方法。您也可以使用 Play 管理中心「深層連結」頁面或 Android Studio 應用程式連結小幫手中的疑難排解工具。詳情請參閱「應用程式連結開發人員工具」。
應用程式連結在瀏覽器中開啟,而非應用程式
- 問題:您點選應開啟應用程式的連結,但系統卻在網頁瀏覽器中開啟連結,或顯示消歧對話方塊。
- 解決方案:
- 檢查
assetlinks.json
:確認檔案是有效的 JSON,可在https://<your-domain>/.well-known/assetlinks.json
存取,且透過 HTTPS 提供,沒有重新導向。使用線上驗證工具。 - 驗證 SHA-256 指紋:仔細檢查
assetlinks.json
中的sha256_cert_fingerprints
是否與應用程式發布版本的簽署金鑰指紋完全相符 (如果使用 Play 應用程式簽署,請使用 Play 管理中心的指紋)。簽名應為大寫。 - 驗證
autoVerify
:確認AndroidManifest.xml
中的<intent-filter>
包含android:autoVerify="true
。 - 檢查伺服器端重新導向:從
http
重新導向至https
,或從非 www 網域重新導向至www
,都可能導致驗證失敗。 - 強制重新驗證:在「測試應用程式連結」指南中執行 ADB 指令,取得最新的驗證結果。
- 檢查
Android 15 以上版本的動態規則未更新
- 問題:您已更新
assetlinks.json
檔案中的規則,但應用程式未處理新的連結。 - 解決方案:
- 強制重新驗證:如要測試變更,最可靠的方式是使用
adb shell pm verify-app-links --re-verify. <your-package-name>
強制重新擷取。 - 檢查錯別字:仔細檢查規則中的模式比對器,看看有無語法錯誤。
- 檢查資訊清單篩選器規則:檢查應用程式資訊清單中的意圖篩選器規則,確認連結路徑未遭到篩除。如果連結遭到篩除,請在應用程式資訊清單中,使用限制性較低的意圖篩選器。
- 強制重新驗證:如要測試變更,最可靠的方式是使用
修正常見的導入錯誤
如果無法驗證 Android 應用程式連結,請檢查下列常見錯誤。本節使用 example.com
做為預留位置網域名稱;執行這些檢查時,請將 example.com
替換為伺服器的實際網域名稱。
- 意圖篩選器設定不正確
- 檢查您是否在
<intent-filter>
元素中加入應用程式不擁有的網址。 - 伺服器設定有誤
檢查伺服器的 JSON 設定,確認 SHA 值正確無誤。
此外,請檢查
example.com.
(結尾有句號) 是否與example.com
提供相同的內容。- 伺服器端重新導向
如果您設定了下列重新導向,系統就不會驗證應用程式的任何 Android 應用程式連結:
http://example.com
到https://example.com
example.com
到www.example.com
這項行為可保護應用程式安全。
- 伺服器穩定性
檢查用戶端應用程式是否可以連線至伺服器。
- 無法驗證的連結
如果是測試用途,您可能會刻意加入無法驗證的連結。請注意,在 Android 11 以下版本中,這些連結會導致系統無法驗證應用程式的所有 Android 應用程式連結。
- assetlinks.json 中的簽名不正確
確認簽名正確無誤,且與用於簽署應用程式的簽名相符。常見錯誤包括:
- 使用偵錯憑證簽署應用程式,且
assetlinks.json
中只有發布簽章。 - 在
assetlinks.json
中使用小寫簽名。簽名應為大寫。 - 如果您使用 Play 應用程式簽署功能,請務必使用 Google 簽署各個版本時所用的簽章。如要驗證這些詳細資料 (包括完整的 JSON 程式碼片段),請按照宣告網站關聯的說明操作。
- 使用偵錯憑證簽署應用程式,且