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

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

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

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

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

.

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

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

  1. सबसे ऊपर मौजूद settings.gradle.kts फ़ाइल में, Gradle प्लग इन पोर्टल, Google की मेवन रिपॉज़िटरी, और Maven Central रिपॉज़िटरी को pluginManagement ब्लॉक में शामिल करें. स्क्रिप्ट में, pluginManagement ब्लॉक किसी भी अन्य स्टेटमेंट से पहले दिखना चाहिए.
    pluginManagement {
        repositories {
            google()
            mavenCentral()
            gradlePluginPortal()
        }
    } 
  2. सबसे ऊपर मौजूद settings.gradle.kts फ़ाइल में, Google की मेवन रिपॉज़िटरी और Maven Central रिपॉज़िटरी को dependencyResolutionManagement ब्लॉक में शामिल करें:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.PREFER_SETTINGS)
        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)
    }

    Groovy

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

    Kotlin

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

    Groovy

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

    Kotlin

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

    Groovy

    android {
      // ...
      buildFeatures {
        buildConfig true
        // ...
      }
    }
  6. अपनी libs.versions.toml फ़ाइल में, यह जानकारी जोड़ें:
    [versions]
    play-services-maps = "20.0.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 के लिए सीक्रेट ग्रेडल प्लग इन इंस्टॉल करने और एपीआई पासकोड सेव करने के लिए:

  1. Android Studio में, रूट-लेवल की build.gradle फ़ाइल खोलें और dependencies एलिमेंट में यह कोड जोड़ें जो buildscript में मौजूद है.

    Groovy

    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 एलिमेंट में यह कोड जोड़ें.

    Groovy

    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 पर आधारित कई एपीआई की पुष्टि करने के लिए किया जा सकता है. इनमें, Android के लिए Maps SDK भी शामिल है. पिछले वर्शन के साथ काम करने की सुविधा के लिए, एपीआई नाम 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 से डिवाइस की सटीक जगह की जानकारी मिलती है, जबकि 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 Legacy लाइब्रेरी

अगर 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 6.0 या इसके बाद के वर्शन वाले किसी Android डिवाइस या Android एम्युलेटर पर डिप्लॉय करना होगा. साथ ही, उसमें Google के एपीआई शामिल होने चाहिए.

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

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

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

अगले चरण

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