خيارات البث

لضبط إعدادات جلسة Cast في تطبيقك، عليك تقديم OptionsProvider. استخدِم عنصر CastOptions الذي أنشأه الموفّر لضبط معرّف تطبيق جهاز الاستقبال وإدارة دورات حياة الجلسات وتخصيص سلوك تشغيل الوسائط.

استخدام موفّر الخيارات التلقائي

لإعداد أساسي يستخدم تطبيق Cast Receiver التلقائي، أضِف DefaultCastOptionsProvider إلى ملف AndroidManifest.xml في تطبيقك:

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

إنشاء موفّر خيارات مخصّص

لإجراء إعدادات أكثر تقدّمًا، مثل ضبط معرّف تطبيق جهاز استقبال مخصّص، عليك إنشاء OptionsProvider الخاص بك.

‫1. تحديد موفّر المحتوى في ملف البيان

أولاً، عليك تعريف موفّر الخدمة المخصّص في AndroidManifest.xml. احرص على استخدام اسم الفئة المؤهَّل بالكامل.

<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

بعد ذلك، أنشئ فئة تنفّذ واجهة OptionsProvider. في هذه الفئة، يجب إلغاء getCastOptions() لعرض مثيل CastOptions. فئة OptionsProvider المخصّصة هي المكان الذي يمكنك فيه ضبط جلسة Cast، مثلاً من خلال ضبط رقم تعريف تطبيق جهاز الاستقبال المخصّص.

لمزيد من المعلومات، يُرجى الاطّلاع على CastOptions.Builder.

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