Bu sayfada, Flutter uygulamasında Uygulama Kontrolü'nün varsayılan sağlayıcılar: Android'de Play Integrity, Apple platformlarında Cihaz Kontrolü ve Web'de reCAPTCHA s3. Uygulama Kontrolü'nü etkinleştirerek projenizin Firebase kaynaklarına yalnızca uygulamanız erişebilir. Bkz. Bu özelliğe genel bakış.
1. Firebase projenizi oluşturun
Henüz yapmadıysanız FlutterFire'ı yükleme ve başlatma olabilir.
Play Integrity, Cihaz Kontrolü ve reCAPTCHA sağlayıcılarıyla Uygulama Kontrolü'nü kullanmak için uygulamalarınızı Proje Ayarları > Uygulama Kontrolü bölümündeki talimatları uygulayın.
Genellikle projenizdeki tüm uygulamaları kaydetmeniz gerekir çünkü bir kez bir Firebase ürünü için zorunlu kılmayı etkinleştirdiğinizde, yalnızca kayıtlı uygulamalar arka uç kaynaklarına erişmek için kullanılabilir.
İsteğe bağlı: Uygulama kayıt ayarlarında özel bir geçerlilik süresi ayarlayın. (TTL) - sağlayıcı tarafından verilen Uygulama Kontrolü jetonları için. TTL'yi 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken, dikkate almanız gerekir:
- Güvenlik: Daha kısa TTL'ler daha güçlü güvenlik sağlar, çünkü bir jetonun sızdırıldığı veya ele geçirildiği bir pencerenin ele alacağız.
- Performans: Daha kısa TTL'ler, uygulamanızın onay sürecini daha fazla yapacağı anlamına gelir. alabilir. Uygulama onay işlemi, ağa gecikmeyi eklediğinden her gerçekleştirildiğinde kısa bir TTL, performansı etkileyebilir. en iyi yoludur.
- Kota ve maliyet: Daha kısa TTL'ler ve sık yapılan yeniden onay süreleri daha hızlı sunmamızı sağlar ve ücretli hizmetler için maliyeti daha yüksek olabilir. Bkz. Kotalar ve kontrol edin.
Varsayılan TTL çoğu uygulama için makul bir değerdir. Uygulama Kontrolü kitaplığının yenilendiğini unutmayın jeton sayısını TTL'nin yaklaşık yarısına kadar uzatabilirsiniz.
2. Uygulama Kontrolü kitaplığını uygulamanıza ekleme
Flutter projenizin kök dizininden aşağıdaki komutu çalıştırarak eklentiyi yükleyin:
flutter pub add firebase_app_check
Ardından Flutter uygulamanızı yeniden derleyin:
flutter run
3. Uygulama Kontrolü'nü Başlat
Siz yüklemeden önce çalışması için aşağıdaki ilk kullanıma hazırlama kodunu uygulamanıza ekleyin
Storage gibi Firebase hizmetlerini kullanıyor ancak
Firebase.initializeApp()
;
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(
// You can also use a `ReCaptchaEnterpriseProvider` provider instance as an
// argument for `webProvider`
webProvider: ReCaptchaV3Provider('recaptcha-v3-site-key'),
// Default provider for Android is the Play Integrity provider. You can use the "AndroidProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Safety Net provider
// 3. Play Integrity provider
androidProvider: AndroidProvider.debug,
// Default provider for iOS/macOS is the Device Check provider. You can use the "AppleProvider" enum to choose
// your preferred provider. Choose from:
// 1. Debug provider
// 2. Device Check provider
// 3. App Attest provider
// 4. App Attest provider with fallback to Device Check provider (App Attest provider is only available on iOS 14.0+, macOS 14.0+)
appleProvider: AppleProvider.appAttest,
);
runApp(App());
}
Sonraki adımlar
Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra, uygulamayı kullanıcılarınıza güncelleyin.
Güncellenen istemci uygulaması, Firebase'e istek gönderir, ancak Firebase ürünleri için jeton gerekmez Firebase konsolu.
Metrikleri izleyin ve yaptırımı etkinleştirin
Ancak, zorunlu kılmayı etkinleştirmeden önce, bu işlemin Mevcut güvenli kullanıcılarınızı kesintiye uğratabilir. Öte yandan, benzer bir Uygulama kaynaklarınızın şüpheli kullanımı durumunda, zorunlu kılma ayarını etkinleştirerek gerekir.
Bu kararı vermenize yardımcı olmak için hizmetler:
- Aşağıdakiler için Uygulama Kontrolü istek metriklerini izleme Realtime Database, Cloud Firestore, Cloud Storage ve Authentication.
- Cloud Functions için Uygulama Kontrolü istek metriklerini izleyin.
Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştir
Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda Devam ederseniz Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştirebilirsiniz:
- Şunlar için Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştir Realtime Database, Cloud Firestore, Cloud Storage ve Authentication.
- Cloud Functions için Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştirin.
Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanma
Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra Uygulama Kontrolü'nün normalde geçerli olarak sınıflandıramadığı bir ortamda bulunması Örneğin, geliştirme sırasında emülatör veya sürekli entegrasyon (CI) aracılığıyla uygulamanızın hata ayıklama derlemesini oluşturmak için Gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısı
Flutter uygulamalarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma başlıklı makaleye göz atın.