Google का सुझाव है कि आप अपने वर्शन कंट्रोल सिस्टम में एपीआई पासकोड की जांच न करें. इसके बजाय, आपको इसे लोकल secrets.properties
फ़ाइल में सेव करना चाहिए, जो आपके प्रोजेक्ट की रूट डायरेक्ट्री में मौजूद होती है. हालांकि, इसे वर्शन कंट्रोल में नहीं रखा जाना चाहिए. इसके बाद, एपीआई पासकोड को पढ़ने के लिए, Android के लिए सीक्रेट ग्रेडल प्लगिन का इस्तेमाल करें.
Android के लिए Secrets Gradle प्लगिन, ऐसी प्रॉपर्टी फ़ाइल से सीक्रेटों को पढ़ता है
जिसे वर्शन कंट्रोल सिस्टम में चेक नहीं किया गया था. इसमें, API पासकोड भी शामिल है. इसके बाद, प्लग इन उन प्रॉपर्टी को
Gredle से जनरेट की गई BuildConfig
क्लास और Android मेनिफ़ेस्ट फ़ाइल में, वैरिएबल के तौर पर दिखाता है.
एपीआई पासकोड को ऐक्सेस करने के लिए, Android के लिए Secrets Gradle प्लगिन का इस्तेमाल करने का पूरा उदाहरण देखने के लिए, Android Studio प्रोजेक्ट सेट अप करना लेख पढ़ें.
इंस्टॉलेशन और इस्तेमाल
अपने Google Maps प्रोजेक्ट में Android के लिए Secrets Gradle प्लग इन इंस्टॉल करने के लिए:
-
Android Studio में, अपनी टॉप लेवल
build.gradle
याbuild.gradle.kts
फ़ाइल खोलें और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") } }
-
अपने मॉड्यूल-लेवल की
build.gradle
फ़ाइल खोलें औरplugins
एलिमेंट में यह कोड जोड़ें.ग्रूवी
plugins { // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- अपनी मॉड्यूल-लेवल की
build.gradle
फ़ाइल में, पक्का करें किtargetSdk
औरcompileSdk
को 34 पर सेट किया गया हो. - फ़ाइल सेव करें और Gredle के साथ अपना प्रोजेक्ट सिंक करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में
secrets.properties
फ़ाइल खोलें और फिर यह कोड जोड़ें.YOUR_API_KEY
को अपनी एपीआई पासकोड से बदलें. अपनी कुंजी को इस फ़ाइल में सेव करें, क्योंकिsecrets.properties
को वर्शन कंट्रोल सिस्टम में चेक नहीं किया जाता है.PLACES_API_KEY=YOUR_API_KEY
- फ़ाइल सेव करें.
-
अपनी टॉप-लेवल डायरेक्ट्री में
local.defaults.properties
फ़ाइल बनाएं. यह वही फ़ोल्डर है जिसमेंsecrets.properties
फ़ाइल है. इसके बाद, यह कोड जोड़ें.PLACES_API_KEY=DEFAULT_API_KEY
इस फ़ाइल का मकसद,
secrets.properties
फ़ाइल न मिलने पर एपीआई पासकोड के लिए एक बैकअप लोकेशन उपलब्ध कराना है, ताकि बिल्ड फ़ेल न हों. ऐसा तब होता है, जब आपने ऐसे वर्शन कंट्रोल सिस्टम से ऐप्लिकेशन का क्लोन बनाया हो जोsecrets.properties
को हटा देता है और आपने एपीआई पासकोड उपलब्ध कराने के लिए, अब तक स्थानीय तौर परsecrets.properties
फ़ाइल न बनाई हो. - फ़ाइल सेव करें.
-
Android Studio में, अपने मॉड्यूल-लेवल की
build.gradle
याbuild.gradle.kts
फ़ाइल खोलें औरsecrets
प्रॉपर्टी में बदलाव करें. अगरsecrets
प्रॉपर्टी मौजूद नहीं है, तो उसे जोड़ें.प्लगिन की प्रॉपर्टी में बदलाव करके,
propertiesFileName
कोsecrets.properties
पर सेट करें,defaultPropertiesFileName
कोlocal.defaults.properties
पर सेट करें, और कोई दूसरी प्रॉपर्टी सेट करें.ग्रूवी
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
Kotlin
secrets { // Optionally specify a different file name containing your secrets. // The plugin defaults to "local.properties" propertiesFileName = "secrets.properties" // A properties file containing default secret values. This file can be // checked in version control. defaultPropertiesFileName = "local.defaults.properties" // Configure which keys should be ignored by the plugin by providing regular expressions. // "sdk.dir" is ignored by default. ignoreList.add("keyToIgnore") // Ignore the key "keyToIgnore" ignoreList.add("sdk.*") // Ignore all keys matching the regexp "sdk.*" }
आगे क्या करना है
- Android के लिए सीक्रेट ग्रेडल प्लगिन GitHub प्रोजेक्ट पेज देखें.
- प्लगिन का इस्तेमाल करने के उदाहरण के लिए, Android Studio प्रोजेक्ट सेट अप करना लेख पढ़ें.