本文旨在說明第三方 (3P) 應用程式開發人員如何為 AAOS 媒體應用程式新增深層連結。媒體深層連結可讓您透過深層連結開啟 AAOS Media 應用程式,就像在行動裝置上開啟應用程式一樣。
支援的版本
如要取得最新的支援版本,請參閱最新的建構構件。
CarMediaApp.apk
TestMediaApp.apk
運作方式
在 AAOS 上開啟深層連結時,會開啟處理特定配置的媒體應用程式。媒體應用程式接著解碼網址,使用該連結中的資訊建立媒體意圖,然後使用該意圖開啟媒體畫面。
支援新意圖和新額外項目的實作方式:
提供更新版意圖格式,可由媒體傳送給第三方開發人員,以便他們透過意圖傳送必要資訊給媒體。
處理來自第三方應用程式 (含有特定媒體項目或搜尋查詢) 的意圖,然後在媒體中開啟含有要求資訊的頁面。
第三方開發人員必須負責更新應用程式,讓應用程式能夠透過網頁 URI 意圖叫用,並透過意圖將必要資訊傳送至媒體。
第三方應用程式規定
TestMediaApp
應用程式中的 TmaTrampolineActivity
為範例。
步驟 1
開發人員必須擁有類似 TmaTrampolineActivity
的活動,才能在 TestMediaApp
中執行。如要建立深層連結,此活動需要在資訊清單中設定意圖篩選器。這個意圖篩選器應包含所有要處理的網址,如「新增意圖篩選器以處理傳入連結」一節所述。
建議您在意圖篩選器中加入手機版應用程式使用的配置和主機,確保深層連結可跨平台運作。
<activity android:name=".automotive.TmaTrampolineActivity"
android:exported="true">
<intent-filter android:label="TmaTrampolineActivity_label">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="app"
android:host="com.android.car.media.testmediaapp"/>
</intent-filter>
</activity>
步驟 2
在這個活動中,Media 應用程式會從連結擷取資訊,並建立對 Media 的意圖。
Media 支援兩種功能。第一個函式可開啟含有特定媒體項目的媒體項目,第二個函式則可顯示搜尋查詢的結果。意圖額外資料必須包含媒體項目 ID 或搜尋查詢字串。
意圖資訊
如要使用這項功能,開發人員必須安裝最新版本的 Media,以支援 Intent 動作 ACTION_MEDIA_TEMPLATE_V2
。意圖動作和下列意圖額外項目已納入 MediaIntentExtras.java
類別。這些額外資料可新增至意圖。
額外名稱 | 值 | 說明 |
---|---|---|
EXTRA_KEY_MEDIA_COMPONENT | 字串,用於 componentName | 用於指定使用者要啟動媒體的 MediaBrowserService 時,以字串額外欄位形式使用此鍵。如果未指定,系統會開啟目前的媒體來源。 |
EXTRA_KEY_MEDIA_ID | 媒體 ID | 此鍵值會做為字串額外欄位使用,並搭配 ACTION_MEDIA_TEMPLATE_V2 指定應在「瀏覽」檢視畫面中顯示的媒體項目。必須與 MediaBrowserServiceCompat API 中使用的 ID 相符。 |
EXTRA_KEY_SEARCH_QUERY | 搜尋查詢 | 用於指定要傳送至目前 MediaBrowserService 或使用 EXTRA_KEY_MEDIA_COMPONENT 指定的 MediaBrowserService 的搜尋查詢的字串額外欄位 |
EXTRA_KEY_SEARCH_ACTION | 整數:
|
此鍵值會做為 int 額外欄位使用,並搭配 ACTION_MEDIA_TEMPLATE_V2,指定媒體在載入搜尋查詢後要執行的動作。 值為 EXTRA_VALUE_NO_SEARCH_ACTION 或 EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH 這個額外項目應只與 EXTRA_KEY_SEARCH_QUERY 搭配使用。 如果未指定這項額外資訊,系統就不會在載入搜尋結果後採取進一步行動。 |
特殊情況
如果有幾個額外項目一起新增至意圖,例如意圖中同時包含 EXTRA_KEY_MEDIA_ID
和 EXTRA_KEY_SEARCH_QUERY
,目前的實作會先處理媒體 ID,只有在媒體 ID 為空白時,Media 才會執行搜尋查詢。
測試
第三方媒體應用程式整合完成後,請使用 adb
指令傳送深層連結。媒體會開啟並顯示所需資訊。例如,以下是 TestMediaApp
的命令:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"