कास्ट करने के विकल्प

अपने ऐप्लिकेशन के कास्ट सेशन को कॉन्फ़िगर करने के लिए, OptionsProvider दें. प्रोवाइडर की ओर से बनाए गए CastOptions ऑब्जेक्ट का इस्तेमाल करके, रिसीवर ऐप्लिकेशन आईडी सेट करें, सेशन के लाइफ़साइकल मैनेज करें, और मीडिया चलाने के तरीके को अपनी पसंद के मुताबिक बनाएं.

डिफ़ॉल्ट विकल्प देने वाली सेवा का इस्तेमाल करना

डिफ़ॉल्ट Cast receiver ऐप्लिकेशन का इस्तेमाल करने वाले बेसिक सेटअप के लिए, अपने ऐप्लिकेशन की AndroidManifest.xml फ़ाइल में DefaultCastOptionsProvider जोड़ें:

<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 इंटरफ़ेस को लागू करती हो. इस क्लास में, आपको CastOptions इंस्टेंस वापस पाने के लिए, getCastOptions() को बदलना होगा. कस्टम 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
  @Nullable
  public List<SessionProvider> getAdditionalSessionProviders(Context context) {
    return null;
  }
}