หน้านี้แสดงวิธีเปิดใช้ App Check ในแอป Android โดยใช้ ผู้ให้บริการ Play Integrity ในตัว เมื่อเปิดใช้ App Check คุณจะช่วยให้มั่นใจได้ว่า เฉพาะแอปของคุณเท่านั้นที่จะเข้าถึงทรัพยากรแบ็กเอนด์ของโปรเจ็กต์ได้ ดูภาพรวมของฟีเจอร์นี้
ผู้ให้บริการ Play Integrity รองรับแอป Android ที่เผยแพร่ใน Google Play, นอก Google Play หรือทั้ง 2 ที่ หากกรณีการใช้งานของคุณต้องใช้ฟีเจอร์ Play Integrity ที่ App Check ไม่ได้ติดตั้งใช้งาน หรือหากต้องการใช้ App Check กับผู้ให้บริการที่กำหนดเองของคุณเอง โปรดดูติดตั้งใช้งานผู้ให้บริการ App Check ที่กำหนดเอง
1. ตั้งค่าโปรเจ็กต์ Firebase
- เพิ่ม Firebase ลงในโปรเจ็กต์ Android หากยังไม่ได้เพิ่ม 
- วิธีเปิดใช้ Play Integrity API - ใน Google Play Console เลือกแอป หรือเพิ่มแอปหากยังไม่ได้ดำเนินการ 
- ในส่วนรุ่น ให้คลิกความสมบูรณ์ของแอป 
- ไปที่ส่วน Play Integrity API ของหน้าเว็บ แล้วคลิกลิงก์โปรเจ็กต์ Cloud จากนั้นเลือกโปรเจ็กต์ Firebase จากรายการโปรเจ็กต์ Google Cloud โปรเจ็กต์ที่คุณเลือกที่นี่ต้องเป็นโปรเจ็กต์ Firebase เดียวกันกับโปรเจ็กต์ที่คุณลงทะเบียนแอป (ดูขั้นตอนถัดไป) 
 
- ลงทะเบียนแอปเพื่อใช้ App Check กับผู้ให้บริการ Play Integrity ในส่วน App Check ของคอนโซล Firebase คุณจะต้องระบุลายนิ้วมือ SHA-256 ของใบรับรองการลงนามของแอป - โดยปกติแล้วคุณจะต้องลงทะเบียนแอปทั้งหมดของโปรเจ็กต์ เนื่องจากเมื่อเปิดใช้การบังคับใช้ผลิตภัณฑ์ Firebase แล้ว เฉพาะแอปที่ลงทะเบียนเท่านั้นที่จะเข้าถึงทรัพยากรแบ็กเอนด์ของผลิตภัณฑ์ได้ 
- ไม่บังคับ: ในการตั้งค่าการลงทะเบียนแอป ให้ตั้งค่า Time-To-Live (TTL) ที่กำหนดเองสำหรับโทเค็น App Check ที่ออกโดยผู้ให้บริการ คุณตั้งค่า TTL เป็นค่าใดก็ได้ระหว่าง 30 นาทีถึง 7 วัน เมื่อเปลี่ยนค่านี้ โปรด คำนึงถึงข้อแลกเปลี่ยนต่อไปนี้ - ความปลอดภัย: TTL ที่สั้นลงจะช่วยเพิ่มความปลอดภัย เนื่องจากจะลด ช่วงเวลาที่ผู้โจมตีจะใช้โทเค็นที่รั่วไหลหรือถูกดักจับในทางที่ผิดได้
- ประสิทธิภาพ: TTL ที่สั้นกว่าหมายความว่าแอปจะทำการรับรองบ่อยขึ้น เนื่องจากกระบวนการรับรองแอปจะเพิ่มเวลาในการตอบสนองให้กับคำขอในเครือข่ายทุกครั้งที่ดำเนินการ การตั้งค่า TTL ที่สั้นจึงอาจส่งผลต่อประสิทธิภาพของแอป
- โควต้าและค่าใช้จ่าย: TTL ที่สั้นลงและการรับรองซ้ำบ่อยๆ จะทำให้โควต้า หมดเร็วขึ้น และสำหรับบริการแบบชำระเงิน อาจมีค่าใช้จ่ายมากขึ้น ดูโควต้าและขีดจำกัด
 - TTL เริ่มต้นของ 1 ชั่วโมง ถือว่าเหมาะสมสำหรับแอปส่วนใหญ่ โปรดทราบว่าApp Checkไลบรารีจะรีเฟรช โทเค็นที่ประมาณครึ่งหนึ่งของระยะเวลา TTL 
