Per configurare la sessione di Cast della tua app, fornisci un OptionsProvider. Utilizza l'oggetto
CastOptions creato dal provider per impostare l'ID dell'applicazione ricevitore,
gestire i cicli di vita delle sessioni e personalizzare il comportamento di riproduzione dei contenuti multimediali.
Utilizzare il provider di opzioni predefinito
Per una configurazione di base che utilizza l'applicazione ricevitore Cast predefinita, aggiungi DefaultCastOptionsProvider al file AndroidManifest.xml della tua app:
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
...
</application>
Creare un provider di opzioni personalizzato
Per configurazioni più avanzate, ad esempio l'impostazione di un ID dell'applicazione ricevitore personalizzato, devi creare il tuo OptionsProvider.
1. Dichiarare il provider nel manifest
Innanzitutto, dichiara il provider personalizzato in AndroidManifest.xml. Assicurati di utilizzare il nome completo della classe.
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
...
</application>
2. Implementare l'interfaccia OptionsProvider
Successivamente, crea una classe che implementi l'interfaccia OptionsProvider. In questa
classe, devi sostituire getCastOptions() per restituire un'istanza CastOptions.
La classe OptionsProvider personalizzata è il punto in cui configuri la sessione di Cast, ad esempio impostando l'ID dell'applicazione ricevitore personalizzato.
Per saperne di più, consulta CastOptions.Builder.
Kotlin
class MyCustomCastOptionsProvider : OptionsProvider { override fun getCastOptions(context: Context): CastOptions { return CastOptions.Builder() .setReceiverApplicationId(APP_ID) .setRemoteToLocalEnabled(true) .build() } override fun getAdditionalSessionProviders(context: Context): List<SessionProvider>? { return null } companion object { // Add your receiver app ID in <APP_ID>. private const val APP_ID = "<APP_ID>" } }
Java
public static final class MyCustomCastOptionsProvider implements OptionsProvider { // Add your receiver app ID in <APP_ID>. public static final String APP_ID = "<APP_ID>"; @Override public CastOptions getCastOptions(Context context) { return new CastOptions.Builder() .setReceiverApplicationId(APP_ID) .setRemoteToLocalEnabled(true) .build(); } @Override @Nullable public List<SessionProvider> getAdditionalSessionProviders(Context context) { return null; } }