Integrare i link diretti alle app multimediali

Lo scopo di questo documento è descrivere in che modo gli sviluppatori di app di terze parti possono aggiungere link diretti alle app multimediali AAOS. I link diretti ai contenuti multimediali ti consentono di aprire le app AAOS Media tramite link diretti, come su un dispositivo mobile.

Versioni supportate

Per ottenere la versione supportata più recente, consulta gli elementi di compilazione più recenti.

  • CarMediaApp.apk
  • TestMediaApp.apk

Come funziona

Quando un link diretto viene aperto su AAOS, si apre l'app multimediale che gestisce il particolare schema. L'app multimediale decodifica quindi l'URL, creando un intent Media con le informazioni contenute nel link e utilizzandolo per aprire la schermata multimediale.

L'implementazione per supportare nuovi intent e nuovi extra:

  • Fornisce un formato aggiornato degli intent che possono essere gestiti dagli sviluppatori di terze parti per i media in modo che possano inviare le informazioni necessarie tramite l'intent ai media.

  • Gestisce le intenzioni delle app di terze parti che contengono un elemento multimediale specifico o una query di ricerca, quindi apre una pagina con le informazioni richieste in Media.

Gli sviluppatori di terze parti sono responsabili dell'aggiornamento della propria app in modo che possa essere invocata dagli intent URI web e inviare le informazioni necessarie ai media tramite un intent.

Requisito per le app di terze parti

TmaTrampolineActivity nell'app TestMediaApp è fornito come esempio.

Passaggio 1

Gli sviluppatori devono avere un'attività simile a TmaTrampolineActivity in TestMediaApp. Per il link diretto, questa attività richiede un filtro per intent nel file manifest. Questo filtro per intent deve includere tutti gli URL da gestire come descritto in Aggiungere filtri per intent per i link in entrata.

Ti consigliamo di includere nel filtro intent gli schemi e gli host utilizzati dall'app per la versione per smartphone per assicurarti che i link diretti funzionino su più piattaforme.

<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>

Passaggio 2

In questa attività, l'app Media recupera le informazioni dal link e crea un'intenzione per i contenuti multimediali.

Media supporta due funzioni. La prima funzione serve ad aprire un elemento multimediale con un elemento multimediale specifico e la seconda a mostrare i risultati di una query di ricerca. L'ID elemento multimediale o la stringa della query di ricerca deve essere incluso nell'intent extra.

Informazioni sull'intenzione

Per utilizzare questa funzionalità, gli sviluppatori devono installare la versione più recente di Media per supportare l'azione Intent, ACTION_MEDIA_TEMPLATE_V2. L'azione Intent e i seguenti extra intent sono inclusi nella classe MediaIntentExtras.java. Questi extra possono essere aggiunti all'intent.

Nome extra Valore Descrizione
EXTRA_KEY_MEDIA_COMPONENT Stringa per componentName Chiave utilizzata come campo extra di stringa con ACTION_MEDIA_TEMPLATE_V2 per specificare il MediaBrowserService su cui l'utente vuole avviare i contenuti multimediali. Se non specificato, viene aperta l'origine multimediale attiva.
EXTRA_KEY_MEDIA_ID ID elemento multimediale Chiave utilizzata come campo extra di stringa con ACTION_MEDIA_TEMPLATE_V2 specifica l'elemento multimediale da visualizzare nella vista Sfoglia. Deve corrispondere agli ID utilizzati nell'API MediaBrowserServiceCompat.
EXTRA_KEY_SEARCH_QUERY Query di ricerca Chiave utilizzata come campo extra di stringa con ACTION_MEDIA_TEMPLATE_V2 per specificare la query di ricerca da inviare all'attuale MediaBrowserService o a quello specificato con EXTRA_KEY_MEDIA_COMPONENT
EXTRA_KEY_SEARCH_ACTION

Numero intero:

  • 0: EXTRA_VALUE_NO_SEARCH_ACTION
  • 1: EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH
Chiave utilizzata come campo extra int con ACTION_MEDIA_TEMPLATE_V2 per specificare l'azione da eseguire per i contenuti multimediali dopo il caricamento della query di ricerca.

Il valore deve essere EXTRA_VALUE_NO_SEARCH_ACTION o EXTRA_VALUE_PLAY_FIRST_ITEM_FROM_SEARCH. Questo extra deve essere utilizzato solo con EXTRA_KEY_SEARCH_QUERY.

Se questo extra non è specificato, non viene eseguita alcuna azione aggiuntiva dopo il caricamento dei risultati di ricerca.

Casi particolari

Se all'intent vengono aggiunti più extra contemporaneamente, ad esempio se EXTRA_KEY_MEDIA_ID e EXTRA_KEY_SEARCH_QUERY sono inclusi in questo intent, l'implementazione attuale gestisce prima l'ID media e solo quando l'ID media è vuoto, Media esegue la query di ricerca.

Test

Una volta completata l'integrazione dell'app multimediale di terze parti, utilizza un comando adb per inviare un link diretto. I contenuti multimediali si aprono con le informazioni desiderate. Ad esempio, questo comando per TestMediaApp:

adb shell am start -W -a android.intent.action.VIEW -d "https://www.testmediaapp.com/path?search=normal\&searchAction=1"