El objetivo de este documento es describir cómo los desarrolladores de apps de terceros (3P) pueden agregar vínculos directos a las apps de música para AAOS. Los vínculos directos de música te permiten abrir apps de música para AAOS a través de vínculos directos de la misma manera que en un dispositivo móvil.
Versiones compatibles
Para obtener la versión compatible más reciente, consulta los artefactos de compilación más recientes Build Artifacts.
CarMediaApp.apkTestMediaApp.apk
Cómo funciona
Cuando se abre un vínculo directo en AAOS, se abre la app de música que controla el esquema en particular. Luego, la app de música decodifica la URL, crea un intent de música con la información de ese vínculo y, luego, usa ese intent para abrir la pantalla de música.
La implementación para admitir intents y objetos adicionales nuevos es la siguiente:
Proporciona un formato actualizado de los intents que pueden controlar los desarrolladores de música a terceros para que puedan enviar la información necesaria a través del intent a la música.
Controla los intents de las apps de terceros que contienen un elemento de música específico o una búsqueda y, luego, abre una página con la información solicitada en la música.
Los desarrolladores de terceros son responsables de actualizar su app para que los intents de URI web puedan invocarla y enviar la información necesaria a la música a través de un intent.
Requisitos para las apps de terceros
Se proporciona TmaTrampolineActivity en la app TestMediaApp como ejemplo.
Paso 1
Los desarrolladores deben tener una actividad similar a TmaTrampolineActivity en TestMediaApp. Para usar vínculos directos, esta actividad necesita un filtro de intents en el manifiesto. Este filtro de intents debe incluir todas las URLs que se controlarán
como se describe en Cómo agregar filtros de intents para vínculos entrantes.
Sugerimos que el filtro de intents incluya los esquemas y los hosts que usa la app de la versión para teléfonos para asegurarse de que los vínculos directos funcionen en todas las plataformas.
<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>
Paso 2
En esta actividad, la app de música recupera la información del vínculo y crea un intent para la música.
La música admite dos funciones. La primera función es abrir un elemento de música con un elemento de música específico, y la segunda es mostrar los resultados de una búsqueda. El ID del elemento de música o la cadena de búsqueda deben incluirse en el objeto adicional del intent.
Información del intent
Para usar esta función, los desarrolladores deben instalar la versión más reciente de la música para admitir la acción de intent, ACTION_MEDIA_TEMPLATE_V2. La acción de intent y los siguientes objetos adicionales del intent se incluyen en la clase MediaIntentExtras.java. Estos objetos adicionales se pueden agregar al intent.
| Nombre del objeto adicional | Valor | Descripción |
|---|---|---|
| EXTRA_KEY_MEDIA_COMPONENT | Cadena para componentName | Clave que se usa como un campo adicional de cadena con ACTION_MEDIA_TEMPLATE_V2 para especificar el MediaBrowserService en el que el usuario quiere iniciar la música. Si no se especifica, se abre la fuente de música activa. |
| EXTRA_KEY_MEDIA_ID | ID de música | Clave que se usa como un campo adicional de cadena con ACTION_MEDIA_TEMPLATE_V2 para especificar el elemento de música que se debe mostrar en la vista Explorar. Debe coincidir con los IDs que se usan en la API de MediaBrowserServiceCompat. |
| EXTRA_KEY_SEARCH_QUERY | Búsqueda | Clave que se usa como un campo adicional de cadena con ACTION_MEDIA_TEMPLATE_V2 para especificar la búsqueda que se enviará al MediaBrowserService actual o al especificado con EXTRA_KEY_MEDIA_COMPONENT. |
| EXTRA_KEY_SEARCH_ACTION | Número entero:
|
Clave que se usa como un campo adicional de int con ACTION_MEDIA_TEMPLATE_V2
para especificar la acción que debe realizar la música después de que se carga la búsqueda.
El valor es uno de EXTRA_VALUE_NO_SEARCH_ACTION o EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. Este objeto adicional solo debe usarse con EXTRA_KEY_SEARCH_QUERY. Si no se especifica este objeto adicional, no se realiza ninguna otra acción después de que se cargan los resultados de la búsqueda. |
Casos especiales
Si se agregan varios objetos adicionales al intent juntos, como EXTRA_KEY_MEDIA_ID y EXTRA_KEY_SEARCH_QUERY, la implementación actual controla el ID de música primero y, solo cuando el ID de música está vacío, la música ejecuta la búsqueda.
Prueba
Una vez que se complete la integración de la app de música de terceros, usa un comando adb para enviar un vínculo directo. La música se abre con la información deseada. Por ejemplo, este comando para TestMediaApp:
adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"