Używanie Sprawdzania aplikacji z dostawcą debugowania w ramach Flutter

Po zarejestrowaniu aplikacji w Sprawdzaniu aplikacji nie będzie ona zwykle działać w emulatorze ani w środowisku ciągłej integracji (CI), ponieważ te środowiska nie są uznawane za prawidłowe urządzenia. Jeśli chcesz uruchomić aplikację w takim środowisku podczas tworzenia i testowania, możesz utworzyć wersję debugową aplikacji, która używa dostawcy debugowania Sprawdzania aplikacji zamiast prawdziwego dostawcy uwierzytelniania.

Platformy Apple

Aby korzystać z usługi debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (np. podczas tworzenia), wykonaj te czynności:

  1. Aktywuj Sprawdzanie aplikacji u dostawcy debugowania zaraz po zainicjowaniu aplikacji 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());
    }
    
  2. Włącz debugowanie w projekcie Xcode (w wersji 11.0 lub nowszej):

    1. Kliknij Produkt > Schemat > Edytuj schemat.
    2. W menu po lewej stronie wybierz Uruchom, a potem wybierz kartę Argumenty.
    3. W sekcji Argumenty przekazywane podczas uruchamiania dodaj -FIRDebugEnabled.
  3. Otwórz ios/Runner.xcworkspace w Xcode i uruchom aplikację w symulatorze. Gdy Firebase będzie próbować wysłać żądanie do backendu, aplikacja wypisze lokalny token debugowania w danych debugowania. Przykład:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. W sekcji App Check konsoli Firebase kliknij Zarządzaj tokenami debugowania w menu aplikacji. Następnie zarejestruj token debugowania, który został zarejestrowany w poprzednim kroku.

    Zrzut ekranu pokazujący pozycję menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi backendowe Firebase uznają go za prawidłowy.

Ponieważ ten token umożliwia dostęp do Twoich zasobów Firebase bez prawidłowego urządzenia, musisz zachować go w prywatności. Nie publikuj go w publicznych repozytoriach. Jeśli zarejestrowany token zostanie skompromitowany, natychmiast cofnij go w konsoli Firebase.

Android

Aby używać dostawcy debugowania podczas uruchamiania aplikacji Flutter w środowisku Androida, w aplikacji Fluttera zastosuj ten kod:

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());
}

Gdy Firebase spróbuje wysłać żądanie do backendu, aplikacja wypisze lokalny token debugowania w wyjściu debugowania. Przykład:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. W sekcji App Check konsoli Firebase kliknij Zarządzaj tokenami debugowania w menu aplikacji. Następnie zarejestruj token debugowania, który został zarejestrowany w poprzednim kroku.

    Zrzut ekranu pokazujący pozycję menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi backendowe Firebase uznają go za prawidłowy.

Sieć

Aby korzystać z usługi debugowania podczas uruchamiania aplikacji z localhost (np. podczas tworzenia), wykonaj te czynności:

  1. W pliku web/index.html włącz tryb debugowania, ustawiając wartość self.FIREBASE_APPCHECK_DEBUG_TOKEN na true:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Uruchom aplikację internetową lokalnie i otwórz narzędzie dla programistów w przeglądarce. W konsoli debugowania zobaczysz token debugowania:

    AppCheck debug token: "123a4567-b89c-12d3-e456-789012345678". You will
    need to safelist it in the Firebase console for it to work.

    Token jest przechowywany lokalnie w przeglądarce i będzie używany za każdym razem, gdy używasz aplikacji w tej samej przeglądarce na tym samym komputerze. Jeśli chcesz używać tokena w innej przeglądarce lub na innym urządzeniu, zamiast ciągu true ustaw wartość self.FIREBASE_APPCHECK_DEBUG_TOKEN.

  3. W sekcji App Check konsoli Firebase kliknij Zarządzaj tokenami debugowania w menu aplikacji. Następnie zarejestruj token debugowania, który został zarejestrowany w poprzednim kroku.

    Zrzut ekranu pokazujący pozycję menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi backendowe Firebase uznają go za prawidłowy.

Ponieważ ten token umożliwia dostęp do Twoich zasobów Firebase bez prawidłowego urządzenia, musisz zachować go w prywatności. Nie publikuj go w publicznych repozytoriach. Jeśli zarejestrowany token zostanie skompromitowany, natychmiast cofnij go w konsoli Firebase.