لضبط جلسة Cast في تطبيقك، قدِّم OptionsProvider. استخدِم عنصر
CastOptions الذي أنشأه مقدّم الخدمة لضبط رقم تعريف تطبيق الاستقبال
وإدارة مراحل نشاط الجلسات وتخصيص سلوك تشغيل الوسائط.
استخدام موفّر الخيارات التلقائي
لإجراء إعداد أساسي يستخدم تطبيق استقبال البث التلقائي، أضِف
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
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; } }