Android 應用程式連結是 HTTP 網址,可將使用者直接導向 Android 應用程式中的特定內容。Android 應用程式連結可以為應用程式帶來更多流量,幫助您探索最常使用的應用程式內容,也能讓使用者用更輕鬆的方式分享和尋找已安裝應用程式裡的內容。
若要新增 Android 應用程式連結支援:
- 在資訊清單中建立意圖篩選器。
- 在應用程式活動中加入程式碼,以便控制連入的連結。
- 使用 Digital Asset Links 為應用程式和網站建立關聯。
Android Studio 2.3 以上版本的應用程式連結小幫手可以簡化處理過程,用精靈的方式帶領使用者進行每個步驟,如下所示。
如果想進一步瞭解應用程式連結的運作方式和好處,請參閱「控制 Android 應用程式連結」。
新增意圖篩選器
Android Studio 的應用程式連結小幫手可以協助您在資訊清單中建立意圖篩選器,並將網站現有的網址對應到應用程式的活動。應用程式連結小幫手也會在每個對應的活動中心曾範本 Java 程式碼,以便控制意圖。
若要新增意圖篩選器和網址控制,請按照以下步驟操作:
- 選取「Tools」>「App Links Assistant」。
- 按一下「Open URL Mapping Editor」,然後再按「URL Mapping」清單底部的「Add」
,新增網址對應。
- 為新的網址對應新增詳細資料:
圖 1. 為網站連結結構新增基礎的詳細資料,以便將網址對應到應用程式活動。
- 在「Host」欄位輸入網站網址。
- 為想對應的網址加入 path、pathPrefix 或 pathPattern。舉例來說,如果您有一個分享食譜的應用程式,所有食譜都可用同個活動取得,而相對網站的食譜都在同一個 /recipe 目錄內,請用 pathPrefix 然後輸入 /recipe。如此一來,http://www.recipe-app.com/recipe/grilled-potato-salad 這個網址便可以對應到您在以下步驟所選擇的活動了。
- 點選網址應該帶領使用者前往的活動。
- 按下「OK」。
- 應用程式連結小幫手會根據網址對應,在
AndroidManifest.xml
檔案中加入意圖篩選器,並在「Preview」欄位標記出來。如果想變更任何設定,請按一下「Open AndroidManifest.xml」,即可編輯意圖篩選器。(進一步瞭解 Android 的意圖篩選器。)注意:如果想在不更新應用程式的情況下支援更多連結,您需要定義可以支援未來新增網址的網址對應。另外,記得在應用程式主畫面加入網址,以便列入搜尋結果。
- 如果想檢查網址對應是否正確,請在「Check URL Mapping」欄位中輸入網址,然後按一下「Check Mapping」。如果可以正常使用,成功訊息便會顯示您輸入的網址可以對應到您選擇的活動。
處理連入連結
確認網址對應可以正確運作後,您需要加入邏輯,以便控制您建立的意圖。
- 按一下應用程式連結小幫手的「Select Activity」。
- 從清單中選取活動,然後按一下「Insert Code」。
應用程式連結小幫手會在活動的 Java 檔案中新增類似下面這段程式碼 (請注意:應用程式連結小幫手目前不支援 Kotlin,所以您需要手動新增這段程式碼):
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) val appLinkIntent = intent val appLinkAction = appLinkIntent.action val appLinkData = appLinkIntent.data }
Java
// ATTENTION: This was auto-generated to handle app links. Intent appLinkIntent = getIntent(); String appLinkAction = appLinkIntent.getAction(); Uri appLinkData = appLinkIntent.getData();
不過,這段程式碼本身還不算完成。您現在必須根據 appLinkData
裡的網址採取行動,譬如顯示對應的內容等等。舉食譜分享應用程式的例子來說,程式碼看起來可能會像這樣:
Kotlin
override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) ... handleIntent(intent) } override fun onNewIntent(intent: Intent) { super.onNewIntent(intent) handleIntent(intent) } private fun handleIntent(intent: Intent) { val appLinkAction = intent.action val appLinkData: Uri? = intent.data if (Intent.ACTION_VIEW == appLinkAction) { appLinkData?.lastPathSegment?.also { recipeId -> Uri.parse("content://com.recipe_app/recipe/") .buildUpon() .appendPath(recipeId) .build().also { appData -> showRecipe(appData) } } } }
Java
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); ... handleIntent(getIntent()); } protected void onNewIntent(Intent intent) { super.onNewIntent(intent); handleIntent(intent); } private void handleIntent(Intent intent) { String appLinkAction = intent.getAction(); Uri appLinkData = intent.getData(); if (Intent.ACTION_VIEW.equals(appLinkAction) && appLinkData != null){ String recipeId = appLinkData.getLastPathSegment(); Uri appData = Uri.parse("content://com.recipe_app/recipe/").buildUpon() .appendPath(recipeId).build(); showRecipe(appData); } }
為應用程式和網站建立關聯
為應用程式設定網址支援後,應用程式連結小幫手會產生一組 Digital Asset Links 檔案,您可以用來為網站和應用程式建立關聯。
除了使用 Digital Asset Links 檔案之外,您也可以用 Search Console 為網站和應用程式建立關聯。
如果想用應用程式連結小幫手為應用程式和網站建立關聯,請按一下應用程式連結小幫手的「Open Digital Asset Links File Generator」,然後按照以下步驟操作:

