Firebase is back at Google I/O on May 10! Register now

השתמש ב-App Check עם ספק ניפוי הבאגים עם Flutter

קל לארגן דפים בעזרת אוספים אפשר לשמור ולסווג תוכן על סמך ההעדפות שלך.

לאחר שרשמת את האפליקציה שלך ל-App Check, האפליקציה שלך בדרך כלל לא תפעל באמולטור או מסביבת אינטגרציה מתמשכת (CI), מכיוון שסביבות אלו אינן מתאימות כמכשירים חוקיים. אם אתה רוצה להפעיל את האפליקציה שלך בסביבה כזו במהלך הפיתוח והבדיקה, תוכל ליצור בניית באגים של האפליקציה שלך המשתמשת בספק ניפוי באגים של App Check במקום בספק אישור אמיתי.

פלטפורמות של אפל

כדי להשתמש בספק ניפוי הבאגים בזמן הפעלת האפליקציה שלך בסימולטור באופן אינטראקטיבי (במהלך הפיתוח, למשל), בצע את הפעולות הבאות:

  1. בקובץ ios/Runner/AppDelegate.swift (או AppDelegate.m ), צור והגדר את המפעל של ספק ניפוי ה-App Check ב-Debug builds:

    מָהִיר

    import UIKit
    import Flutter
    import Firebase  // Add the Firebase import.
    
    @UIApplicationMain
    @objc class AppDelegate: FlutterAppDelegate {
      override func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?
      ) -> Bool {
        // Use the debug provider in Debug builds:
    #if DEBUG
        let providerFactory = AppCheckDebugProviderFactory()
        AppCheck.setAppCheckProviderFactory(providerFactory)
    #endif
    
        GeneratedPluginRegistrant.register(with: self)
        return super.application(application, didFinishLaunchingWithOptions: launchOptions)
      }
    }
    

    Objective-C

    #import "AppDelegate.h"
    #import "GeneratedPluginRegistrant.h"
    @import Firebase;  // Add the Firebase import.
    
    @implementation AppDelegate
    
    - (BOOL)application:(UIApplication *)application
        didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
      // Use the debug provider in Debug builds:
    #if DEBUG
      FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init];
      [FIRAppCheck setAppCheckProviderFactory:providerFactory];
    #endif
      [GeneratedPluginRegistrant registerWithRegistry:self];
      // Override point for customization after application launch.
      return [super application:application didFinishLaunchingWithOptions:launchOptions];
    }
    
    @end
    
  2. אפשר רישום באגים בפרויקט Xcode שלך ​​(גרסה 11.0 ומעלה):

    1. פתח את המוצר > סכימה > עריכת סכמה .
    2. בחר הפעלה מהתפריט השמאלי ולאחר מכן בחר בכרטיסייה ארגומנטים .
    3. בקטע הטיעונים שהועברו בהפעלה , הוסף -FIRDebugEnabled .
  3. פתח את ios/Runner.xcworkspace עם Xcode והפעל את האפליקציה שלך בסימולטור. האפליקציה שלך תדפיס אסימון ניפוי באגים מקומי לפלט ניפוי הבאגים כאשר Firebase ינסה לשלוח בקשה ל-backend. לדוגמה:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. בקטע בדיקת אפליקציות של מסוף Firebase, בחר נהל אסימוני ניפוי באגים מתפריט ההצפה של האפליקציה שלך. לאחר מכן, רשום את אסימון ניפוי הבאגים שהתחברת בשלב הקודם.

    צילום מסך של פריט התפריט Manage Debug Tokens

לאחר שתרשום את האסימון, שירותי הקצה האחורי של Firebase יקבלו אותו כתקף.

מכיוון שהאסימון הזה מאפשר גישה למשאבי Firebase שלך ​​ללא מכשיר חוקי, חיוני לשמור אותו פרטי. אל תחייב אותו למאגר ציבורי, ואם אסימון רשום נפגע אי פעם, בטל אותו מיד במסוף Firebase.

דְמוּי אָדָם

כדי להשתמש בספק ניפוי הבאגים בזמן הפעלת אפליקציית Flutter שלך בסביבת אנדרואיד, יישם את הקוד הבא באפליקציית 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 ינסה לשלוח בקשה ל-backend. לדוגמה:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. בקטע בדיקת אפליקציות של מסוף Firebase, בחר נהל אסימוני ניפוי באגים מתפריט ההצפה של האפליקציה שלך. לאחר מכן, רשום את אסימון ניפוי הבאגים שהתחברת בשלב הקודם.

    צילום מסך של פריט התפריט Manage Debug Tokens

לאחר שתרשום את האסימון, שירותי הקצה האחורי של Firebase יקבלו אותו כתקף.

אינטרנט

כדי להשתמש בספק ניפוי הבאגים בזמן הפעלת האפליקציה שלך מ- localhost (במהלך פיתוח, למשל), בצע את הפעולות הבאות:

  1. בקובץ web/index.html , הפעל מצב ניפוי באגים על ידי הגדרת self.FIREBASE_APPCHECK_DEBUG_TOKEN ל- true :

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. הפעל את אפליקציית האינטרנט שלך באופן מקומי ופתח את כלי המפתחים של הדפדפן. במסוף ניפוי הבאגים, תראה אסימון ניפוי באגים:

    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 .

  3. בקטע בדיקת אפליקציות של מסוף Firebase, בחר נהל אסימוני ניפוי באגים מתפריט ההצפה של האפליקציה שלך. לאחר מכן, רשום את אסימון ניפוי הבאגים שהתחברת בשלב הקודם.

    צילום מסך של פריט התפריט Manage Debug Tokens

לאחר שתרשום את האסימון, שירותי הקצה האחורי של Firebase יקבלו אותו כתקף.

מכיוון שהאסימון הזה מאפשר גישה למשאבי Firebase שלך ​​ללא מכשיר חוקי, חיוני לשמור אותו פרטי. אל תחייב אותו למאגר ציבורי, ואם אסימון רשום נפגע אי פעם, בטל אותו מיד במסוף Firebase.