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

資訊主頁提供以下各節:

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

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