इस पेज में बताया गया है कि क्विकस्टार्ट में बताए गए Google Maps टेंप्लेट का इस्तेमाल किए बिना, Android के लिए Maps SDK टूल का इस्तेमाल करने के लिए, Android Studio प्रोजेक्ट को कैसे कॉन्फ़िगर किया जाए.
Google Maps टेंप्लेट अपने-आप कॉन्फ़िगर होता है और नए Android Studio प्रोजेक्ट में बेसिक मैप जोड़ देता है. हालांकि, किसी ऐसे Android प्रोजेक्ट में भी मैप जोड़ा जा सकता है जिसमें किसी दूसरे Android Studio टेंप्लेट का इस्तेमाल किया गया हो. ऐसा करने के लिए, आपको अपना प्रोजेक्ट मैन्युअल तरीके से कॉन्फ़िगर करना होगा. इसके बाद, मैप जोड़ना होगा.
पहला चरण: Android Studio सेट अप करना
इस दस्तावेज़ में, Android Studio Hedgehog और Android Gradle प्लगिन के वर्शन 8.2 का इस्तेमाल करके, डेवलपमेंट एनवायरमेंट के बारे में जानकारी दी गई है.
दूसरा चरण. SDK टूल सेट अप करना
Android लाइब्रेरी के लिए Maps SDK टूल, Google के मेवन रिपॉज़िटरी के ज़रिए उपलब्ध है. अपने ऐप्लिकेशन में SDK टूल जोड़ने के लिए, यह तरीका अपनाएं:
- अपनी टॉप-लेवल
settings.gradle
फ़ाइल में,pluginManagement
ब्लॉक में gradle प्लगिन पोर्टल, Google Maven रिपॉज़िटरी, और Maven सेंट्रल रिपॉज़िटरी शामिल करें. स्क्रिप्ट में किसी भी अन्य स्टेटमेंट से पहलेpluginManagement
ब्लॉक दिखना चाहिए.pluginManagement { repositories { gradlePluginPortal() google() mavenCentral() } }
- अपनी टॉप-लेवल
settings.gradle
फ़ाइल में,dependencyResolutionManagement
ब्लॉक में Google की Maven रिपॉज़िटरी और Maven सेंट्रल रिपॉज़िटरी शामिल करें:dependencyResolutionManagement { repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS) repositories { google() mavenCentral() } }
- अपनी मॉड्यूल-लेवल की
build.gradle
फ़ाइल में, Android के लिए Maps SDK टूल के लिए, Google Play services डिपेंडेंसी जोड़ें.ग्रूवी
dependencies { // Maps SDK for Android implementation 'com.google.android.gms:play-services-maps:18.2.0' }
Kotlin
dependencies { // Maps SDK for Android implementation("com.google.android.gms:play-services-maps:18.2.0") }
- अपनी मॉड्यूल-लेवल
build.gradle
फ़ाइल में,compileSdk
औरminSdk
को इन वैल्यू पर सेट करें:ग्रूवी
android { compileSdk 34 defaultConfig { minSdk 19 // ... } }
Kotlin
android { compileSdk = 34 defaultConfig { minSdk = 19 // ... } }
- अपने मॉड्यूल-लेवल की
build.gradle
फ़ाइल केbuildFeatures
सेक्शन में,BuildConfig
क्लास जोड़ें. इसका इस्तेमाल, इस प्रोसेस में बाद में बताए गए मेटाडेटा के वैल्यू को ऐक्सेस करने के लिए किया जा सकता है:ग्रूवी
android { // ... buildFeatures { buildConfig true // ... } }
Kotlin
android { // ... buildFeatures { buildConfig = true // ... } }
तीसरा चरण: प्रोजेक्ट में एपीआई पासकोड जोड़ना
इस सेक्शन में बताया गया है कि अपनी एपीआई कुंजी को कैसे सेव करें, ताकि आपका ऐप्लिकेशन उसे सुरक्षित तरीके से इस्तेमाल कर सके. आपको अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच नहीं करनी चाहिए. इसलिए, हमारा सुझाव है कि इसे secrets.properties
फ़ाइल में सेव करें. यह आपके प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद होती है. secrets.properties
फ़ाइल के बारे में ज़्यादा जानकारी के लिए, gradle प्रॉपर्टी फ़ाइलें देखें.
हमारा सुझाव है कि इस टास्क को आसान बनाने के लिए, आप Android के लिए सीक्रेट ग्रेडल प्लगिन का इस्तेमाल करें.
अपने Google Maps प्रोजेक्ट में Android के लिए Secrets Gradle प्लग इन इंस्टॉल करने के लिए:
-
Android Studio में, अपनी टॉप लेवल
build.gradle
याbuild.gradle.kts
फ़ाइल खोलें औरbuildscript
में जाकर,dependencies
एलिमेंट में इस कोड को जोड़ें.ग्रूवी
buildscript { dependencies { classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
Kotlin
buildscript { dependencies { classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
-
अपने मॉड्यूल-लेवल की
build.gradle
फ़ाइल खोलें औरplugins
एलिमेंट में यह कोड जोड़ें.ग्रूवी
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- अपनी मॉड्यूल-लेवल की
build.gradle
फ़ाइल में, पक्का करें किtargetSdk
औरcompileSdk
को 34 पर सेट किया गया हो. - फ़ाइल सेव करें और Gredle के साथ अपना प्रोजेक्ट सिंक करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में
secrets.properties
फ़ाइल खोलें और फिर यह कोड जोड़ें.YOUR_API_KEY
को अपनी एपीआई पासकोड से बदलें. अपनी कुंजी को इस फ़ाइल में सेव करें, क्योंकिsecrets.properties
को वर्शन कंट्रोल सिस्टम में चेक नहीं किया जाता है.MAPS_API_KEY=YOUR_API_KEY
- फ़ाइल सेव करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में
local.defaults.properties
फ़ाइल बनाएं. यह वही फ़ोल्डर है जिसमेंsecrets.properties
फ़ाइल है. इसके बाद, यह कोड जोड़ें.MAPS_API_KEY=DEFAULT_API_KEY
इस फ़ाइल का मकसद,
secrets.properties
फ़ाइल न मिलने पर एपीआई पासकोड के लिए एक बैकअप लोकेशन उपलब्ध कराना है, ताकि बिल्ड फ़ेल न हों. ऐसा तब होता है, जब आपने ऐसे वर्शन कंट्रोल सिस्टम से ऐप्लिकेशन का क्लोन बनाया हो जोsecrets.properties
को हटा देता है और आपने एपीआई पासकोड उपलब्ध कराने के लिए, अब तक स्थानीय तौर परsecrets.properties
फ़ाइल न बनाई हो. - फ़ाइल सेव करें.
-
अपनी
AndroidManifest.xml
फ़ाइल में,com.google.android.geo.API_KEY
पर जाएं औरandroid:value attribute
को अपडेट करें. अगर<meta-data>
टैग मौजूद नहीं है, तो इसे<application>
टैग के चाइल्ड के तौर पर बनाएं.<meta-data android:name="com.google.android.geo.API_KEY" android:value="${MAPS_API_KEY}" />
Note:
com.google.android.geo.API_KEY
is the recommended metadata name for the API key. A key with this name can be used to authenticate to multiple Google Maps-based APIs on the Android platform, including the Maps SDK for Android. For backwards compatibility, the API also supports the namecom.google.android.maps.v2.API_KEY
. This legacy name allows authentication to the Android Maps API v2 only. An application can specify only one of the API key metadata names. If both are specified, the API throws an exception. -
In Android Studio, open your module-level
build.gradle
orbuild.gradle.kts
file and edit thesecrets
property. If thesecrets
property does not exist, add it.Edit the properties of the plugin to set
propertiesFileName
tosecrets.properties
, setdefaultPropertiesFileName
tolocal.defaults.properties
, and set any other properties.Groovy
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Kotlin
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
चौथा चरण: ऐप्लिकेशन मेनिफ़ेस्ट अपडेट करना
इस सेक्शन में, अपनी
AndroidManifest.xml
फ़ाइल में जोड़ने की सेटिंग के बारे में बताया गया है.Google Play services का वर्शन नंबर
application
एलिमेंट में यह एलान जोड़ें. इससे Google Play सेवाओं का वह वर्शन एम्बेड हो जाता है जिससे ऐप्लिकेशन को कंपाइल किया गया था.<meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version" />
जगह की जानकारी की अनुमति
अगर आपके ऐप्लिकेशन को उपयोगकर्ता की जगह की जानकारी को ऐक्सेस करना है, तो आपको अपनी
AndroidManifest.xml
फ़ाइल में, जगह की जानकारी की अनुमति का अनुरोध करना होगा. इनमेंACCESS_FINE_LOCATION
विकल्प शामिल हैं, जो डिवाइस की जगह की सटीक जानकारी देता है औरACCESS_COARSE_LOCATION
कम सटीक जानकारी देता है. ज़्यादा जानकारी के लिए, जगह का डेटा गाइड देखें.ACCESS_FINE_LOCATION
की अनुमति का अनुरोध करने के लिए, इस कोड कोmanifest
एलिमेंट में जोड़ें:<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
बाहरी स्टोरेज की अनुमति
अगर आपको Google Play services SDK टूल के 8.3 या इसके बाद के वर्शन को टारगेट करना है, तो आपको
WRITE_EXTERNAL_STORAGE
अनुमति की ज़रूरत नहीं है. अगर आपको Google Play services के SDK टूल के पुराने वर्शन को टारगेट करना है, तो आपकोmanifest
एलिमेंट में WRITE_EXTERNAL_STORAGE अनुमति का अनुरोध करना होगा.<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
Apache एचटीटीपी लेगसी लाइब्रेरी
अगर
com.google.android.gms:play-services-maps:16.0.0
या इससे पहले के वर्शन का इस्तेमाल किया जा रहा है और आपका ऐप्लिकेशन, एपीआई लेवल 28 (Android 9.0) या उसके बाद के वर्शन को टारगेट कर रहा है, तो आपको यहां बताया गया एलान,AndroidManifest.xml
के<application>
एलिमेंट में शामिल करना होगा. अगर ऐसा नहीं है, तो इस एलान को छोड़ दें.<uses-library android:name="org.apache.http.legacy" android:required="false" />
पांचवां चरण: Android डिवाइस सेट अप करना
Android के लिए Maps SDK टूल का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको इसे किसी ऐसे Android डिवाइस या Android एम्युलेटर पर डिप्लॉय करना होगा जो Android 4.0 या इसके बाद वाले वर्शन पर आधारित हो और जिसमें Google API शामिल हो.
- Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाएं पर दिए गए निर्देशों का पालन करें.
- Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाया जा सकता है. इसके बाद, Android Studio में मौजूद Android वर्चुअल डिवाइस (एवीडी) मैनेजर का इस्तेमाल करके, एम्युलेटर को इंस्टॉल किया जा सकता है.
छठा चरण: Play services की सहायता टीम से मदद पाना
Android के लिए Maps SDK टूल के लिए ज़रूरी है कि जिस डिवाइस पर आपका ऐप्लिकेशन डिप्लॉय किया जाए उसमें Google Play services इंस्टॉल हो. Google एक ऐसा तरीका उपलब्ध कराता है जिसे जांच करने के लिए, आपके ऐप्लिकेशन से कॉल किया जा सकता है. ज़्यादा जानकारी के लिए, देखें कि Google Play services इंस्टॉल की गई है या नहीं.
अगले चरण
प्रोजेक्ट कॉन्फ़िगर होने के बाद, मैप जोड़ें.
जब तक कुछ अलग से न बताया जाए, तब तक इस पेज की सामग्री को Creative Commons Attribution 4.0 License के तहत और कोड के नमूनों को Apache 2.0 License के तहत लाइसेंस मिला है. ज़्यादा जानकारी के लिए, Google Developers साइट नीतियां देखें. Oracle और/या इससे जुड़ी हुई कंपनियों का, Java एक रजिस्टर किया हुआ ट्रेडमार्क है.
आखिरी बार 2024-03-14 (UTC) को अपडेट किया गया.
[{ "type": "thumb-down", "id": "missingTheInformationINeed", "label":"वह जानकारी मौजूद नहीं है जो मुझे चाहिए" },{ "type": "thumb-down", "id": "tooComplicatedTooManySteps", "label":"बहुत मुश्किल है / बहुत सारे चरण हैं" },{ "type": "thumb-down", "id": "outOfDate", "label":"पुराना" },{ "type": "thumb-down", "id": "translationIssue", "label":"अनुवाद से जुड़ी समस्या" },{ "type": "thumb-down", "id": "samplesCodeIssue", "label":"सैंपल / कोड से जुड़ी समस्या" },{ "type": "thumb-down", "id": "otherDown", "label":"अन्य" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"समझने में आसान है" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"मेरी समस्या हल हो गई" },{ "type": "thumb-up", "id": "otherUp", "label":"अन्य" }]