پلاگین Secrets Gradle

گوگل اکیداً توصیه می‌کند که کلید API را در سیستم کنترل نسخه خود بررسی نکنید. در عوض، باید آن را در یک فایل محلی secrets.properties ذخیره کنید که در دایرکتوری ریشه پروژه شما قرار دارد اما از کنترل نسخه مستثنی است و سپس از افزونه Secrets Gradle برای اندروید برای خواندن کلید API استفاده کنید.

افزونه‌ی Secrets Gradle برای اندروید، اطلاعات محرمانه، از جمله کلید API، را از یک فایل ویژگی که در سیستم کنترل نسخه بررسی نشده است، می‌خواند. سپس این افزونه، آن ویژگی‌ها را به عنوان متغیرهایی در کلاس BuildConfig تولید شده توسط Gradle و در فایل مانیفست اندروید نمایش می‌دهد.

برای مشاهده‌ی یک مثال کامل از نحوه‌ی استفاده از افزونه‌ی Secrets Gradle برای اندروید جهت دسترسی به کلید API، به بخش «راه‌اندازی یک پروژه‌ی اندروید استودیو» مراجعه کنید.

نصب و استفاده

برای نصب افزونه Secrets Gradle برای اندروید و ذخیره کلید API خود:

  1. در اندروید استودیو، فایل 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")
        }
    }
  2. فایل 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")
    }
  3. اگر از اندروید استودیو استفاده می‌کنید، پروژه خود را با Gradle همگام‌سازی کنید .
  4. فایل local.properties را در دایرکتوری سطح پروژه خود باز کنید و سپس کد زیر را اضافه کنید. به جای YOUR_API_KEY ، کلید API خود را قرار دهید.
    MAPS_API_KEY=YOUR_API_KEY
  5. در فایل 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 یک استثنا ایجاد می‌کند.

قدم بعدی چیست؟