處理 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 App Link) 一律會在網路瀏覽器中顯示內容。在執行舊版 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 App Link 篩選器的範例:

<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" />

    <!-- Do not include other schemes. -->
    <data android:scheme="http" />
    <data android:scheme="https" />

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

Android App Links 具備下列優點:

  • 安全且具體: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 Studio 中的 Android 應用程式連結小幫手 也是另一個建立 Android 應用程式連結的工具,可引導您完成每個步驟。

如需更多資訊,請參閱下列資源:

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

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

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

資訊主頁提供下列部分:

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

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