Google اکیداً توصیه میکند که کلید میانای برنامهسازی کاربردی را در سیستم کنترل نسخه خود بررسی نکنید. درعوض، آن را در فایل محلی
secrets.properties ذخیره کنید که در دایرکتوری ریشه
پروژهتان قرار دارد اما از کنترل نسخه مستثنی شده است، و سپس از
افزونه Secrets Gradle برای Android
برای خواندن کلید میانای API استفاده کنید.
«افزایه Secrets Gradle ویژه Android» اطلاعات محرمانه، ازجمله کلید میانای برنامهسازی کاربردی، را از
فایل ویژگیهایی میخواند که در سیستم کنترل نسخه بررسی نشده است. سپس افزایه
آن ویژگیها را بهعنوان متغیر در کلاس BuildConfig تولیدشده توسط Gradle
و در فایل مانیفست Android نشان میدهد.
برای مشاهده نمونه کاملی از استفاده از «افزایه Secrets Gradle ویژه Android» برای دسترسی به کلید میانای برنامهسازی کاربردی، راهاندازی پروژه Android Studio را ببینید.
نصب و استفاده
برای نصب «افزایه Secrets Gradle ویژه 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» استفاده میکنید، پروژهتان را با Gradle همگامسازی کنید.
-
فایل
secrets.propertiesرا در دایرکتوری سطح بالا باز کنید، و سپس کد زیر را اضافه کنید.YOUR_API_KEYرا با کلید میانای API خودتان جایگزین کنید. حتماً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نام فراداده توصیهشده برای کلید میانای API است. از کلیدی با این نام میتوان برای اصالتسنجی در چندین میانای برنامهسازی کاربردی مبتنی بر Google Maps در پلاتفرم Android، ازجمله کیت توسعه نرمافزار Maps برای Android، استفاده کرد. برای سازگاری با نسخه قدیمی، این میانای برنامهسازی کاربردی از نام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" }
قدم بعدی چیست
- صفحه پروژه GitHub افزایه Secrets Gradle ویژه Android را ببینید.
- برای مشاهده نمونه کامل استفاده از افزایه، به راهاندازی پروژه «استودیو Android» مراجعه کنید.