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 bildirin

Ö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

import android.content.Context
import com.google.android.gms.cast.framework.CastOptions
import com.google.android.gms.cast.framework.OptionsProvider
import com.google.android.gms.cast.framework.SessionProvider

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

import android.content.Context;
import com.google.android.gms.cast.framework.CastOptions;
import com.google.android.gms.cast.framework.OptionsProvider;
import com.google.android.gms.cast.framework.SessionProvider;
import java.util.List;

public 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 List<SessionProvider> getAdditionalSessionProviders(Context context) {
    return null;
  }
}