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