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

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

    ग्रूवी

    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
            // ...
        }
    }

    ग्रूवी

    android {
        compileSdk 34
    
        defaultConfig {
            minSdk 23
            // ...
        }
    }
  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 = "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 के लिए 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 पर आधारित कई एपीआई की पुष्टि करने के लिए किया जा सकता है. इनमें 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 अनुमति का अनुरोध करने के लिए, इस कोड को 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 डिवाइस सेट अप करना

Android के लिए Maps SDK का इस्तेमाल करने वाले ऐप्लिकेशन को चलाने के लिए, आपको उसे Android 6.0 या इसके बाद के वर्शन पर आधारित Android डिवाइस या Android Emulator पर डिप्लॉय करना होगा. साथ ही, उसमें Google APIs शामिल होने चाहिए.

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

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

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

अगले चरण

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