Użyj sprawdzania aplikacji u dostawcy debugowania za pomocą Flutter

Po zarejestrowaniu aplikacji do sprawdzania aplikacji zwykle nie będzie ona działać w emulatorze ani w środowisku ciągłej integracji (CI), ponieważ środowiska te nie kwalifikują się jako prawidłowe urządzenia. Jeśli chcesz uruchamiać aplikację w takim środowisku podczas programowania i testowania, możesz utworzyć kompilację debugowania aplikacji, która korzysta z dostawcy debugowania App Check zamiast prawdziwego dostawcy zaświadczenia.

Platformy Apple

Aby użyć dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (na przykład podczas programowania), wykonaj następujące 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 rejestrowanie debugowania w projekcie Xcode (wersja 11.0 lub nowsza):

    1. Otwórz Produkt > Schemat > Edytuj schemat .
    2. Wybierz opcję Uruchom z lewego menu, a następnie wybierz kartę Argumenty .
    3. W sekcji Argumenty przekazywane przy uruchomieniu dodaj -FIRDebugEnabled .
  3. Otwórz ios/Runner.xcworkspace za pomocą Xcode i uruchom aplikację w symulatorze. Twoja aplikacja wydrukuje lokalny token debugowania na wyjściu debugowania, gdy Firebase spróbuje wysłać żądanie do zaplecza. Na przykład:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz opcję Zarządzaj tokenami debugowania z rozszerzonego menu aplikacji. Następnie zarejestruj token debugowania zarejestrowany w poprzednim kroku.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.

Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować jego prywatność. Nie udostępniaj go w publicznym repozytorium, a jeśli kiedykolwiek zarejestrowany token zostanie kiedykolwiek naruszony, unieważnij go natychmiast w konsoli Firebase.

Android

Aby korzystać z dostawcy debugowania podczas uruchamiania aplikacji Flutter w środowisku Android, zaimplementuj następujący kod w swojej aplikacji 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());
}

Twoja aplikacja wydrukuje lokalny token debugowania na wyjściu debugowania, gdy Firebase spróbuje wysłać żądanie do zaplecza. Na 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 Sprawdzanie aplikacji w konsoli Firebase wybierz opcję Zarządzaj tokenami debugowania z rozszerzonego menu aplikacji. Następnie zarejestruj token debugowania zarejestrowany w poprzednim kroku.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.

Sieć

Aby użyć dostawcy debugowania podczas uruchamiania aplikacji z localhost (na przykład podczas programowania), wykonaj następujące 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 programistyczne 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 ten jest przechowywany lokalnie w Twojej przeglądarce i będzie używany za każdym razem, gdy będziesz korzystać z aplikacji w tej samej przeglądarce i na tym samym komputerze. Jeśli chcesz użyć tokena w innej przeglądarce lub na innym komputerze, ustaw self.FIREBASE_APPCHECK_DEBUG_TOKEN na ciąg tokenu zamiast true .

  3. W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz opcję Zarządzaj tokenami debugowania z rozszerzonego menu aplikacji. Następnie zarejestruj token debugowania zarejestrowany w poprzednim kroku.

    Zrzut ekranu przedstawiający element menu Zarządzaj tokenami debugowania

Po zarejestrowaniu tokena usługi zaplecza Firebase zaakceptują go jako ważny.

Ponieważ ten token umożliwia dostęp do zasobów Firebase bez ważnego urządzenia, ważne jest, aby zachować jego prywatność. Nie udostępniaj go w publicznym repozytorium, a jeśli kiedykolwiek zarejestrowany token zostanie kiedykolwiek naruszony, unieważnij go natychmiast w konsoli Firebase.