หน้านี้แสดงวิธีเปิดใช้งานการตรวจสอบแอปในแอป Android โดยใช้ผู้ให้บริการ Play Integrity ในตัว เมื่อคุณเปิดใช้การตรวจสอบแอป คุณช่วยให้แน่ใจว่าแอปของคุณเท่านั้นที่สามารถเข้าถึงทรัพยากร Firebase ของโครงการได้ ดู ภาพรวม ของคุณสมบัตินี้
ปัจจุบัน ผู้ให้บริการ Play Integrity ในตัวรองรับเฉพาะแอป Android ที่จัดจำหน่ายโดย Google Play หากต้องการใช้ฟีเจอร์นอก Play ของ Play Integrity หรือใช้ App Check กับผู้ให้บริการที่คุณกำหนดเอง โปรดดูที่ Implement a custom App Check provider
1. ตั้งค่าโครงการ Firebase ของคุณ
เพิ่ม Firebase ในโครงการ Android ของคุณ หากคุณยังไม่ได้ดำเนินการ
เปิดใช้ Play Integrity API:
ใน Google Play Console เลือกแอปของคุณหรือเพิ่มแอปหากคุณยังไม่ได้ดำเนินการ
ในส่วน รุ่น ให้ คลิก การตั้งค่า > ความสมบูรณ์ของแอป
ในหน้า Integrity API ให้คลิก ลิงก์โครงการ จากนั้นเลือกโครงการ Firebase ของคุณจากรายการโครงการ Google Cloud
โปรเจ็กต์ที่คุณเลือกที่นี่ต้องเป็นโปรเจ็กต์ Firebase เดียวกันกับโปรเจ็กต์ที่คุณลงทะเบียนแอป (ดูขั้นตอนถัดไป)
ลงทะเบียนแอปของคุณเพื่อใช้การตรวจสอบแอปกับผู้ให้บริการ Play Integrity ในส่วน การตรวจสอบแอป ของคอนโซล Firebase คุณจะต้อง ระบุลายนิ้วมือ SHA-256 ของใบรับรองการลงนามแอปของคุณ
โดยปกติคุณจะต้องลงทะเบียนแอปทั้งหมดของโครงการ เนื่องจากเมื่อคุณเปิดใช้งานการบังคับใช้สำหรับผลิตภัณฑ์ Firebase แล้ว เฉพาะแอปที่ลงทะเบียนแล้วเท่านั้นที่จะสามารถเข้าถึงทรัพยากรแบ็กเอนด์ของผลิตภัณฑ์ได้
ทางเลือก : ในการตั้งค่าการลงทะเบียนแอพ ให้ตั้งค่า time-to-live (TTL) แบบกำหนดเองสำหรับโทเค็น App Check ที่ออกโดยผู้ให้บริการ คุณสามารถตั้งค่า TTL เป็นค่าใดก็ได้ระหว่าง 30 นาทีถึง 7 วัน เมื่อเปลี่ยนค่านี้ ให้ระวังการแลกเปลี่ยนต่อไปนี้:
- ความปลอดภัย: TTL ที่สั้นกว่าให้การรักษาความปลอดภัยที่แน่นหนากว่า เนื่องจากช่วยลดหน้าต่างที่ผู้โจมตีสามารถใช้โทเค็นที่รั่วไหลหรือสกัดกั้นได้
- ประสิทธิภาพ: TTL ที่สั้นลงหมายความว่าแอปของคุณจะดำเนินการรับรองบ่อยขึ้น เนื่องจากกระบวนการรับรองแอปเพิ่มเวลาแฝงให้กับคำขอเครือข่ายทุกครั้งที่ดำเนินการ TTL สั้นๆ อาจส่งผลต่อประสิทธิภาพของแอปได้
- โควต้าและค่าใช้จ่าย: TTL ที่สั้นลงและการยืนยันซ้ำบ่อยครั้งจะทำให้โควต้าของคุณหมดเร็วขึ้น และสำหรับบริการแบบชำระเงิน อาจมีค่าใช้จ่ายสูงกว่า ดู โควต้าและขีดจำกัด
TTL เริ่มต้นที่ 1 ชั่วโมง นั้นสมเหตุสมผลสำหรับแอปส่วนใหญ่ โปรดทราบว่าไลบรารี App Check จะรีเฟรชโทเค็นที่ประมาณครึ่งหนึ่งของระยะเวลา TTL
2. เพิ่มไลบรารี App Check ลงในแอปของคุณ
ใน ไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยปกติคือ<project>/<app-module>/build.gradle
) ให้เพิ่มการอ้างอิงสำหรับไลบรารี App Check ของ Android ขอแนะนำให้ใช้ Firebase Android BoM เพื่อควบคุมการกำหนดเวอร์ชันของไลบรารี Kotlin+KTX
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // Add the dependency for the App Check library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-appcheck-playintegrity' }
เมื่อใช้ Firebase Android BoM แอปของคุณจะใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้เสมอ
(ทางเลือก) เพิ่มการอ้างอิงไลบรารี Firebase โดยไม่ต้อง ใช้ BoM
หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุแต่ละเวอร์ชันของไลบรารี Firebase ในบรรทัดอ้างอิง
โปรดทราบว่าหากคุณใช้ไลบรารี Firebase หลาย ไลบรารีในแอป เราขอแนะนำอย่างยิ่งให้ใช้ BoM เพื่อจัดการเวอร์ชันของไลบรารี ซึ่งทำให้แน่ใจว่าเวอร์ชันทั้งหมดเข้ากันได้
dependencies { // Add the dependency for the App Check library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-appcheck-playintegrity:17.0.1' }
Java
dependencies { // Import the BoM for the Firebase platform implementation platform('com.google.firebase:firebase-bom:32.1.0') // Add the dependency for the App Check library // When using the BoM, you don't specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-appcheck-playintegrity' }
เมื่อใช้ Firebase Android BoM แอปของคุณจะใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้เสมอ
(ทางเลือก) เพิ่มการอ้างอิงไลบรารี Firebase โดยไม่ต้อง ใช้ BoM
หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุแต่ละเวอร์ชันของไลบรารี Firebase ในบรรทัดอ้างอิง
โปรดทราบว่าหากคุณใช้ไลบรารี Firebase หลาย ไลบรารีในแอป เราขอแนะนำอย่างยิ่งให้ใช้ BoM เพื่อจัดการเวอร์ชันของไลบรารี ซึ่งทำให้แน่ใจว่าเวอร์ชันทั้งหมดเข้ากันได้
dependencies { // Add the dependency for the App Check library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation 'com.google.firebase:firebase-appcheck-playintegrity:17.0.1' }
3. เริ่มต้นการตรวจสอบแอป
เพิ่มรหัสการเริ่มต้นต่อไปนี้ลงในแอปของคุณ เพื่อให้แอปทำงานก่อนที่คุณจะใช้ Firebase SDK อื่นๆ:
Kotlin+KTX
FirebaseApp.initializeApp(/*context=*/this)
val firebaseAppCheck = FirebaseAppCheck.getInstance()
firebaseAppCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance()
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
PlayIntegrityAppCheckProviderFactory.getInstance());
ขั้นตอนถัดไป
เมื่อติดตั้งไลบรารี App Check ในแอปของคุณแล้ว ให้เริ่มแจกจ่ายแอปที่อัปเดตให้กับผู้ใช้ของคุณ
แอปไคลเอ็นต์ที่อัปเดตจะเริ่มส่งโทเค็น App Check ไปพร้อมกับทุกคำขอที่ส่งไปยัง Firebase แต่ผลิตภัณฑ์ Firebase จะไม่กำหนดให้โทเค็นถูกต้องจนกว่าคุณจะเปิดใช้งานการบังคับใช้ในส่วนการตรวจสอบแอปของคอนโซล Firebase
ตรวจสอบเมตริกและเปิดใช้งานการบังคับใช้
อย่างไรก็ตาม ก่อนที่คุณจะเปิดใช้งานการบังคับใช้ คุณควรตรวจสอบให้แน่ใจว่าการทำเช่นนั้นจะไม่รบกวนผู้ใช้ที่ถูกต้องตามกฎหมายที่มีอยู่ของคุณ ในทางกลับกัน หากคุณเห็นการใช้ทรัพยากรแอปของคุณอย่างน่าสงสัย คุณอาจต้องการเปิดใช้งานการบังคับใช้เร็วกว่านี้
เพื่อช่วยในการตัดสินใจนี้ คุณสามารถดูเมตริก App Check สำหรับบริการที่คุณใช้:
- ตรวจสอบเมตริกคำขอตรวจสอบแอป สำหรับฐานข้อมูลเรียลไทม์, Cloud Firestore, Cloud Storage และการรับรองความถูกต้อง (เบต้า)
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Cloud Functions
เปิดใช้การบังคับใช้การตรวจสอบแอป
เมื่อคุณเข้าใจว่า App Check จะส่งผลต่อผู้ใช้ของคุณอย่างไร และคุณพร้อมที่จะดำเนินการต่อ คุณสามารถเปิดใช้การบังคับใช้ App Check ได้:
- เปิดใช้การบังคับใช้การตรวจสอบแอป สำหรับฐานข้อมูลเรียลไทม์, Cloud Firestore, Cloud Storage และการตรวจสอบสิทธิ์ (เบต้า)
- เปิดใช้งานการบังคับใช้การตรวจสอบแอพสำหรับฟังก์ชั่นคลาวด์
ใช้ App Check ในสภาพแวดล้อมการดีบัก
หากหลังจากลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการเปิดใช้แอปในสภาพแวดล้อมที่ปกติแล้ว App Check จะไม่จัดว่าถูกต้อง เช่น โปรแกรมจำลองระหว่างการพัฒนา หรือจากสภาพแวดล้อมการผสานรวมอย่างต่อเนื่อง (CI) คุณสามารถ สร้างบิลด์แก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการตรวจแก้จุดบกพร่อง App Check แทนผู้ให้บริการรับรองจริง
ดู ใช้การตรวจสอบแอปกับผู้ให้บริการแก้ไขจุดบกพร่องบน Android