מומלץ מאוד לא להכניס מפתח API למערכת בקרת הגרסאות. במקום זאת, כדאי לאחסן אותו בקובץ secrets.properties מקומי, שנמצא בספריית הבסיס של הפרויקט אבל לא נכלל בבקרת הגרסאות, ואז להשתמש ב-Secrets Gradle Plugin for Android כדי לקרוא את מפתח ה-API.
הפלאגין של Secrets Gradle ל-Android קורא סודות, כולל מפתח ה-API, מקובץ מאפיינים שלא נשמר במערכת לניהול גרסאות. הפלאגין חושף את המאפיינים האלה כמשתנים במחלקה BuildConfig שנוצרה על ידי Gradle ובקובץ המניפסט של Android.
דוגמה מלאה לשימוש בפלאגין Secrets Gradle ל-Android כדי לגשת למפתח API מופיעה במאמר הגדרת פרויקט ב-Android Studio.
התקנה ושימוש
כדי להתקין את הפלאגין Secrets Gradle ל-Android ולאחסן את מפתח ה-API:
-
ב-Android Studio, פותחים את הקובץ
build.gradleברמת הבסיס ומוסיפים את הקוד הבא לרכיבdependenciesבקטעbuildscript.Groovy
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.Groovy
plugins { id 'com.android.application' // ... id 'com.google.android.libraries.mapsplatform.secrets-gradle-plugin' }
Kotlin
plugins { id("com.android.application") // ... id("com.google.android.libraries.mapsplatform.secrets-gradle-plugin") }
- אם אתם משתמשים ב-Android Studio, סנכרנו את הפרויקט עם 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 שמבוססים על מפות Google בפלטפורמת Android, כולל Maps SDK ל-Android. לצורך תאימות לאחור, ה-API תומך גם בשםcom.google.android.maps.v2.API_KEY. השם הזה הוא מדור קודם ומאפשר אימות רק לגרסה 2 של Android Maps API. אפליקציה יכולה לציין רק אחד משמות המטא-נתונים של מפתח ה-API. אם מציינים את שניהם, ה-API זורק חריגה.
המאמרים הבאים
- אפשר לעיין בדף הפרויקט ב-GitHub בנושא Secrets Gradle Plugin for Android.
- במאמר הגדרה של פרויקט Android Studio יש דוגמה מלאה לשימוש בפלאגין.