處理 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 管理中心資訊主頁的「深層連結」頁面

資訊主頁提供以下部分:

  • 整體深層連結設定的重點內容
  • 資訊清單檔案中宣告的所有網域
  • 按路徑分組的網頁連結
  • 具有自訂配置的連結
以下各節都會顯示深層連結狀態,以及發生錯誤時修正方法。

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