Google का सुझाव है कि एपीआई पासकोड को
वर्शन कंट्रोल सिस्टम में शामिल न करें. इसके बजाय, इसे स्थानीय
secrets.properties फ़ाइल में सेव करें. यह फ़ाइल, आपके
प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद होती है, लेकिन इसे वर्शन कंट्रोल से बाहर रखा जाता है. इसके बाद, एपीआई पासकोड को पढ़ने के लिए, Android के लिए
सीक्रेट ग्रेडल प्लग इन
का इस्तेमाल करें.
Android के लिए सीक्रेट ग्रेडल प्लग इन, एपीआई पासकोड के साथ-साथ अन्य सीक्रेट भी पढ़ता है. ये सीक्रेट, प्रॉपर्टी फ़ाइल में मौजूद होते हैं. इस फ़ाइल को वर्शन कंट्रोल सिस्टम में शामिल नहीं किया जाता. इसके बाद, प्लग इन इन प्रॉपर्टी को, Gradle से जनरेट की गई BuildConfig क्लास और Android मेनिफ़ेस्ट फ़ाइल में वैरिएबल के तौर पर दिखाता है.
एपीआई पासकोड ऐक्सेस करने के लिए, Android के लिए सीक्रेट ग्रेडल प्लग इन का इस्तेमाल करने का पूरा उदाहरण देखने के लिए, Android Studio प्रोजेक्ट सेट अप करना लेख पढ़ें.
इंस्टॉल करना और इस्तेमाल करना
Android के लिए सीक्रेट ग्रेडल प्लग इन इंस्टॉल करने और एपीआई पासकोड सेव करने के लिए:
-
Android Studio में, अपनी टॉप-लेवल
build.gradle.ktsयाbuild.gradleफ़ाइल खोलें औरpluginsब्लॉक में यह कोड जोड़ें.Kotlin
plugins { // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") version "2.0.1" apply false }
Groovy
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' version '2.0.1' apply false }
-
अपने मॉड्यूल-लेवल
build.gradle.ktsयाbuild.gradleफ़ाइल खोलें औरpluginsएलिमेंट में यह कोड जोड़ें.Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
- अगर Android Studio का इस्तेमाल किया जाता है, तो अपने प्रोजेक्ट को Gradle के साथ सिंक करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में मौजूद
secrets.propertiesफ़ाइल खोलें. इसके बाद, यह कोड जोड़ें.YOUR_API_KEYको अपने एपीआई पासकोड से बदलें. पक्का करें कि आपनेsecrets.propertiesको अपनी.gitignoreफ़ाइल में जोड़ा हो. इसके अलावा, इसे वर्शन कंट्रोल सिस्टम से बाहर रखें, ताकि एपीआई पासकोड को वर्शन कंट्रोल में शामिल न किया जा सके.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एट्रिब्यूट को इस तरह अपडेट करें:<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 के लिए पुष्टि की जा सकती है. कोई ऐप्लिकेशन, एपीआई पासकोड के मेटाडेटा के नामों में से सिर्फ़ एक नाम तय कर सकता है. अगर दोनों नाम तय किए जाते हैं, तो एपीआई में गड़बड़ी की जानकारी मिलती है. -
Android Studio में, अपने मॉड्यूल-लेवल
build.gradle.ktsयाbuild.gradleफ़ाइल खोलें औरsecretsप्रॉपर्टी में बदलाव करें. अगरsecretsप्रॉपर्टी मौजूद नहीं है, तो इसे जोड़ें.प्लग्इन की प्रॉपर्टी में बदलाव करें, ताकि
propertiesFileNameको"secrets.properties",defaultPropertiesFileNameको"local.defaults.properties", और अन्य प्रॉपर्टी को सेट किया जा सके.Kotlin
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
Groovy
secrets { // To add your Maps API key to this project: // 1. If the secrets.properties file does not exist, create it in the root directory (the same folder as the root local.properties file). // 2. Add this line, where YOUR_API_KEY is your API key: // MAPS_API_KEY=YOUR_API_KEY propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" }
आगे क्या करना है
- Android के लिए सीक्रेट ग्रेडल प्लग इन के GitHub प्रोजेक्ट का पेज देखें.
- प्लगिन का इस्तेमाल करने का पूरा उदाहरण देखने के लिए, Android Studio प्रोजेक्ट सेट अप करना लेख पढ़ें.