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

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra, bu ortamlar geçerli cihaz olarak kabul edilmediğinden uygulamanız normalde bir emülatörde veya sürekli entegrasyon (CI) ortamında çalışmaz. Uygulamanızı, geliştirme ve test sırasında böyle bir ortamda çalıştırmak isterseniz gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturabilirsiniz.

Apple platformları

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

  1. Firebase uygulamanızı başlattıktan hemen sonra hata ayıklama sağlayıcı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 (11.0 veya daha yeni sürümler) hata ayıklama günlük kaydını etkinleştirin:

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

    Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase konsolunun App Check 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 kaydettiğiniz hata ayıklama jetonunu kaydedin.

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

Jetonu kaydettikten sonra Firebase arka uç hizmetleri jetonu geçerli olarak kabul eder.

Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişime izin verdiği için jetonu gizli tutmanız çok önemlidir. Herhangi bir herkese açık depoya göndermeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolundan hemen iptal edin.

Android

Flutter uygulamanızı Android ortamında çalıştırırken hata ayıklama sağlayıcıyı 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 uçta istek göndermeye çalıştığında uygulamanız, hata ayıklama çıkışına yerel bir hata ayıklama jetonu 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 App Check 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 günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin.

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

Jetonu kaydettikten sonra Firebase arka uç hizmetleri jetonu geçerli olarak kabul eder.

Web

Uygulamanızı localhost'ten çalıştırırken (ör. geliştirme sırasında) hata ayıklama sağlayıcıyı kullanmak için şunları 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 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ı makinede aynı tarayıcıda her kullandığınızda kullanılır. Jetonu başka bir tarayıcıda veya başka bir makinede kullanmak istiyorsanız true yerine self.FIREBASE_APPCHECK_DEBUG_TOKEN değerini jeton dizesine ayarlayın.

  3. Firebase konsolunun App Check 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 kaydettiğiniz hata ayıklama jetonunu kaydedin.

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

Jetonu kaydettikten sonra Firebase arka uç hizmetleri jetonu geçerli olarak kabul eder.

Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişim olanağı sağladığı için bu jetonu gizli tutmanız son derece önemlidir. Herhangi bir herkese açık depoya göndermeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolundan hemen iptal edin.