Dokumen ini bertujuan untuk menjelaskan cara developer aplikasi pihak ketiga (pihak ketiga) 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 dibuka di AAOS, deep link akan membuka aplikasi media yang menangani skema tertentu. Aplikasi media kemudian mendekode URL, membuat intent Media dengan informasi di link tersebut, lalu menggunakan intent tersebut untuk membuka layar media.
Implementasi untuk mendukung intent baru dan tambahan baru:
Memberikan format intent terbaru yang dapat ditangani oleh Media kepada developer pihak ketiga sehingga mereka dapat mengirim informasi yang diperlukan melalui intent ke Media.
Menangani intent dari aplikasi pihak ketiga yang berisi item media atau kueri penelusuran tertentu, 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
diberikan sebagai contoh.
Langkah 1
Developer harus memiliki aktivitas yang mirip dengan TmaTrampolineActivity
di
TestMediaApp
. Untuk deep link, 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 tambahan intent.
Informasi intent
Untuk menggunakan fitur ini, developer harus menginstal Media
versi terbaru untuk mendukung tindakan Intent, ACTION_MEDIA_TEMPLATE_V2
. Tindakan Intent, dan tambahan intent berikut, disertakan dalam
class MediaIntentExtras.java
. Tambahan ini dapat ditambahkan ke intent.
Nama tambahan | 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 Jelajahi. 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. Tambahan ini hanya boleh digunakan dengan EXTRA_KEY_SEARCH_QUERY. Jika tambahan ini tidak ditentukan, tidak ada tindakan lebih lanjut yang dilakukan setelah hasil penelusuran dimuat. |
Kasus tertentu
Jika beberapa tambahan ditambahkan ke intent secara bersamaan, seperti
EXTRA_KEY_MEDIA_ID
dan EXTRA_KEY_SEARCH_QUERY
disertakan dalam intent ini,
implementasi saat ini akan menangani ID media terlebih dahulu, dan hanya jika ID
media kosong, Media akan 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"