Yayınlama Seçenekleri

Uygulamanızın Cast 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 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ı uygulaması kimliği ayarlama gibi daha gelişmiş yapılandırmalar için kendi OptionsProvider öğenizi oluşturmanız gerekir.

1. Sağlayıcıyı manifest dosyanızda tanımlayın

Öncelikle, özel sağlayıcınızı AndroidManifest.xml içinde beyan edin. 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, getCastOptions() örneği döndürmek için getCastOptions() işlevini geçersiz kılmanız gerekir.CastOptions Özel OptionsProvider sınıfı, Cast oturumunuzu yapılandırdığınız yerdir. Örneğin, özel alıcı uygulama kimliğinizi ayarlayabilirsiniz.

Daha fazla bilgi için CastOptions.Builder sayfasına bakın.

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