圖 2. 輸入網站和應用程式的詳細資料,以便產生 Digital Asset Links 檔案。
- 輸入您的網站網域及應用程式 ID。
- 若要在 Digital Asset Links 檔案中加入對密碼專用 Smart Lock 功能的支援,請選取「Support sharing credentials between the app and the website」,然後輸入網站的登入網址。這樣做會在 Digital Asset Links 檔案中加入以下字串,宣告應用程式和網站分享同一組登入憑證:
delegate_permission/common.get_login_creds
進一步瞭解如何在應用程式中支援密碼專用 Smart Lock。 - 指定簽署設定,或選取 KeyStore 檔案。請確認應用程式的發布子版本和偵錯版本皆已選擇了正確的設定或 KeyStore 檔案。如果您想設定生產版本,請用發布設定。若要測試版本,請用偵錯設定。
- 按一下「Generate Digital Asset Links file」。
- 待 Android Studio 產生檔案後,按一下「Save file」下載檔案。
- 上傳
assetlinks.json
檔案到您位於https://<yoursite>/.well-known/assetlinks.json
的網站上,讀取權限設定為所有人。重要事項:系統會使用加密 HTTPS 通訊協定驗證 Digital Asset Links 檔案。請確認
assetlinks.json
檔案可以透過 HTTPS 連線存取,無論應用程式的意圖篩選器是否有https
都一樣。 - 按一下「Link and Verify」,確定您已上傳正確的 Digital Asset Links 檔案到正確的位置。
請參閱「宣告網站關聯」,進一步瞭解如何透過 Digital Asset Links 檔案為網站和應用程式建立關聯。
測試您的應用程式連結
如果想驗證連結是否可以開啟正確活動,請按照以下說明步驟操作:
- 按一下應用程式連結小幫手的「Test App Links」。
- 在「URL」欄位中輸入您想測試的網址,例如:http://recipe-app.com/recipe/grilled-potato-salad。
- 按一下「Run Test」。
- 如果網址對應設定有誤或不存在,「Test App Links」視窗的網址下方便會顯示錯誤訊息。如果對應的網址存在,Android Studio 會在裝置或模擬器指定的活動中,啟動您的應用程式,而不會顯示用來去除混淆的對話方塊 (應用程式「選擇工具」),並且在「App Link Testing」視窗內中顯示成功訊息。如果 Android Studio 無法成功啟動應用程式,Android Studio 的「Run」視窗內會顯示錯誤訊息。

圖 3. 當您測試的網址成功對應到應用程式活動時,應用程式連結小幫手會顯示成功訊息,並開啟應用程式到指定內容。
如果想透過應用程式連結小幫手測試 Android 應用程式連結,則必須有連結的裝置,或是可以執行 Android 6.0 (API 級別 23) 以上版本的虛擬裝置。如果想瞭解詳情,請參閱如何連接裝置或建立 AVD。