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

Uygulamanızı Uygulama Kontrolü için kaydettikten sonra uygulamanız normalde bir öykünücüde veya sürekli entegrasyon (CI) ortamında çalışmaz çünkü bu ortamlar geçerli cihazlar olarak nitelendirilmez. Uygulamanızı geliştirme ve test sırasında böyle bir ortamda çalıştırmak istiyorsanız, uygulamanızın gerçek bir doğrulama sağlayıcısı yerine Uygulama Denetimi hata ayıklama sağlayıcısını kullanan bir hata ayıklama yapısı oluşturabilirsiniz.

Apple platformları

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

  1. Firebase uygulamanızı başlattıktan hemen sonra hata ayıklama sağlayıcısıyla Uygulama Kontrolünü etkinleştirin:

    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 yenisi) hata ayıklama günlüğünü etkinleştirin:

    1. Ürün > Şema > Şemayı düzenle öğesini açın.
    2. Soldaki menüden Çalıştır'ı seçin, ardından Bağımsız Değişkenler sekmesini seçin.
    3. Başlatma Sırasında Aktarılan Bağımsız Değişkenler bölümüne -FIRDebugEnabled ekleyin.
  3. ios/Runner.xcworkspace Xcode ile açın ve uygulamanızı Simülatörde çalıştırın. Firebase arka uca bir istek göndermeye çalıştığında uygulamanız hata ayıklama çıktısına yerel bir hata ayıklama jetonu yazdıracaktır. Örneğin:

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase konsolunun Uygulama Kontrolü bölümünde, uygulamanızın taşma menüsünden Hata ayıklama jetonlarını yönet'i seçin. Ardından, önceki adımda oturum açtığınız hata ayıklama jetonunu kaydedin.

    Hata Ayıklama Belirteçlerini Yönet menü öğesinin ekran görüntüsü

Belirteci kaydettikten sonra Firebase arka uç hizmetleri onu geçerli olarak kabul edecektir.

Bu belirteç, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişime izin verdiğinden, onu gizli tutmanız çok önemlidir. Bunu halka açık bir depoya teslim etmeyin ve kayıtlı bir belirtecin güvenliği ihlal edilirse onu Firebase konsolundan derhal iptal edin.

Android

Flutter uygulamanızı Android ortamında çalıştırırken hata ayıklama sağlayıcısını kullanmak için Flutter uygulamanıza aşağıdaki kodu 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 arka uca bir istek göndermeye çalıştığında uygulamanız hata ayıklama çıktısına yerel bir hata ayıklama jetonu yazdıracaktır. Ö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. Firebase konsolunun Uygulama Kontrolü bölümünde, uygulamanızın taşma menüsünden Hata ayıklama jetonlarını yönet'i seçin. Ardından, önceki adımda oturum açtığınız hata ayıklama jetonunu kaydedin.

    Hata Ayıklama Belirteçlerini Yönet menü öğesinin ekran görüntüsü

Belirteci kaydettikten sonra Firebase arka uç hizmetleri onu geçerli olarak kabul edecektir.

Uygulamanızı localhost çalıştırırken (örneğin geliştirme sırasında) hata ayıklama sağlayıcısını kullanmak için aşağıdakileri yapın:

  1. web/index.html dosyasında self.FIREBASE_APPCHECK_DEBUG_TOKEN değerini true olarak ayarlayarak hata ayıklama modunu etkinleştirin:

    <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. Hata ayıklama konsolunda bir hata ayıklama jetonu göreceksiniz:

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

    Bu belirteç, tarayıcınızda yerel olarak depolanır ve uygulamanızı aynı makinede aynı tarayıcıda kullandığınızda kullanılacaktır. Belirteci başka bir tarayıcıda veya başka bir makinede kullanmak istiyorsanız, true yerine belirteç dizesine self.FIREBASE_APPCHECK_DEBUG_TOKEN değerini ayarlayın.

  3. Firebase konsolunun Uygulama Kontrolü bölümünde, uygulamanızın taşma menüsünden Hata ayıklama jetonlarını yönet'i seçin. Ardından, önceki adımda oturum açtığınız hata ayıklama jetonunu kaydedin.

    Hata Ayıklama Belirteçlerini Yönet menü öğesinin ekran görüntüsü

Belirteci kaydettikten sonra Firebase arka uç hizmetleri onu geçerli olarak kabul edecektir.

Bu belirteç, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişime izin verdiğinden, onu gizli tutmanız çok önemlidir. Bunu halka açık bir depoya teslim etmeyin ve kayıtlı bir belirtecin güvenliği ihlal edilirse onu Firebase konsolundan derhal iptal edin.