Android के लिए कास्ट ऐप्लिकेशन फ़्रेमवर्क (सीएएफ़) के साथ डेवलप करने के लिए सेटअप

ज़रूरी शर्तें

Android के लिए Google Cast SDK, Google Play services SDK का हिस्सा है और यह काम करता है इन्हें अलग से डाउनलोड करने की ज़रूरत नहीं होती.

ध्यान दें: Google Play services की मदद से, आपको विज्ञापन बनाने, आंकड़े इकट्ठा करने, उपयोगकर्ताओं की पुष्टि करने, और उनकी पुष्टि करने के लिए एपीआई जिसमें मैप और और भी बहुत कुछ शामिल है. ज़्यादा जानकारी के लिए, Google Play की खास जानकारी देखें सेवाएं. आपके लिए यह पक्का करना ज़रूरी है कि Google Play services का सही APK है इंस्टॉल किया गया क्योंकि हो सकता है कि अपडेट सभी उपयोगकर्ताओं तक तुरंत न पहुंच पाएं.

अपने प्रोजेक्ट में Google Play Services जोड़ना

नीचे अपना डेवलपमेंट एनवायरमेंट चुनें और अपने प्रोजेक्ट में Google Play services को जोड़ें. इसके लिए: इसके लिए, दिए गए निर्देशों का पालन करें.

Android Studio

अपने ऐप्लिकेशन में Google Play services API उपलब्ध कराने के लिए:

  1. अपनी ऐप्लिकेशन मॉड्यूल डायरेक्ट्री में build.gradle फ़ाइल खोलें.

    ध्यान दें: Android Studio प्रोजेक्ट में टॉप-लेवल का ऐक्सेस होता है build.gradle फ़ाइल और हर मॉड्यूल के लिए एक build.gradle फ़ाइल. कृपया अपने ऐप्लिकेशन मॉड्यूल के लिए फ़ाइल में बदलाव करें. यहां जाएं: Gradle के बारे में ज़्यादा जानकारी पाने के लिए, Gradle के साथ अपना प्रोजेक्ट बनाना.

  2. पुष्टि करें कि google() को सूची repositories में शामिल किया गया है.
    repositories {
        google()
    }
    
  3. इसके नए वर्शन के लिए dependencies के तहत एक नया बिल्ड नियम जोड़ें play-services. जैसे:
    apply plugin: 'com.android.application'
        ...
    
        dependencies {
            implementation 'androidx.appcompat:appcompat:1.3.1'
            implementation 'androidx.mediarouter:mediarouter:1.2.5'
            implementation 'com.google.android.gms:play-services-cast-framework:21.5.0'
        }
    

    Google Play services को हर बार अपडेट करने पर, यह वर्शन नंबर अपडेट करना न भूलें.

    ध्यान दें: अगर आपके ऐप्लिकेशन में तरीके के रेफ़रंस की संख्या 65 हज़ार की सीमा, तो हो सकता है कि आपका ऐप्लिकेशन कंपाइल करें. अपने ऐप्लिकेशन को कंपाइल करते समय, इस समस्या को कम किया जा सकता है. ऐसा करने के लिए, सिर्फ़ के बजाय, आपके ऐप्लिकेशन में Google Play सेवाओं के खास एपीआई का इस्तेमाल किया जाता है. जानकारी के लिए इस बारे में ज़्यादा जानने के लिए, एपीआई को चुनिंदा अपने एक्ज़ीक्यूटेबल में कंपाइल करना.

  4. बदलावों को सेव करें और टूलबार में Gradle फ़ाइलों के साथ प्रोजेक्ट सिंक करें पर क्लिक करें.

अन्य IDE

अपने ऐप्लिकेशन में Google Play services API उपलब्ध कराने के लिए:

  1. लाइब्रेरी प्रोजेक्ट को यहां कॉपी करें <android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/ उस जगह पर जाएं जहां आपके Android ऐप्लिकेशन प्रोजेक्ट मैनेज किए जाते हैं.
  2. अपने ऐप्लिकेशन प्रोजेक्ट में, Google Play services की लाइब्रेरी प्रोजेक्ट का रेफ़रंस दें. यहां जाएं: इसे करने के तरीके के बारे में ज़्यादा जानकारी के लिए, कमांड लाइन पर लाइब्रेरी प्रोजेक्ट का संदर्भ दें.

    ध्यान दें: आपको लाइब्रेरी की एक कॉपी का रेफ़रंस देना चाहिए, जिसमें आपके डेवलपमेंट वर्कस्पेस में कॉपी किया जाता है—तो आपको लाइब्रेरी को सीधे Android SDK की डायरेक्ट्री.

  3. अपने ऐप्लिकेशन प्रोजेक्ट के लिए, डिपेंडेंसी के तौर पर Google Play services की लाइब्रेरी को जोड़ने के बाद, अपने ऐप्लिकेशन की मेनिफ़ेस्ट फ़ाइल खोलें और यहां दिए गए टैग को <application> एलिमेंट:
    <meta-data android:name="com.google.android.gms.version"
        android:value="@integer/google_play_services_version" />
    

लाइब्रेरी प्रोजेक्ट का रेफ़रंस देने के लिए, प्रोजेक्ट सेट अप करने के बाद, सुविधाएँ शामिल हैं Google Play services के एपीआई.

ProGuard को अपवाद बनाएं

बचाव के लिए ProGuard को हटाने से रोकने के लिए ज़रूरी क्लास के लिए, /proguard-project.txt फ़ाइल:

-keep public class com.google.android.gms.common.internal.safeparcel.SafeParcelable {
    public static final *** NULL;
}

-keepnames class * implements android.os.Parcelable
-keepclassmembers class * implements android.os.Parcelable {
  public static final *** CREATOR;
}

-keep @interface android.support.annotation.Keep
-keep @android.support.annotation.Keep class *
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <fields>;
}
-keepclasseswithmembers class * {
  @android.support.annotation.Keep <methods>;
}

-keep @interface com.google.android.gms.common.annotation.KeepName
-keepnames @com.google.android.gms.common.annotation.KeepName class *
-keepclassmembernames class * {
  @com.google.android.gms.common.annotation.KeepName *;
}

-keep @interface com.google.android.gms.common.util.DynamiteApi
-keep public @com.google.android.gms.common.util.DynamiteApi class * {
  public <fields>;
  public <methods>;
}

-dontwarn android.security.NetworkSecurityPolicy