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