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

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

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

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

  1. Android Studio आर्कटिक Fox या इसके बाद का वर्शन होना ज़रूरी है. अगर आपने पहले से ऐसा नहीं किया है, तो इसे डाउनलोड करें और इंस्टॉल करें.
  2. पक्का करें कि आप Android Gradle प्लग इन Android Studio में 7.0 या इसके बाद के वर्शन का इस्तेमाल कर रहे हैं.

दूसरा चरण. SDK टूल सेट अप करना

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

  1. अपनी टॉप-लेवल settings.gradle फ़ाइल में, pluginManagement ब्लॉक में gradle प्लगिन पोर्टल, Google Maven का डेटा स्टोर करने की जगह, और Maven सेंट्रल रिपॉज़िटरी शामिल करें. स्क्रिप्ट में किसी भी दूसरे स्टेटमेंट से पहले pluginManagement ब्लॉक दिखना चाहिए.
    pluginManagement {
        repositories {
            gradlePluginPortal()
            google()
            mavenCentral()
        }
    } 
  2. अपनी टॉप-लेवल settings.gradle फ़ाइल में, dependencyResolutionManagement ब्लॉक में Google की मेवन रिपॉज़िटरी और Maven सेंट्रल रिपॉज़िटरी शामिल करें:
    dependencyResolutionManagement {
        repositoriesMode.set(RepositoriesMode.FAIL_ON_PROJECT_REPOS)
        repositories {
            google()
            mavenCentral()
        }
    } 
  3. अपनी मॉड्यूल-लेवल की build.gradle फ़ाइल में, Android के लिए Maps SDK टूल के लिए, Google Play services डिपेंडेंसी जोड़ें.
    dependencies {
        implementation 'com.google.android.gms:play-services-maps:18.1.0'
        // ...
    } 
  4. अपनी मॉड्यूल-लेवल build.gradle फ़ाइल में, compileSdk और minSdk को इन वैल्यू पर सेट करें:
    android {
        compileSdk 31
    
        defaultConfig {
            minSdk 19
            // ...
        }

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

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

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

  1. Android Studio में, अपनी प्रोजेक्ट-लेवल build.gradle फ़ाइल खोलें. इसके बाद, buildscript में जाकर, इस कोड को dependencies एलिमेंट में जोड़ें.
    plugins {
        // ...
        id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false
    }
  2. इसके बाद, मॉड्यूल लेवल की build.gradle फ़ाइल खोलें और इस कोड को plugins एलिमेंट में जोड़ें.
    id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin'
        
  3. फ़ाइल सेव करें और अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
  4. अपने प्रोजेक्ट लेवल की डायरेक्ट्री में local.properties खोलें. इसके बाद, यह कोड जोड़ें. YOUR_API_KEY को अपने एपीआई पासकोड से बदलें.
    MAPS_API_KEY=YOUR_API_KEY
        
  5. फ़ाइल सेव करें.
  6. अपनी AndroidManifest.xml फ़ाइल में, com.google.android.geo.API_KEY पर जाएं और android:value attribute को इस तरह अपडेट करें:
    <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 एचटीटीपी लेगसी लाइब्रेरी

अगर 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 वर्चुअल डिवाइस (एवीडी) मैनेजर का इस्तेमाल करके, एम्युलेटर को इंस्टॉल किया जा सकता है.

अगले चरण

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