Untuk mengonfigurasi sesi Cast aplikasi Anda, berikan OptionsProvider. Gunakan
objek CastOptions yang dibuat oleh penyedia untuk menetapkan ID aplikasi penerima,
mengelola siklus proses sesi, dan menyesuaikan perilaku pemutaran media.
Menggunakan penyedia opsi default
Untuk penyiapan dasar yang menggunakan aplikasi penerima Cast default, tambahkan
DefaultCastOptionsProvider ke file AndroidManifest.xml aplikasi Anda:
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
...
</application>
Membuat penyedia opsi kustom
Untuk konfigurasi yang lebih lanjutan, seperti menetapkan ID aplikasi penerima kustom, Anda harus membuat OptionsProvider sendiri.
1. Mendeklarasikan penyedia dalam manifes Anda
Pertama, deklarasikan penyedia kustom Anda di AndroidManifest.xml. Pastikan untuk menggunakan
nama class yang sepenuhnya memenuhi syarat.
<application>
...
<meta-data
android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
android:value="path.to.your.class.MyCustomCastOptionsProvider" />
...
</application>
2. Mengimplementasikan antarmuka OptionsProvider
Selanjutnya, buat class yang mengimplementasikan antarmuka OptionsProvider. Di class
ini, Anda harus mengganti getCastOptions() untuk menampilkan instance CastOptions.
Class OptionsProvider kustom adalah tempat Anda mengonfigurasi sesi Cast, misalnya, dengan menetapkan ID aplikasi penerima kustom.
Untuk informasi selengkapnya, lihat 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 public @Nullable List<SessionProvider> getAdditionalSessionProviders(Context context) { return null; } }