了解 2023 年 Google I/O 大会上介绍的 Firebase 亮点。了解详情

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

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

elma 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 Argümanlar sekmesini seçin.
    3. Başlatma Sırasında Geçirilen Argümanlar bölümünde, -FIRDebugEnabled ekleyin.
  3. ios/Runner.xcworkspace Xcode ile açın ve uygulamanızı Simulator'da ç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 belirteci yazdırı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 belirteçlerini 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 bunu geçerli olarak kabul edecektir.

Bu belirteç, Firebase kaynaklarınıza geçerli bir cihaz olmadan erişim sağladığından, onu gizli tutmanız çok önemlidir. Halka açık bir depoya teslim etmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse, onu Firebase konsolunda hemen iptal edin.

Android

Flutter uygulamanızı bir 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 belirteci yazdırı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 belirteçlerini 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 bunu 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 öğesini 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 belirteci 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 saklanır ve uygulamanızı aynı makinede aynı tarayıcıda her 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 ayarlayın.

  3. Firebase konsolunun Uygulama Kontrolü bölümünde, uygulamanızın taşma menüsünden Hata ayıklama belirteçlerini 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 bunu geçerli olarak kabul edecektir.

Bu belirteç, Firebase kaynaklarınıza geçerli bir cihaz olmadan erişim sağladığından, onu gizli tutmanız çok önemlidir. Halka açık bir depoya teslim etmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse, onu Firebase konsolunda hemen iptal edin.