Flutter ile hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma

Uygulamanızı Uygulama Kontrolü için kaydettikten sonra, uygulamanız normal olarak çalışmaz sürekli entegrasyon (CI) ortamından alınır. Çünkü bunlar, ortamları geçerli cihaz olarak nitelendirilmez. Uygulamanızı bu tür bir API ile çalıştırmak test sırasında bir hata ayıklama derlemesi oluşturabilirsiniz. gerçek bir onay yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan uygulamanız sağlar.

Apple platformları

Uygulamanızı bir simülasyon aracında etkileşimli olarak çalıştırırken hata ayıklama sağlayıcısını kullanmak için (örneğin, geliştirme sırasında) aşağıdakileri yapın:

  1. Başlatma işleminden hemen sonra hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü etkinleştirin Firebase uygulamanız:

    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. Xcode projenizde (v11.0 veya daha yeni bir sürüm) hata ayıklama günlüğünü etkinleştirin:

    1. Ürünü açın > Şema > Şemayı düzenleyin.
    2. Soldaki menüden Çalıştır'ı, ardından Bağımsız değişkenler sekmesini seçin.
    3. Lansmanda İletilen Bağımsız Değişkenler bölümüne -FIRDebugEnabled ekleyin.
  3. ios/Runner.xcworkspace uygulamasını Xcode ile açıp uygulamanızı Simülatör'de çalıştırın. Firebase aşağıdaki işlemleri yaptığında uygulamanız, hata ayıklama çıkışına yerel bir hata ayıklama jetonu yazdırır arka uca istek göndermeye çalışıyor. Örneğin:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından Hata ayıklama jetonlarını yönet'i seçin. taşma menüsü. Ardından, önceki girişte günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin adımına geçelim.

    Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

Jetonu kaydetmenizin ardından Firebase arka uç hizmetleri, jetonu geçerli olarak kabul eder.

Çünkü bu jeton, Firebase kaynaklarınıza gizli tutmanız çok önemlidir. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen kullanabilirsiniz.

Android

Flutter uygulamanızı bir Android ortamında çalıştırırken hata ayıklama sağlayıcısını kullanmak için: aşağıdaki kodu Flutter uygulamanıza uygulayın:

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 şunu denediğinde, uygulamanız hata ayıklama çıkışına yerel bir hata ayıklama jetonu yazdırır: arka uca istek gönderin. Örneğin:

D DebugAppCheckProvider: Enter this debug secret into the allow list in
the Firebase Console for your project: 123a4567-b89c-12d3-e456-789012345678
  1. Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından Hata ayıklama jetonlarını yönet'i seçin. taşma menüsü. Ardından, önceki girişte günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin adımına geçelim.

    Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

Jetonu kaydetmenizin ardından Firebase arka uç hizmetleri, jetonu geçerli olarak kabul eder.

Web

Uygulamanızı localhost üzerinde çalıştırırken (hata ayıklama sağlayıcısını) kullanmak için örneğin, şunları yapın:

  1. web/index.html dosyasında, şu ayarı yaparak hata ayıklama modunu etkinleştirin: self.FIREBASE_APPCHECK_DEBUG_TOKEN-true:

    <body>
      <script>
        self.FIREBASE_APPCHECK_DEBUG_TOKEN = true;
      </script>
    
      ...
    
    </body>
    
  2. Web uygulamanızı yerel olarak çalıştırın ve tarayıcının geliştirici aracını açın. bir hata ayıklama jetonu görürsünüz:

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

    Bu jeton, tarayıcınızda yerel olarak depolanır ve uygulamanızı aynı makinedeki aynı tarayıcıda kullanmanız gerekir. Bir web sitesini ziyaret etmek için başka bir tarayıcıda veya makinede Jeton dizesine true yerine self.FIREBASE_APPCHECK_DEBUG_TOKEN ekleyin.

  3. Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından Hata ayıklama jetonlarını yönet'i seçin. taşma menüsü. Ardından, önceki girişte günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin adımına geçelim.

    Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

Jetonu kaydetmenizin ardından Firebase arka uç hizmetleri, jetonu geçerli olarak kabul eder.

Çünkü bu jeton, Firebase kaynaklarınıza gizli tutmanız çok önemlidir. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen kullanabilirsiniz.