Android Studio प्रोजेक्ट सेट अप करना

इस पेज पर, Google Maps टेंप्लेट का इस्तेमाल किए बिना, Maps SDK for Android का इस्तेमाल करने के लिए, Android Studio प्रोजेक्ट को कॉन्फ़िगर करने का तरीका बताया गया है. Google Maps टेंप्लेट के बारे में ज़्यादा जानकारी, क्विकस्टार्ट में दी गई है.

Google Maps का टेंप्लेट, Android Studio के नए प्रोजेक्ट में बुनियादी मैप को अपने-आप कॉन्फ़िगर करता है और उसे जोड़ता है. हालांकि, किसी ऐसे Android प्रोजेक्ट में भी मैप जोड़ा जा सकता है जो Android Studio के किसी दूसरे टेंप्लेट का इस्तेमाल करता है. इसके लिए, आपको मैन्युअल तरीके से अपने प्रोजेक्ट को कॉन्फ़िगर करना होगा. इसके बाद, मैप जोड़ें.

पहला चरण: Android Studio सेट अप करना

इस दस्तावेज़ में, Android Studio Hedgehog और Android Gradle प्लगिन के वर्शन 8.2 का इस्तेमाल करके डेवलपमेंट एनवायरमेंट के बारे में बताया गया है.

दूसरा चरण. एसडीके टूल सेट अप करना

Android के लिए Maps SDK लाइब्रेरी, Google की मेवन रिपॉज़िटरी के ज़रिए उपलब्ध है. अपने ऐप्लिकेशन में SDK टूल जोड़ने के लिए, यह तरीका अपनाएं:

  1. अपनी टॉप-लेवल settings.gradle.kts फ़ाइल में, pluginManagement ब्लॉक के नीचे Gradle प्लगिन पोर्टल, Google Maven रिपॉज़िटरी, और Maven Central रिपॉज़िटरी शामिल करें. pluginManagement ब्लॉक, स्क्रिप्ट में मौजूद किसी भी अन्य स्टेटमेंट से पहले दिखना चाहिए.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. अपनी टॉप-लेवल settings.gradle.kts फ़ाइल में, dependencyResolutionManagement ब्लॉक के नीचे Google की Maven रिपॉज़िटरी और Maven Central रिपॉज़िटरी को शामिल करें:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. अपने मॉड्यूल-लेवल की build.gradle.kts या build.gradle फ़ाइल में, Android के लिए Maps SDK टूल के लिए Google Play services डिपेंडेंसी जोड़ें.

    Kotlin

    dependencies {
    
        // Maps SDK for Android
        implementation(libs.play.services.maps)
    }

    ग्रूवी

    dependencies {
    
        // Maps SDK for Android
        implementation "com.google.android.gms:play-services-maps:19.0.0"
    }
  4. मॉड्यूल-लेवल की build.gradle.kts या build.gradle फ़ाइल में, compileSdk और minSdk को इन वैल्यू पर सेट करें:

    Kotlin

    android {
        compileSdk = 34
    
        defaultConfig {
            minSdk = 21
            // ...
        }
    }

    ग्रूवी

    android {
        compileSdk 34
    
        defaultConfig {
            minSdk 21
            // ...
        }
    }
  5. मॉड्यूल-लेवल की build.gradle.kts या build.gradle फ़ाइल के buildFeatures सेक्शन में, BuildConfig क्लास जोड़ें. इसका इस्तेमाल, इस तरीके में बाद में तय की गई मेटाडेटा वैल्यू को ऐक्सेस करने के लिए किया जा सकता है:

    Kotlin

    android {
      // ...
      buildFeatures {
        buildConfig = true
        // ...
      }
    }

    ग्रूवी

    android {
      // ...
      buildFeatures {
        buildConfig true
        // ...
      }
    }
  6. अपनी libs.versions.toml फ़ाइल में, यह कोड जोड़ें:
    [versions]
    play-services-maps = "19.2.0"
    
    [libraries]
    play-services-maps = { module = "com.google.android.gms:play-services-maps", version.ref = "play-services-maps" }
        

तीसरा चरण: प्रोजेक्ट में एपीआई पासकोड जोड़ना

इस सेक्शन में बताया गया है कि अपने एपीआई पासकोड को कैसे सेव करें, ताकि आपका ऐप्लिकेशन इसे सुरक्षित तरीके से रेफ़रंस कर सके. आपको अपने एपीआई पासकोड को वर्शन कंट्रोल सिस्टम में सेव नहीं करना चाहिए. इसलिए, हम इसे secrets.properties फ़ाइल में सेव करने का सुझाव देते हैं. यह फ़ाइल, आपके प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद होती है. secrets.properties फ़ाइल के बारे में ज़्यादा जानने के लिए, Gradle प्रॉपर्टी फ़ाइलें देखें.

