ज़रूरी शर्तें
- 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 की मदद से अपना प्रोजेक्ट बनाना लेख पढ़ें. - पुष्टि करें कि
google()को लिस्ट किए गएrepositoriesमें शामिल किया गया है.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:23.0.0' }
जब भी Google Play services को अपडेट किया जाए, तब इस वर्शन नंबर को अपडेट करना न भूलें.
ध्यान दें: अगर आपके ऐप्लिकेशन में मेथड रेफ़रंस की संख्या 65,000 से ज़्यादा है, तो हो सकता है कि आपका ऐप्लिकेशन कंपाइल न हो पाए. अपने ऐप्लिकेशन को कंपाइल करते समय, इस समस्या को कम किया जा सकता है. इसके लिए, आपको Google Play services के सभी एपीआई के बजाय, सिर्फ़ उन एपीआई की जानकारी देनी होगी जिनका इस्तेमाल आपका ऐप्लिकेशन करता है. ऐसा करने के तरीके के बारे में जानने के लिए, एपीआई को अपनी एक्ज़ीक्यूटेबल फ़ाइल में चुनिंदा तरीके से कंपाइल करना लेख पढ़ें.
- बदलावों को सेव करें और टूलबार में, Sync Project with Gradle Files पर क्लिक करें.
अन्य IDE
अपने ऐप्लिकेशन के लिए 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 को ज़रूरी क्लास हटाने से रोकने के लिए, फ़ाइल में ये लाइनें जोड़ें:
-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