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 na etapie programowania i testowania chcesz uruchamiać aplikację w takim środowisku, możesz utworzyć jej kompilację do debugowania, która będzie korzystać z dostawcy debugowania Sprawdzania aplikacji zamiast prawdziwego dostawcy atestów.

Platformy Apple

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

  1. Aktywuj Sprawdzanie aplikacji u dostawcy debugowania tuż 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 Arguments Passed at Launch (Argumenty przekazane przy uruchomieniu) dodaj parametr -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 w konsoli Firebase wybierz w rozszerzonym menu aplikacji Zarządzaj tokenami debugowania. Następnie zarejestruj token debugowania, który został zapisany 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 korzystania z ważnego 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 zaimplementuj 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 wydrukuje lokalny token debugowania w danych wyjściowych 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ł zapisany 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 dostawcy debugowania podczas uruchamiania aplikacji z localhost (np. w czasie jej programowania), 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ł zapisany 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 korzystania z ważnego 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.