กำหนดค่าการตั้งค่าขั้นสูง (ไม่บังคับ)
App Check มีการตั้งค่าหลายอย่างเพื่อรองรับ Use Case ขั้นสูง รวมถึงการเผยแพร่แอปนอก Google Play คุณกำหนดการตั้งค่าเหล่านี้ได้ในส่วนApp Check ของคอนโซล Firebase สำหรับแอป Android แต่ละแอป เราขอแนะนำ ให้คุณกำหนดค่าการตั้งค่าเหล่านี้ตามตารางต่อไปนี้เมื่อลงทะเบียนแอปเป็นครั้งแรก
| ช่องทางการเผยแพร่แอป | PLAY_RECOGNIZED | LICENSED | ระดับความสมบูรณ์ของอุปกรณ์ขั้นต่ำที่ยอมรับได้ | 
|---|---|---|---|
| เฉพาะใน Google Play | ต้องระบุ | ต้องระบุ | ไม่ต้องตรวจสอบระดับความสมบูรณ์ของอุปกรณ์อย่างชัดเจน | 
| นอก Google Play เท่านั้น | ไม่จำเป็น | ไม่จำเป็น | ความสมบูรณ์ของอุปกรณ์ | 
| ใน Google Play และนอก Google Play | ต้องระบุ | ไม่จำเป็น | ไม่ต้องตรวจสอบระดับความสมบูรณ์ของอุปกรณ์อย่างชัดเจน | 
รายละเอียด
การตั้งค่าขั้นสูงแต่ละรายการจะสอดคล้องกับป้ายกำกับผลการตัดสินของ Play Integrity ดูรายละเอียดเพิ่มเติมได้ในเอกสารประกอบเกี่ยวกับ Play Integrity
- โดยค่าเริ่มต้น App Check ต้องมี
PLAY_RECOGNIZEDป้ายกำกับการจดจำแอป แอปที่ไม่ได้เผยแพร่ใน Google Play จะไม่มีสิทธิ์ รับป้ายกำกับนี้
- โดยค่าเริ่มต้น App Check ไม่จำเป็นต้องมีป้ายกำกับ
LICENSEDการอนุญาตให้ใช้แอป เฉพาะผู้ใช้ที่ติดตั้งหรืออัปเดตแอปของคุณ จาก Google Play โดยตรงเท่านั้นที่จะมีสิทธิ์รับป้ายกำกับนี้
- โดยค่าเริ่มต้น App Check จะไม่ตรวจสอบผลการตัดสินความสมบูรณ์ของอุปกรณ์อย่างชัดเจน App Check รองรับการตรวจสอบระดับความปลอดภัยของอุปกรณ์ 3 ระดับต่อไปนี้อย่างชัดเจน โดยเรียงตามลำดับการเพิ่มขึ้นของความปลอดภัยของอุปกรณ์ - ความปลอดภัยพื้นฐาน ทำให้ App Check ต้องมี - MEETS_BASIC_INTEGRITYป้ายกำกับการจดจำอุปกรณ์ หากต้องการให้แอปมีสิทธิ์รับป้ายกำกับไม่บังคับนี้ คุณต้องเลือกใช้จาก Google Play Console ก่อน
- ความสมบูรณ์ของอุปกรณ์ ทำให้ App Check ต้องมี - MEETS_DEVICE_INTEGRITYป้ายกำกับการจดจำอุปกรณ์ แอปทั้งหมดจะมีสิทธิ์รับป้ายกำกับนี้โดยอัตโนมัติ
- ความสมบูรณ์ขั้นสูง ทำให้ App Check ต้องมี - MEETS_STRONG_INTEGRITYป้ายกำกับการจดจำอุปกรณ์ หากต้องการให้แอปมีสิทธิ์รับป้ายกำกับไม่บังคับนี้ คุณต้องเลือกใช้จาก Google Play Console ก่อน
 
