處理 Android 應用程式連結

深層連結會處理內容 URI。網頁連結會處理 HTTP 和 HTTPS 配置。Android 應用程式連結會處理 autoVerify 屬性。
圖 1.深層連結、網頁連結和 Android 應用程式連結的功能。

使用者在裝置上點選連結時,有一個目標就是:讓使用者取得想看到的內容。 開發人員可以設定 Android 應用程式連結,讓使用者直接在應用程式中導向連結的特定內容,略過應用程式選取對話方塊,也稱為消歧對話方塊。Android 應用程式連結會使用 HTTP 網址並與網站建立關聯,因此未安裝應用程式的使用者會直接瀏覽網站內容。

實作 Android 應用程式連結前,請務必先瞭解您可以在 Android 應用程式中建立的各種連結類型:深層連結、網頁連結和 Android 應用程式連結。圖 1 顯示了這些連結類型之間的關係,而下列各節詳細說明瞭各種連結類型。

深層連結是任何配置的 URI,可將使用者直接導向應用程式的特定部分。如要建立深層連結,請新增意圖篩選器,引導使用者前往應用程式中的適當活動,如以下程式碼片段所示:

<activity
    android:name=".MyMapActivity"
    android:exported="true"
    ...>
    <intent-filter>
        <action android:name="android.intent.action.VIEW" />
        <category android:name="android.intent.category.DEFAULT" />
        <category android:name="android.intent.category.BROWSABLE" />
        <data android:scheme="geo" />
    </intent-filter>
</activity>

當使用者點選深層連結時,系統可能會顯示消歧對話方塊。使用者可透過這個對話方塊,從多個應用程式 (包括您的應用程式) 中選取其中一個能夠處理指定的深層連結。圖 2 顯示使用者按下地圖連結後顯示的對話方塊,詢問是否要在 Google 地圖或 Chrome 中開啟連結。

圖 2. 消歧對話方塊

網頁連結是使用 HTTP 和 HTTPS 配置的深層連結。在 Android 12 以上版本中,點選網頁連結 (非 Android 應用程式連結) 一律會在網路瀏覽器中顯示內容。 在搭載舊版 Android 的裝置上,如果您的應用程式或安裝在使用者裝置上的其他應用程式也可以處理網頁連結,使用者可能無法直接前往瀏覽器。因此,他們會看到類似圖 2 所示的消歧對話方塊。

以下程式碼片段為網頁連結篩選器範例:

<intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android 應用程式連結適用於 Android 6.0 (API 級別 23) 以上版本,是使用 HTTP 和 HTTPS 配置且包含 autoVerify 屬性的網頁連結。這項屬性可讓應用程式將本身指定為特定類型的連結預設處理常式。因此,如果使用者點選 Android 應用程式連結,如果已安裝,應用程式會立即開啟,且不會出現消歧對話方塊。

如果使用者不想將應用程式設為預設處理常式,可以透過應用程式的設定覆寫這個行為。

下列程式碼片段為 Android 應用程式連結篩選器的範例:

<intent-filter android:autoVerify="true">
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT" />
    <category android:name="android.intent.category.BROWSABLE" />

    <data android:scheme="http" />
    <data android:scheme="https" />

    <data android:host="myownpersonaldomain.com" />
</intent-filter>

Android 應用程式連結提供下列優點:

  • 安全明確:Android 應用程式連結會使用連至您自有網站網域的 HTTP 網址,因此其他應用程式無法使用您的連結。Android 應用程式連結的其中一項規定是使用我們的網站關聯方法,驗證您的網域擁有權。
  • 提供流暢的使用者體驗:Android 應用程式連結針對網站和應用程式中的相同內容使用同一個 HTTP 網址,因此尚未安裝應用程式的使用者只會導向您的網站,而非應用程式,不會發生 404 錯誤,這完全不會發生錯誤。
  • 支援 Android 免安裝應用程式:透過 Android 免安裝應用程式,使用者不必安裝就能執行 Android 應用程式。如要讓 Android 應用程式支援免安裝應用程式功能,請設定 Android 應用程式連結,然後前往 g.co/InstantApps
  • 透過 Google 搜尋吸引使用者參與:使用者在行動瀏覽器、Google 搜尋應用程式、Android 螢幕搜尋、Google 助理中按一下 Google 中的網址,然後直接開啟您應用程式中的特定內容。

建立 Android 應用程式連結的一般步驟如下:

  1. 在應用程式中建立特定內容的深層連結:在應用程式資訊清單中,為網站 URI 建立意圖篩選器,並設定應用程式使用意圖的資料,將使用者帶往應用程式中的適當內容。詳情請參閱「建立應用程式內容的深層連結」。
  2. 為深層連結新增驗證程序:設定應用程式以要求驗證應用程式連結。接著,請在網站中發布 Digital Asset Links JSON 檔案,透過 Google Search Console 驗證擁有權。詳情請參閱驗證應用程式連結

除了上方連結的說明文件之外,Android 應用程式連結小幫手是 Android Studio 中的一項工具,可引導您完成建立 Android 應用程式連結所需的各項步驟。

詳情請參閱下列資源:

管理及驗證 Android 應用程式連結

您可以透過 Play 管理中心管理及驗證深層連結。應用程式成功上傳後,資訊主頁 (位於「拓展」>「深層連結」底下) 會顯示深層連結和設定錯誤的總覽。

圖 3. Play 管理中心資訊主頁「深層連結」頁面

資訊主頁提供以下部分:

  • 整體深層連結設定重點
  • 資訊清單檔案中宣告的所有網域
  • 依路徑分組的網頁連結
  • 採用自訂配置的連結
這些部分都會顯示深層連結狀態,以及發生錯誤時的修正方式。

如要進一步瞭解資訊主頁,請參閱這份指南