Google ขอแนะนำอย่างยิ่งว่าอย่าเช็คคีย์ API ในระบบควบคุมเวอร์ชัน
แต่ให้จัดเก็บไว้ใน
secrets.propertiesไฟล์ในเครื่อง ซึ่งอยู่ในไดเรกทอรีรากของโปรเจ็กต์
แต่ยกเว้นจากการควบคุมเวอร์ชัน แล้วใช้
ปลั๊กอิน Gradle ของ Secrets สำหรับ Android
เพื่ออ่านคีย์ API
ปลั๊กอินข้อมูลลับ Gradle สำหรับ Android จะอ่านข้อมูลลับ ซึ่งรวมถึงคีย์ API จาก
ไฟล์พร็อพเพอร์ตี้ที่ไม่ได้เช็คอินในระบบควบคุมเวอร์ชัน จากนั้นปลั๊กอินจะ
แสดงพร็อพเพอร์ตีเหล่านั้นเป็นตัวแปรในBuildConfig
คลาสที่ Gradle สร้างขึ้นและในไฟล์ Android Manifest
ดูตัวอย่างการใช้ปลั๊กอินข้อมูลลับ Gradle สำหรับ Android เพื่อเข้าถึงคีย์ API แบบสมบูรณ์ได้ที่ตั้งค่าโปรเจ็กต์ Android Studio
การติดตั้งและการใช้งาน
วิธีติดตั้งปลั๊กอินข้อมูลลับ Gradle สำหรับ Android และจัดเก็บคีย์ API
-
ใน Android Studio ให้เปิดไฟล์
build.gradleระดับรูท แล้วเพิ่มโค้ดต่อไปนี้ลงในองค์ประกอบdependenciesภายใต้buildscriptดึงดูด
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ดึงดูด
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ด้วยคีย์ APIMAPS_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 Maps บนแพลตฟอร์ม Android ได้ ซึ่งรวมถึง Maps SDK สำหรับ Android API ยังรองรับชื่อcom.google.android.maps.v2.API_KEYเพื่อให้เข้ากันได้แบบย้อนหลัง ชื่อเดิมนี้ อนุญาตให้ตรวจสอบสิทธิ์กับ Android Maps API v2 เท่านั้น แอปพลิเคชันสามารถ ระบุชื่อข้อมูลเมตาของคีย์ API ได้เพียงชื่อเดียว หากระบุทั้ง 2 อย่าง API จะ แสดงข้อยกเว้น
ขั้นตอนถัดไป
- ดูหน้าโปรเจ็กต์ Secrets Gradle Plugin สำหรับ Android ใน GitHub
- ดูตัวอย่างการใช้ปลั๊กอินแบบสมบูรณ์ได้ที่ตั้งค่าโปรเจ็กต์ Android Studio