Yayınlama Seçenekleri

Uygulamanızın yayın oturumunu yapılandırmak için OptionsProvider sağlayın. Alıcı uygulama kimliğini ayarlamak, oturum yaşam döngülerini yönetmek ve medya oynatma davranışını özelleştirmek için sağlayıcı tarafından oluşturulan CastOptions nesnesini kullanın.

Varsayılan seçenek sağlayıcıyı kullanma

Varsayılan Cast alıcı uygulamasını kullanan temel bir kurulum için uygulamanızın AndroidManifest.xml dosyasına DefaultCastOptionsProvider öğesini ekleyin:

<application>
  ...
  <meta-data
    android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
    android:value="androidx.media3.cast.DefaultCastOptionsProvider" />
  ...
</application>

Özel seçenek sağlayıcı oluşturma

Özel alıcı uygulama kimliği ayarlama gibi daha gelişmiş yapılandırmalar için kendi OptionsProvider nesnenizi oluşturmanız gerekir.

1. Sağlayıcıyı manifest dosyanızda bildirme

Öncelikle özel sağlayıcınızı AndroidManifest.xml içinde tanımlayın. Tam nitelikli sınıf adını kullandığınızdan emin olun.

<application>
  ...
  <meta-data
    android:name="com.google.android.gms.cast.framework.OPTIONS_PROVIDER_CLASS_NAME"
    android:value="path.to.your.class.MyCustomCastOptionsProvider" />
  ...
</application>

2. OptionsProvider arayüzünü uygulama

Ardından, OptionsProvider arayüzünü uygulayan bir sınıf oluşturun. Bu sınıfta, bir CastOptions örneği döndürmek için getCastOptions() yöntemini geçersiz kılmanız gerekir. Özel OptionsProvider sınıfı, Cast oturumunuzu yapılandırdığınız yerdir. Örneğin, özel alıcı uygulama kimliğinizi ayarlayarak yapılandırabilirsiniz.

Daha fazla bilgi için CastOptions.Builder başlıklı makaleyi inceleyin.

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