| เลือกแพลตฟอร์ม: | iOS+ Android Web Flutter |
หน้านี้จะแสดงวิธีตั้งค่า App Check ในแอป Android โดยใช้ผู้ให้บริการ reCAPTCHA Enterprise App Check ช่วยให้มั่นใจได้ ว่าเฉพาะแอปของคุณเท่านั้นที่จะเข้าถึงทรัพยากรแบ็กเอนด์ของโปรเจ็กต์ได้ ดูข้อมูลเพิ่มเติมได้ที่ ภาพรวมของ App Check
App Check กำหนดให้ใช้คีย์ ตามคะแนน reCAPTCHA ซึ่ง ทำให้ผู้ใช้มองไม่เห็น ซึ่งหมายความว่าreCAPTCHA Enterprise ผู้ให้บริการจะไม่กำหนดให้ผู้ใช้แก้ปัญหาความท้าทายในทุกกรณี
หาก Use Case ของคุณต้องใช้ฟีเจอร์ reCAPTCHA Enterprise ที่ไม่ได้ติดตั้งใช้งาน โดย App Check หรือหากต้องการใช้ App Check กับผู้ให้บริการที่กำหนดเอง โปรดดูหัวข้อ ติดตั้งใช้งานผู้ให้บริการ App Check ที่กำหนดเอง
1. ตั้งค่าโปรเจ็กต์ Firebase
หากยังไม่ได้ดำเนินการ ให้ เพิ่ม Firebase ในโปรเจ็กต์ Android
ในคอนโซล Google Cloud ให้ไปที่หน้า Fraud Defense แล้วทำดังนี้สำหรับผู้ให้บริการ reCAPTCHA Enterprise
ตรวจสอบว่าคุณอยู่ในโปรเจ็กต์ที่ถูกต้อง (ดูตัวเลือกโปรเจ็กต์ที่ด้านบนของหน้าจอ)
หากได้รับข้อความแจ้ง ให้เปิดใช้ reCAPTCHA Enterprise API
สร้างคีย์ประเภท Android แล้วระบุชื่อแพ็กเกจของแอป (เช่น
com.example.my_app)ตรวจสอบว่าคุณป้อนชื่อแพ็กเกจเดียวกันกับที่ระบุไว้เมื่อสร้างแอป Firebase ของ Android ในโปรเจ็กต์ Firebase ค่าชื่อแพ็กเกจจะคำนึงถึงตัวพิมพ์เล็กและตัวพิมพ์ใหญ่
สำหรับ App Check ชื่อแพ็กเกจแต่ละชื่อจะใช้ได้กับคีย์ เพียงคีย์เดียวเท่านั้น reCAPTCHA
ดูวิธีการโดยละเอียดได้ที่ สร้างคีย์ reCAPTCHA ตามคะแนน
จดคีย์นี้ไว้ คุณจะต้องเพิ่มคีย์นี้ลงในขั้นตอนการลงทะเบียน ในคอนโซล Firebase
ในคอนโซล Firebase ให้ไปที่ความปลอดภัย > App Check
ในแท็บแอป ให้ลงทะเบียนแอป Android เพื่อใช้ App Check กับผู้ให้บริการreCAPTCHA Enterprise คุณจะต้องระบุคีย์ที่ได้รับในคอนโซล Google Cloud
ไม่บังคับ: ตั้งค่า Time to Live (TTL) ของโทเค็น
ในการตั้งค่าการลงทะเบียนแอป ให้ตั้งค่า Time to Live (TTL) ที่กำหนดเองสำหรับ App Check โทเค็นที่ออกโดยผู้ให้บริการ คุณสามารถตั้งค่า TTL เป็นค่าใดก็ได้ระหว่าง 30 นาทีถึง 7 วัน เมื่อเปลี่ยนค่านี้ โปรดทราบถึงข้อดีข้อเสียต่อไปนี้
- ความปลอดภัย: TTL ที่สั้นลงจะช่วยเพิ่มความปลอดภัย เนื่องจากจะลดระยะเวลาที่ผู้โจมตีจะใช้โทเค็นที่รั่วไหลหรือถูกดักจับในทางที่ผิดได้
- ประสิทธิภาพ: TTL ที่สั้นลงหมายความว่าแอปจะทำการรับรองบ่อยขึ้น เนื่องจากกระบวนการรับรองแอปจะเพิ่มเวลาในการตอบสนองให้กับคำขอเครือข่ายทุกครั้งที่ดำเนินการ ดังนั้น TTL ที่สั้นจึงอาจส่งผลต่อประสิทธิภาพของแอป
- โควต้าและค่าใช้จ่าย: TTL ที่สั้นลงและการรับรองซ้ำบ่อยๆ จะทำให้โควต้าหมดเร็วขึ้น และสำหรับบริการแบบชำระเงิน อาจมีค่าใช้จ่ายมากขึ้น ดูโควต้าและขีดจำกัด
TTL เริ่มต้นที่ 1 ชั่วโมง เหมาะสมกับแอปส่วนใหญ่ โปรดทราบว่าไลบรารี App Check จะรีเฟรช โทเค็นที่ประมาณครึ่งหนึ่งของระยะเวลา TTL
ไม่บังคับ: กำหนดค่าการตั้งค่าขั้นสูง
คลิกบันทึก
(ไม่บังคับ) กำหนดค่าการตั้งค่าขั้นสูง
เมื่อผู้ใช้เปิดแอป reCAPTCHA Enterprise จะประเมินระดับ ความเสี่ยงที่การโต้ตอบของผู้ใช้ภายใต้คีย์นั้นๆ ก่อให้เกิด และแสดงคะแนนระหว่าง 0.0 ถึง 1.0 โดยเพิ่มขึ้นทีละ 0.1
- คะแนน 0.0 บ่งบอกว่าการโต้ตอบมีความเสี่ยงสูงและอาจเป็นการฉ้อโกง
- คะแนน 1.0 บ่งบอกว่าการโต้ตอบมีความเสี่ยงต่ำและมีแนวโน้มสูงที่จะเป็นของจริง
App Check ช่วยให้คุณกำหนดค่าเกณฑ์ความเสี่ยงของแอป เพื่อให้คุณปรับระดับ การยอมรับความเสี่ยงนี้ได้
สำหรับ Use Case ส่วนใหญ่ เราขอแนะนำให้ใช้ค่าเกณฑ์เริ่มต้นที่ 0.5 หาก Use Case ของคุณต้องมีการปรับเปลี่ยน คุณสามารถกำหนดค่านี้สำหรับแต่ละ แอปในคอนโซลFirebase (ไปที่ ความปลอดภัย > App Check) โปรดขยายและอ่าน ข้อควรพิจารณาที่สำคัญบางประการเกี่ยวกับการกำหนดค่าเกณฑ์ความเสี่ยงของแอป ด้านล่าง
2. เพิ่ม App Check SDK ลงในแอป
หากต้องการใช้ผู้ให้บริการ reCAPTCHA Enterprise คุณต้องเพิ่มทรัพยากร Dependency ที่เกี่ยวข้อง
{<project>/<app-module>/build.gradle.kts<project>/<app-module>/build.gradleApp CheckreCAPTCHA เราขอแนะนำให้ใช้
Firebase Android BoM
เพื่อควบคุมการกำหนดเวอร์ชันของไลบรารี
dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.19.0")) // Add the dependency for the App Check reCAPTCHA library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha") }
การใช้ Firebase Android BoM, จะทำให้แอปใช้ไลบรารี Firebase Android เวอร์ชันที่เข้ากันได้อยู่เสมอ
(ทางเลือก) เพิ่มการอ้างอิงไลบรารี Firebase โดยไม่ ใช้ BoM
หากเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันไลบรารี Firebase แต่ละเวอร์ชัน ในบรรทัดทรัพยากร Dependency
โปรดทราบว่าหากคุณใช้ไลบรารี Firebase หลายรายการ ในแอป เราขอแนะนำอย่างยิ่งให้ใช้ BoM เพื่อจัดการเวอร์ชันไลบรารี ซึ่งจะช่วยให้มั่นใจได้ว่าทุกเวอร์ชันเข้ากันได้
dependencies { // Add the dependency for the App Check reCAPTCHA library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-appcheck-recaptcha:19.2.1") }
3. เริ่มต้น App Check
ในแอป คุณต้องเริ่มต้น App Check ก่อนที่จะใช้บริการ Firebase อื่นๆ
Kotlin
Firebase.initialize(context = this)
Firebase.appCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY")
)
Java
FirebaseApp.initializeApp(/*context=*/ this);
FirebaseAppCheck firebaseAppCheck = FirebaseAppCheck.getInstance();
firebaseAppCheck.installAppCheckProviderFactory(
RecaptchaAppCheckProviderFactory.getInstance("SITE_KEY"));
4. ตรวจสอบเมตริกและเปิดใช้การบังคับใช้
หลังจากตั้งค่า App Check ในแอปแล้ว ให้เริ่มเผยแพร่แอปที่อัปเดตแล้ว ไปยังผู้ใช้
แอปไคลเอ็นต์ที่อัปเดตแล้วจะเริ่มส่ง App Check โทเค็นพร้อมกับทุก คำขอที่ส่งไปยัง Firebase อย่างไรก็ตาม App Check จะไม่บล็อกคำขอที่มี โทเค็นไม่ถูกต้องจนกว่าจะมีการบังคับใช้ App Check
ตรวจสอบเมตริก
ก่อนที่จะเปิดใช้การบังคับใช้ โปรดตรวจสอบว่าการดำเนินการดังกล่าวจะไม่ส่งผลกระทบต่อ ผู้ใช้ที่ถูกต้องตามกฎหมายที่มีอยู่ อย่างไรก็ตาม หากพบการใช้ทรัพยากรแอปที่น่าสงสัย คุณอาจต้องการเปิดใช้การบังคับใช้เร็วขึ้น
คุณสามารถตรวจสอบเมตริก App Check สำหรับ บริการที่ใช้เพื่อช่วยในการตัดสินใจได้ดังนี้
- ตรวจสอบเมตริกคำขอ App Check สำหรับ Firebase AI Logic, SQL 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, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, Google Identity สำหรับ iOS, Maps JavaScript API และ Places API (ใหม่)
- เปิดใช้การบังคับใช้ App Check สำหรับ Cloud Functions
ใช้ App Check ในสภาพแวดล้อมการแก้ไขข้อบกพร่อง
App Check จัดประเภทสภาพแวดล้อมบางประเภทว่าไม่ถูกต้อง เช่น คำขอจาก โปรแกรมจำลอง / เครื่องจำลอง ระหว่างการพัฒนา หรือจากสภาพแวดล้อมการรวมอย่างต่อเนื่อง (CI)
หากต้องการเรียกใช้แอปในสภาพแวดล้อมประเภทนี้หลังจาก App Check มีการบังคับใช้ คุณต้องสร้างบิลด์การแก้ไขข้อบกพร่องของแอปที่ใช้ App Check ผู้ให้บริการการแก้ไขข้อบกพร่องแทนผู้ให้บริการการรับรองการใช้งานจริง
ดูรายละเอียดเพิ่มเติมได้ที่ ใช้ App Check กับผู้ให้บริการการแก้ไขข้อบกพร่องใน Android
ราคา
App Check จะสร้างการประเมินในนามของคุณเพื่อตรวจสอบโทเค็นการตอบกลับของผู้ใช้ ทุกครั้งที่แอปรีเฟรชโทเค็น App Check ระบบจะเรียกเก็บเงินจากโปรเจ็กต์ Firebase สำหรับการประเมินแต่ละครั้งที่สร้างขึ้นซึ่งเกินโควต้าแบบไม่มีค่าใช้จ่าย ดูรายละเอียดได้ที่ reCAPTCHA ราคา
โดยค่าเริ่มต้น แอปจะรีเฟรชโทเค็นนี้ 2 ครั้งทุกๆ 1 ชั่วโมง หากต้องการ ควบคุมความถี่ที่แอปจะรีเฟรชโทเค็น App Check (และควบคุมความ ถี่ในการสร้างการประเมินใหม่) คุณสามารถ กำหนดค่า TTL ของโทเค็นได้