為免安裝應用程式建立應用程式連結

Android 免安裝應用程式是不需安裝即可執行的小型應用程式版本。使用者不必安裝 APK,只需按一下網址即可啟動應用程式。因此,所有免安裝應用程式都必須透過使用 Android 應用程式連結宣告的網址存取。本頁面說明如何為您的 Android 免安裝應用程式使用 Android 應用程式連結。

首先,我們針對應用程式連結提供了您應該瞭解的內容。

  • 如果您在應用程式中為活動建立意圖篩選器,讓使用者透過網址連結直接跳到應用程式中的特定畫面,這就是所謂的「深層連結」。不過,其他應用程式可宣告類似的網址意圖篩選器,因此系統可能會請使用者開啟哪個應用程式。如要建立這些深層連結,請參閱「建立應用程式內容的深層連結」一文。
  • 在與應用程式 HTTP 深層連結相對應的網站上發布 assetlinks.json 檔案時,您必須驗證應用程式是否為這些網址的真正擁有者。因此,您已將深層連結轉換為 Android 應用程式連結,確保使用者點選這類網址時,應用程式會立即開啟。如要建立應用程式連結,請參閱「驗證 Android 應用程式連結」。

因此,Android 應用程式連結只是網站經過驗證為擁有的 HTTP 深層連結,因此使用者不需要選擇要開啟哪些應用程式。如需更具體的說明,請參閱「深層連結和應用程式連結之間的差異」。

不過,不論是哪種情況,使用者都必須已安裝您的應用程式。如果使用者點選任一網站的連結,但未安裝您的應用程式 (而且沒有其他應用程式處理該網址意圖),系統會在網路瀏覽器中開啟網址。因此,建立免安裝應用程式可以解決這個問題,即使使用者沒有安裝應用程式,只要按下網址就能開啟您的應用程式。

當使用者在 Google 上搜尋您的應用程式時,Google 搜尋會在網址上顯示「即時」標記。

如果您已遵循「建立應用程式內容的深層連結」和「驗證 Android 應用程式連結」指南,就已經完成讓應用程式連結與免安裝應用程式搭配使用所需的大多數工作。為非即時應用程式使用應用程式連結時,需要遵守一些額外規則:

  • 做為免安裝應用程式連結使用的所有意圖篩選器,都必須同時支援 HTTP 和 HTTPS。例如:

    <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" android:host="www.example.com" />
        <data android:scheme="https" />
    </intent-filter>
    

    請注意,您不需要在第二個 <data> 元素中加入 host,因為在每個 <intent-filter> 元素中,每個 <data> 屬性的所有組合都會視為有效組合 (因此這個意圖篩選器「確實」解析 https://www.example.com)。

  • 每個網站網域只能宣告一個免安裝應用程式。這與為可安裝應用程式建立應用程式連結時不同,這是讓您將網站與多個應用程式建立關聯。)

  • 免安裝應用程式中的所有 HTTP 網址意圖篩選器都應包含在可安裝的應用程式中。這一點非常重要,因為使用者安裝完整應用程式後,輕觸網址應一律開啟安裝版應用程式,而非免安裝應用程式。
  • 您必須在免安裝應用程式和可安裝的應用程式中,至少在一個意圖篩選器中設定 autoVerify="true" (瞭解如何啟用自動驗證功能)。
  • 您必須為每個網域 (以及應用程式連結支援的子網域,使用 HTTPS 通訊協定) 發布一個 assetlinks.json。(請參閱如何支援多個主機的應用程式連結)。
  • assetlinks.json 檔案必須是有效的 JSON,且無需重新導向並且可供機器人存取 (您的 robots.txt 必須允許檢索 /.well-known/assetlinks.json)。
  • 我們不建議在意圖篩選器的主機屬性中使用萬用字元。(瞭解如何支援從多個子網域連結應用程式)。
  • 請使用不同的意圖篩選器宣告自訂主機/配置網址。
  • 確保重要字詞的熱門搜尋結果是應用程式連結網址。