หัวข้อนี้จะอธิบายวิธีสร้างคีย์ API สําหรับ Maps SDK สําหรับ Android, เพิ่มคีย์ลงในแอป และรักษาความปลอดภัยของแอปด้วยการจํากัดคีย์ คุณต้องเพิ่มคีย์ API ไปยังแอปที่ใช้ SDK
ก่อนเริ่มต้น
ก่อนที่จะเริ่มใช้ Maps SDK สําหรับ Android คุณต้องมีโปรเจ็กต์ที่มีบัญชีสําหรับการเรียกเก็บเงินและ Maps SDK สําหรับ Android ที่เปิดใช้ ดูข้อมูลเพิ่มเติมได้ที่ตั้งค่าใน Cloud Console
การสร้างคีย์ API
คีย์ API คือตัวระบุที่ไม่ซ้ําที่ตรวจสอบสิทธิ์คําขอที่เชื่อมโยงกับโปรเจ็กต์ของคุณเพื่อการใช้งานและการเรียกเก็บเงิน คุณต้องมีคีย์ API อย่างน้อย 1 รายการที่เชื่อมโยงกับโปรเจ็กต์
วิธีสร้างคีย์ API
คอนโซล
-
ไปที่หน้า Google Maps Platform &Credentials
-
ในหน้าข้อมูลเข้าสู่ระบบ ให้คลิกสร้างข้อมูลเข้าสู่ระบบ > คีย์ API
กล่องโต้ตอบสร้างคีย์ API จะแสดงคีย์ API ที่สร้างใหม่ -
คลิกปิด
คีย์ API ใหม่จะปรากฏในหน้าข้อมูลเข้าสู่ระบบในส่วนคีย์ API
(อย่าลืมจํากัดคีย์ API ก่อนใช้งานจริง)
Cloud SDK
gcloud alpha services api-keys create \ --project "PROJECT" \ --display-name "DISPLAY_NAME"
อ่านเพิ่มเติมเกี่ยวกับ Google Cloud SDK, การติดตั้ง Cloud SDK และคําสั่งต่อไปนี้
การจํากัดคีย์ API
Google ขอแนะนําอย่างยิ่งให้คุณจํากัดคีย์ API โดยจํากัดการใช้งานไว้สําหรับ API ที่จําเป็นสําหรับแอปพลิเคชันเท่านั้น การจํากัดคีย์ API จะเพิ่มการรักษาความปลอดภัยให้กับแอปพลิเคชันของคุณด้วยการปกป้องคีย์จากคําขอที่ไม่มีการรับประกัน ดูข้อมูลเพิ่มเติมได้ในแนวทางปฏิบัติแนะนําด้านความปลอดภัยของ API
เมื่อจํากัดคีย์ API คุณต้องระบุลายนิ้วมือสําหรับใบรับรอง SHA-1 ของคีย์ Signing ที่ใช้ลงนามแอปพลิเคชัน ใบรับรองมี 2 ประเภท ได้แก่
- แก้ไขข้อบกพร่องของใบรับรอง: ใช้เฉพาะใบรับรองประเภทนี้กับแอปที่คุณทดสอบและรหัสอื่นๆ ที่ไม่ได้ใช้งานจริงเท่านั้น อย่าพยายามเผยแพร่แอปที่รับรองด้วยใบรับรองการแก้ไขข้อบกพร่อง เครื่องมือ Android SDK จะสร้างใบรับรองนี้โดยอัตโนมัติเมื่อคุณเรียกใช้บิลด์การแก้ไขข้อบกพร่อง
- ใบรับรองรุ่น: ใช้ใบรับรองนี้เมื่อคุณพร้อมเผยแพร่แอปใน App Store เครื่องมือ Android SDK จะสร้างใบรับรองนี้เมื่อคุณเรียกใช้บิลด์ที่เผยแพร่
ดูข้อมูลเพิ่มเติมเกี่ยวกับใบรับรองดิจิทัลได้จากคู่มือรับรองแอป
โปรดดูวิธีรับลายนิ้วมือของใบรับรองที่หัวข้อการตรวจสอบสิทธิ์ไคลเอ็นต์ หากใช้ Play App Signing แทน คุณต้องไปที่หน้า App Signing ใน Play Console เพื่อรับลายนิ้วมือสําหรับใบรับรอง
วิธีจํากัดคีย์ API
คอนโซล
-
ไปที่หน้า Google Maps Platform &Credentials
- เลือกคีย์ API ที่ต้องการตั้งค่าข้อจํากัด หน้าคีย์คีย์ API จะปรากฏขึ้น
- ในส่วนการจํากัดคีย์ ให้ตั้งข้อจํากัดต่อไปนี้
- ข้อจำกัดแอปพลิเคชัน:
- เลือกแอป Android
- คลิก + เพิ่มชื่อแพ็กเกจและลายนิ้วมือ
- ป้อนชื่อแพ็กเกจและลายนิ้วมือสําหรับใบรับรอง SHA-1 เช่น
com.example.android.mapexample
BB:0D:AC:74:D3:21:E1:43:67:71:9B:62:91:AF:A1:66:6E:44:5D:75
- ข้อจำกัด API:
- คลิกจํากัดคีย์
- เลือก Maps SDK สําหรับ Android จากเมนูแบบเลื่อนลงเลือก API หาก Maps SDK สําหรับ Android ไม่อยู่ในรายการ คุณต้อง เปิดใช้
- คลิกบันทึกเพื่อเสร็จสิ้นการเปลี่ยนแปลง
Cloud SDK
แสดงคีย์ที่มีอยู่
gcloud services api-keys list --project="PROJECT"
ล้างข้อจํากัดที่มีอยู่ในคีย์ที่มีอยู่
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --clear-restrictions
กําหนดข้อจํากัดใหม่ในคีย์ที่มีอยู่
gcloud alpha services api-keys update "projects/PROJECT/keys/KEY_ID" \ --api_target="maps-android-backend.googleapis.com" --allowed-application="sha1_fingerprint=SHA1_FINGERPRINT,package_name=ANDROID_PACKAGE_NAME"
อ่านเพิ่มเติมเกี่ยวกับ Google Cloud SDK, การติดตั้ง Cloud SDK และคําสั่งต่อไปนี้