इस काम को आसान बनाने के लिए, हमारा सुझाव है कि आप Android के लिए सीक्रेट ग्रेडल प्लग इन का इस्तेमाल करें.

Android के लिए Secrets Gradle Plugin इंस्टॉल करने और अपनी एपीआई कुंजी सेव करने के लिए:

  1. Android Studio में, अपनी रूट-लेवल की build.gradle फ़ाइल खोलें. इसके बाद, 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")
        }
    }
  2. ऐप्लिकेशन-लेवल की build.gradle फ़ाइल खोलें और plugins एलिमेंट में यह कोड जोड़ें.

    ग्रूवी

    plugins {
        id 'com.android.application'
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
    }

    Kotlin

    plugins {
        id("com.android.application")
        // ...
        id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin")
    }
  3. अगर Android Studio का इस्तेमाल किया जाता है, तो अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
  4. अपने प्रोजेक्ट लेवल की डायरेक्ट्री में मौजूद local.properties खोलें. इसके बाद, यह कोड जोड़ें. YOUR_API_KEY को अपने एपीआई पासकोड से बदलें.
    MAPS_API_KEY=YOUR_API_KEY
  5. अपनी AndroidManifest.xml फ़ाइल में, com.google.android.geo.API_KEY पर जाएं और android:value एट्रिब्यूट को इस तरह अपडेट करें:
    <meta-data
        android:name="com.google.android.geo.API_KEY"
        android:value="${MAPS_API_KEY}" />
        

    ध्यान दें: एपीआई पासकोड के लिए, com.google.android.geo.API_KEY मेटाडेटा का नाम इस्तेमाल करने का सुझाव दिया जाता है. इस नाम वाली कुंजी का इस्तेमाल, Android प्लैटफ़ॉर्म पर Google Maps पर आधारित कई एपीआई के लिए पुष्टि करने के लिए किया जा सकता है. इनमें Maps SDK for Android भी शामिल है. पुराने सिस्टम के साथ काम करने की सुविधा के लिए, एपीआई com.google.android.maps.v2.API_KEY नाम का इस्तेमाल भी किया जा सकता है. इस लेगसी नाम से, सिर्फ़ Android Maps API v2 के लिए पुष्टि की जा सकती है. कोई ऐप्लिकेशन, एपीआई कुंजी के मेटाडेटा के सिर्फ़ एक नाम के बारे में बता सकता है. अगर दोनों को तय किया जाता है, तो एपीआई एक अपवाद दिखाता है.

चौथा चरण: ऐप्लिकेशन मेनिफ़ेस्ट अपडेट करना

इस सेक्शन में, AndroidManifest.xml फ़ाइल में जोड़ने के लिए सेटिंग के बारे में बताया गया है.

Google Play services के वर्शन का नंबर

application एलिमेंट में यह एलान जोड़ें. इससे Google Play services का वह वर्शन एम्बेड होता है जिससे ऐप्लिकेशन को कंपाइल किया गया था.

<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 HTTP लेगसी लाइब्रेरी

अगर 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 डिवाइस सेट अप करना

Maps SDK for Android का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको उसे Android डिवाइस या Android एम्युलेटर पर डिप्लॉय करना होगा. यह Android 5.0 या इसके बाद के वर्शन पर आधारित होना चाहिए और इसमें Google API शामिल होने चाहिए.

  • Android डिवाइस का इस्तेमाल करने के लिए, हार्डवेयर डिवाइस पर ऐप्लिकेशन चलाना पर दिए गए निर्देशों का पालन करें.
  • Android एम्युलेटर का इस्तेमाल करने के लिए, वर्चुअल डिवाइस बनाया जा सकता है. साथ ही, Android Studio के साथ आने वाले Android वर्चुअल डिवाइस (AVD) मैनेजर का इस्तेमाल करके, एम्युलेटर इंस्टॉल किया जा सकता है.

छठा चरण: Play सेवा के साथ काम करने की सुविधा की जांच करना (ज़रूरी नहीं)

Maps SDK for Android के लिए ज़रूरी है कि जिस डिवाइस पर आपका ऐप्लिकेशन डिप्लॉय किया जा रहा है उस पर Google Play services इंस्टॉल हो. Google एक ऐसा तरीका उपलब्ध कराता है जिसका इस्तेमाल करके, अपने ऐप्लिकेशन से कॉल किया जा सकता है. ज़्यादा जानकारी के लिए, देखें कि Google Play services इंस्टॉल है या नहीं.

अगले चरण

प्रोजेक्ट कॉन्फ़िगर हो जाने के बाद, कोई मैप जोड़ा जा सकता है.