אחרי שתירשמו את האפליקציה ל-App Check, בדרך כלל היא לא תפעל במהדורת הדמיה או בסביבת אינטגרציה רציפה (CI), כי הסביבות האלה לא עומדות בדרישות של מכשירי תקינים. אם רוצים להריץ את האפליקציה בסביבה כזו במהלך הפיתוח והבדיקה, אפשר ליצור גרסה לניפוי באגים של האפליקציה שמשתמשת בספק ניפוי הבאגים של App Check במקום בספק אימות אמיתי.
פלטפורמות של Apple
כדי להשתמש בספק ניפוי הבאגים בזמן הפעלת האפליקציה בסימולטור באופן אינטראקטיבי (למשל, במהלך הפיתוח), מבצעים את הפעולות הבאות:
מפעילים את App Check באמצעות ספק ניפוי הבאגים מיד אחרי שמאתחלים את אפליקציית Firebase:
import 'package:flutter/material.dart'; import 'package:firebase_core/firebase_core.dart'; // Import the firebase_app_check plugin import 'package:firebase_app_check/firebase_app_check.dart'; Future<void> main() async { WidgetsFlutterBinding.ensureInitialized(); await Firebase.initializeApp(); await FirebaseAppCheck.instance.activate( // Set appleProvider to `AppleProvider.debug` appleProvider: AppleProvider.debug, ); runApp(App()); }
מפעילים את הרישום ביומן לניפוי באגים בפרויקט Xcode (גרסה 11.0 ואילך):
- פותחים את הקטע Product > Scheme > Edit scheme.
- בתפריט הימני, בוחרים באפשרות הפעלה ואז בכרטיסייה ארגומנטים.
- בקטע Arguments Passed on Launch, מוסיפים את הערך
-FIRDebugEnabled
.
פותחים את
ios/Runner.xcworkspace
ב-Xcode ומריצים את האפליקציה בסימולטור. האפליקציה תדפיס אסימון ניפוי באגים מקומי לפלט ניפוי הבאגים כש-Firebase ינסה לשלוח בקשה לקצה העורפי. לדוגמה:Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
בקטע App Check במסוף Firebase, בוחרים באפשרות Manage debug tokens בתפריט ההזזה למעלה של האפליקציה. לאחר מכן, רושמים את אסימון ניפוי הבאגים שתועד בשלב הקודם.
אחרי שתירשמו את האסימון, שירותי הקצה העורפי של Firebase יקבלו אותו כתקף.
האסימון הזה מאפשר גישה למשאבי Firebase ללא מכשיר תקין, ולכן חשוב לשמור על הפרטיות שלו. אל תיצרו לו גירסה במאגר ציבורי, ואם אסימון רשום נפרץ, צריך לבטל אותו מיד במסוף Firebase.
Android
כדי להשתמש בספק ניפוי הבאגים בזמן הריצה של אפליקציית Flutter בסביבת Android, צריך להטמיע את הקוד הבא באפליקציית Flutter:
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
// Import the firebase_app_check plugin
import 'package:firebase_app_check/firebase_app_check.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
await FirebaseAppCheck.instance.activate(
webRecaptchaSiteKey: 'recaptcha-v3-site-key',
// Set androidProvider to `AndroidProvider.debug`
androidProvider: AndroidProvider.debug,
);
runApp(App());
}
האפליקציה תדפיס אסימון ניפוי באגים מקומי לפלט ניפוי הבאגים כש-Firebase תנסה לשלוח בקשה לקצה העורפי. לדוגמה:
D DebugAppCheckProvider: Enter this debug secret into the allow list in the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
בקטע App Check במסוף Firebase, בוחרים באפשרות Manage debug tokens בתפריט ההזזה למעלה של האפליקציה. לאחר מכן, רושמים את אסימון ניפוי הבאגים שתועד בשלב הקודם.
אחרי שתירשמו את האסימון, שירותי הקצה העורפי של Firebase יקבלו אותו כתקף.
אינטרנט
כדי להשתמש בספק ניפוי הבאגים בזמן הפעלת האפליקציה מ-localhost
(לדוגמה, במהלך הפיתוח), מבצעים את הפעולות הבאות:
בקובץ
web/index.html
, מפעילים את מצב ניפוי הבאגים על ידי הגדרתself.FIREBASE_APPCHECK_DEBUG_TOKEN
ל-true
:<body> <script> self.FIREBASE_APPCHECK_DEBUG_TOKEN = true; </script> ... </body>
מריצים את אפליקציית האינטרנט באופן מקומי ופותחים את כלי הפיתוח של הדפדפן. במסוף ניפוי הבאגים יופיע אסימון ניפוי באגים:
AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will need to safelist it in the Firebase console for it to work.
האסימון הזה נשמר באופן מקומי בדפדפן, והוא ישמש בכל פעם שתשתמשו באפליקציה באותו דפדפן באותו מחשב. אם רוצים להשתמש באסימון בדפדפן אחר או במכונה אחרת, צריך להגדיר את
self.FIREBASE_APPCHECK_DEBUG_TOKEN
למחרוזת האסימון במקום ל-true
.בקטע App Check במסוף Firebase, בוחרים באפשרות Manage debug tokens בתפריט ההזזה למעלה של האפליקציה. לאחר מכן, רושמים את אסימון ניפוי הבאגים שתועד בשלב הקודם.
אחרי שתירשמו את האסימון, שירותי הקצה העורפי של Firebase יקבלו אותו כתקף.
האסימון הזה מאפשר גישה למשאבי Firebase ללא מכשיר תקין, ולכן חשוב לשמור על הפרטיות שלו. אל תיצרו לו גירסה במאגר ציבורי, ואם אסימון רשום נפרץ, צריך לבטל אותו מיד במסוף Firebase.