لضبط إعدادات جلسة 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; } }