ज़रूरी शर्तें
- Android SDK मैनेजर का इस्तेमाल करके, Android SDK का नया वर्शन इंस्टॉल करें.
- Android SDK मैनेजर का इस्तेमाल करके, appcompat और mediarouter AndroidX लाइब्रेरी के नए वर्शन इंस्टॉल करें.
- Android SDK मैनेजर का इस्तेमाल करके, Google Play services में Cast SDK का नया वर्शन इंस्टॉल करें.
Android के लिए Google Cast SDK, Google Play services SDK का हिस्सा है. इसे अलग से डाउनलोड करने की ज़रूरत नहीं है.
ध्यान दें: Google Play services की मदद से, आपको विज्ञापन बनाने, आंकड़ों का कलेक्शन करने, उपयोगकर्ताओं की पुष्टि करने, मैप इंटिग्रेट करने, और अन्य काम करने के लिए कई तरह के एपीआई का ऐक्सेस मिलता है. ज़्यादा जानकारी के लिए, Google Play services की खास जानकारी देखें. यह पक्का करना ज़रूरी है कि उपयोगकर्ता के डिवाइस पर, Google Play services का सही APK इंस्टॉल हो. ऐसा इसलिए, क्योंकि हो सकता है कि अपडेट तुरंत सभी उपयोगकर्ताओं तक न पहुंचें.
अपने प्रोजेक्ट में Google Play services जोड़ना
यहां अपना डेवलपमेंट एनवायरमेंट चुनें और दिए गए चरणों को फ़ॉलो करके, अपने प्रोजेक्ट में Google Play services जोड़ें.
Android Studio
अपने ऐप्लिकेशन के लिए, Google Play services के एपीआई उपलब्ध कराने के लिए:
- अपने ऐप्लिकेशन मॉड्यूल की डायरेक्ट्री में मौजूद
build.gradleफ़ाइल खोलें.ध्यान दें: Android Studio के प्रोजेक्ट में, सबसे ऊपर के लेवल पर एक
build.gradleफ़ाइल होती है. इसके अलावा, हर मॉड्यूल के लिए एकbuild.gradleफ़ाइल होती है. पक्का करें कि आपने अपने ऐप्लिकेशन मॉड्यूल के लिए फ़ाइल में बदलाव किया हो. Gradle के बारे में ज़्यादा जानकारी के लिए, Gradle की मदद से अपना प्रोजेक्ट बनाना लेख पढ़ें. - पक्का करें कि सूची में शामिल
repositoriesमेंgoogle()शामिल हो.repositories {google() } play-servicesके नए वर्शन के लिए,dependenciesमें एक नया बिल्ड नियम जोड़ें. उदाहरण के लिए: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:22.3.1' }
पक्का करें कि Google Play services के अपडेट होने पर, आपने इस वर्शन नंबर को अपडेट कर दिया हो.
ध्यान दें: अगर आपके ऐप्लिकेशन में, मेथड रेफ़रंस की संख्या 65 हज़ार की सीमा से ज़्यादा है, तो हो सकता है कि आपका ऐप्लिकेशन कंपाइल न हो पाए. अपने ऐप्लिकेशन को कंपाइल करते समय, इस समस्या को कम किया जा सकता है. इसके लिए, अपने ऐप्लिकेशन में इस्तेमाल होने वाले Google Play services के सिर्फ़ उन एपीआई को शामिल करें जिनका इस्तेमाल किया जाता है. सभी एपीआई को शामिल न करें. ऐसा करने के तरीके के बारे में जानने के लिए, अपने एक्ज़ीक्यूटेबल में चुनिंदा एपीआई कंपाइल करना लेख पढ़ें.
- बदलाव सेव करें और टूलबार में Gradle फ़ाइलों के साथ प्रोजेक्ट सिंक करें पर क्लिक करें.
अन्य आईडीई
अपने ऐप्लिकेशन के लिए, Google Play services के एपीआई उपलब्ध कराने के लिए:
- लाइब्रेरी प्रोजेक्ट को
<android-sdk>/extras/google/google_play_services/libproject/google-play-services_lib/से उस जगह पर कॉपी करें जहां आपके Android ऐप्लिकेशन के प्रोजेक्ट मौजूद हैं. - अपने ऐप्लिकेशन प्रोजेक्ट में, Google Play services की लाइब्रेरी प्रोजेक्ट का रेफ़रंस दें. ऐसा करने के तरीके के बारे में ज़्यादा जानकारी के लिए,
कमांड लाइन पर लाइब्रेरी प्रोजेक्ट का रेफ़रंस देना लेख पढ़ें.
ध्यान दें: आपको लाइब्रेरी की उस कॉपी का रेफ़रंस देना चाहिए जिसे आपने अपने डेवलपमेंट वर्कस्पेस में कॉपी किया है. आपको Android SDK डायरेक्ट्री से सीधे तौर पर लाइब्रेरी का रेफ़रंस नहीं देना चाहिए.
- अपने ऐप्लिकेशन प्रोजेक्ट के लिए, 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 को रोकने के लिए, ये लाइनें
फ़ाइल में जोड़ें:
-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