Dokumen ini bertujuan untuk menjelaskan cara developer aplikasi pihak ketiga (3P) dapat menambahkan deep link ke aplikasi media AAOS. Deep link media memungkinkan Anda membuka aplikasi Media AAOS melalui deep link dengan cara yang sama seperti di perangkat seluler.
Versi yang didukung
Untuk mendapatkan versi terbaru yang didukung, lihat Artefak Build terbaru.
CarMediaApp.apk
TestMediaApp.apk
Cara kerjanya
Saat deep link dibuka di AAOS, aplikasi media yang menangani skema tertentu akan terbuka. Aplikasi media kemudian mendekode URL, membuat intent Media dengan informasi dalam link tersebut, lalu menggunakan intent tersebut untuk membuka layar media.
Implementasi untuk mendukung intent baru dan ekstra baru:
Menyediakan format terbaru dari maksud (intent) yang dapat ditangani oleh Media kepada developer pihak ketiga sehingga mereka dapat mengirimkan informasi yang diperlukan melalui maksud (intent) ke Media.
Menangani intent dari aplikasi pihak ketiga yang berisi item media tertentu atau kueri penelusuran, lalu membuka halaman dengan informasi yang diminta di Media.
Developer pihak ketiga bertanggung jawab untuk mengupdate aplikasi mereka agar aplikasi dapat dipanggil oleh intent URI web dan mengirim informasi yang diperlukan ke Media melalui intent.
Persyaratan untuk aplikasi pihak ketiga
TmaTrampolineActivity
di aplikasi TestMediaApp
disediakan sebagai contoh.
Langkah 1
Developer harus memiliki aktivitas yang mirip dengan TmaTrampolineActivity
di
TestMediaApp
. Untuk penautan mendalam, aktivitas ini memerlukan filter intent dalam
manifes. Filter intent ini harus menyertakan semua URL yang akan ditangani
seperti yang dijelaskan dalam Menambahkan filter intent untuk link masuk.
Sebaiknya filter intent menyertakan skema dan host yang digunakan aplikasi versi ponsel untuk memastikan deep link berfungsi di seluruh platform.
<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>
Langkah 2
Dalam aktivitas ini, aplikasi Media mengambil informasi dari link dan membuat intent ke Media.
Media mendukung dua fungsi. Fungsi pertama adalah membuka item media dengan item media tertentu dan fungsi kedua adalah menampilkan hasil kueri penelusuran. ID item media atau string kueri penelusuran harus disertakan dalam ekstra intent.
Informasi niat
Untuk menggunakan fitur ini, developer harus menginstal versi terbaru Media untuk mendukung tindakan Intent, ACTION_MEDIA_TEMPLATE_V2
. Tindakan
Intent, dan ekstra intent berikut, disertakan dalam
class MediaIntentExtras.java
. Tambahan ini dapat ditambahkan ke intent.
Nama ekstra | Nilai | Deskripsi |
---|---|---|
EXTRA_KEY_MEDIA_COMPONENT | String untuk componentName | Kunci yang digunakan sebagai kolom tambahan string dengan ACTION_MEDIA_TEMPLATE_V2 untuk menentukan MediaBrowserService tempat pengguna ingin memulai media. Jika tidak ditentukan, sumber media aktif akan dibuka. |
EXTRA_KEY_MEDIA_ID | ID Media | Kunci yang digunakan sebagai kolom tambahan string dengan ACTION_MEDIA_TEMPLATE_V2 menentukan item media yang harus ditampilkan di tampilan Browse. Harus cocok dengan ID yang digunakan di MediaBrowserServiceCompat API. |
EXTRA_KEY_SEARCH_QUERY | Kueri penelusuran | Kunci yang digunakan sebagai kolom tambahan string dengan ACTION_MEDIA_TEMPLATE_V2 untuk menentukan kueri penelusuran yang akan dikirim ke MediaBrowserService saat ini atau yang ditentukan dengan EXTRA_KEY_MEDIA_COMPONENT |
EXTRA_KEY_SEARCH_ACTION | Bilangan bulat:
|
Kunci yang digunakan sebagai kolom tambahan int dengan ACTION_MEDIA_TEMPLATE_V2
untuk menentukan tindakan yang akan dilakukan Media setelah kueri penelusuran dimuat.
Nilainya adalah salah satu dari EXTRA_VALUE_NO_SEARCH_ACTION atau EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. Ekstra ini hanya boleh digunakan dengan EXTRA_KEY_SEARCH_QUERY. Jika ekstra ini tidak ditentukan, tidak ada tindakan lebih lanjut yang dilakukan setelah hasil penelusuran dimuat. |
Kasus tertentu
Jika beberapa ekstra ditambahkan ke intent secara bersamaan, seperti EXTRA_KEY_MEDIA_ID
dan EXTRA_KEY_SEARCH_QUERY
disertakan dalam intent ini,
implementasi saat ini menangani ID media terlebih dahulu, dan hanya saat ID media
kosong, Media menjalankan kueri penelusuran.
Tes
Setelah integrasi aplikasi media pihak ketiga selesai, gunakan perintah adb
untuk mengirim
deep link. Media akan terbuka dengan informasi yang diinginkan. Misalnya, perintah
ini untuk TestMediaApp
:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"