2. เพิ่มไลบรารี App Check ลงในแอป
ในไฟล์ Gradle ของโมดูล (ระดับแอป) (โดยมากจะเป็น<project>/<app-module>/build.gradle.kts หรือ
<project>/<app-module>/build.gradle)
ให้เพิ่มทรัพยากร Dependency สำหรับคลัง App Check สำหรับ Android เราขอแนะนำให้ใช้
Firebase Android BoM
เพื่อควบคุมการควบคุมเวอร์ชันของไลบรารี
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.4.0")) // Add the dependencies for the App Check libraries // 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 dependencies for the App Check libraries // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-playintegrity:19.0.1") }
3. เริ่มต้น App Check
เพิ่มโค้ดการเริ่มต้นต่อไปนี้ลงในแอปเพื่อให้โค้ดทํางานก่อนที่คุณจะใช้ Firebase SDK อื่นๆ
Kotlin
Firebase.initialize(context = this) Firebase.appCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance(), )
Java
FirebaseApp.initializeApp(/*context=*/ this); FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance(); firebaseAppCheck.installAppCheckProviderFactory( PlayIntegrityAppCheckProviderFactory.getInstance());
ขั้นตอนถัดไป
เมื่อติดตั้งApp Checkไลบรารีในแอปแล้ว ให้เริ่มเผยแพร่แอปเวอร์ชันอัปเดตแก่ผู้ใช้
แอปไคลเอ็นต์ที่อัปเดตแล้วจะเริ่มส่งโทเค็น App Check พร้อมกับคำขอทุกรายการที่ส่งไปยัง Firebase แต่ผลิตภัณฑ์ Firebase จะไม่กำหนดให้โทเค็นต้องถูกต้องจนกว่าคุณจะเปิดใช้การบังคับใช้ในส่วน App Check ของคอนโซล Firebase
ตรวจสอบเมตริกและเปิดใช้การบังคับใช้
อย่างไรก็ตาม ก่อนที่จะเปิดใช้การบังคับใช้ คุณควรตรวจสอบว่าการดำเนินการดังกล่าวจะไม่ รบกวนผู้ใช้ที่ถูกต้องตามกฎหมายที่มีอยู่ ในทางกลับกัน หากเห็นการใช้ทรัพยากรของแอปอย่างน่าสงสัย คุณอาจต้องเปิดใช้การบังคับใช้ เร็วขึ้น
หากต้องการช่วยในการตัดสินใจนี้ คุณสามารถดูApp Checkเมตริกสำหรับ บริการที่คุณใช้ได้
- ตรวจสอบApp Checkเมตริกคำขอสำหรับ Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity สำหรับ iOS, Maps JavaScript API และ Places API (ใหม่)
- ตรวจสอบApp Checkเมตริกคำขอสำหรับ Cloud Functions
เปิดใช้การบังคับใช้ App Check
เมื่อเข้าใจว่า App Check จะส่งผลต่อผู้ใช้อย่างไรและพร้อมที่จะดำเนินการต่อแล้ว คุณสามารถเปิดใช้การบังคับใช้ App Check ได้โดยทำดังนี้
- เปิดใช้App Checkการบังคับใช้สำหรับ Firebase AI Logic, Data Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity สำหรับ iOS, Maps JavaScript API และ Places API (ใหม่)
- เปิดใช้การบังคับใช้ App Check สำหรับ Cloud Functions
ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง
หากหลังจากลงทะเบียนแอปสำหรับ App Check แล้ว คุณต้องการเรียกใช้แอปในสภาพแวดล้อมที่ปกติแล้ว App Check จะไม่จัดประเภทว่าถูกต้อง เช่น โปรแกรมจำลองระหว่างการพัฒนา หรือจากสภาพแวดล้อมการรวมอย่างต่อเนื่อง (CI) คุณสามารถสร้างบิลด์การแก้ไขข้อบกพร่องของแอปที่ใช้ผู้ให้บริการแก้ไขข้อบกพร่อง App Check แทนผู้ให้บริการการรับรองจริงได้
ดูใช้ App Check กับผู้ให้บริการแก้ไขข้อบกพร่องใน Android