گوگل اکیداً توصیه میکند که کلید API را در سیستم کنترل نسخه خود بررسی نکنید. در عوض، باید آن را در یک فایل محلی secrets.properties ذخیره کنید که در دایرکتوری ریشه پروژه شما قرار دارد اما از کنترل نسخه مستثنی است و سپس از افزونه Secrets Gradle برای اندروید برای خواندن کلید API استفاده کنید.
افزونهی Secrets Gradle برای اندروید، اطلاعات محرمانه، از جمله کلید API، را از یک فایل ویژگی که در سیستم کنترل نسخه بررسی نشده است، میخواند. سپس این افزونه، آن ویژگیها را به عنوان متغیرهایی در کلاس BuildConfig تولید شده توسط Gradle و در فایل مانیفست اندروید نمایش میدهد.
برای مشاهدهی یک مثال کامل از نحوهی استفاده از افزونهی Secrets Gradle برای اندروید جهت دسترسی به کلید API، به بخش «راهاندازی یک پروژهی اندروید استودیو» مراجعه کنید.
نصب و استفاده
برای نصب افزونه Secrets Gradle برای اندروید و ذخیره کلید API خود:
- در اندروید استودیو، فایل
build.gradleسطح ریشه خود را باز کنید و کد زیر را به عنصرdependenciesدر زیرbuildscriptاضافه کنید.گرووی
buildscript { dependencies { // ... classpath "com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1" } }
کاتلین
buildscript { dependencies { // ... classpath("com.google.android.libraries.mapsplatform.secrets-gradle-plugin:secrets-gradle-plugin:2.0.1") } }
- فایل
build.gradleسطح برنامه خود را باز کنید و کد زیر را به عنصرpluginsاضافه کنید.گرووی
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
کاتلین
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- اگر از اندروید استودیو استفاده میکنید، پروژه خود را با Gradle همگامسازی کنید .
- فایل
local.propertiesرا در دایرکتوری سطح پروژه خود باز کنید و سپس کد زیر را اضافه کنید. به جایYOUR_API_KEY، کلید API خود را قرار دهید.MAPS_API_KEY=YOUR_API_KEY
- در فایل
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 است. کلیدی با این نام میتواند برای احراز هویت در چندین API مبتنی بر نقشههای گوگل در پلتفرم اندروید، از جمله Maps SDK برای اندروید، استفاده شود. برای سازگاری با نسخههای قبلی، API از نامcom.google.android.maps.v2.API_KEYنیز پشتیبانی میکند. این نام قدیمی، احراز هویت را فقط برای Android Maps API v2 امکانپذیر میکند. یک برنامه میتواند فقط یکی از نامهای فراداده کلید API را مشخص کند. اگر هر دو مشخص شوند، API یک استثنا ایجاد میکند.
قدم بعدی چیست؟
- صفحه پروژه گیتهاب افزونه اسرار گرادل برای اندروید را مشاهده کنید.
- برای مشاهدهی یک مثال کامل از نحوهی استفاده از افزونه ، به بخش راهاندازی یک پروژهی اندروید استودیو مراجعه کنید.