Bu sayfa, varsayılan sağlayıcıları kullanarak bir Flutter uygulamasında Uygulama Kontrolü'nü nasıl etkinleştireceğinizi gösterir: Android'de Play Integrity, Apple platformlarında Cihaz Kontrolü ve web'de reCAPTCHA v3. Uygulama Kontrolü'nü etkinleştirdiğinizde, projenizin Firebase kaynaklarına yalnızca uygulamanızın erişebilmesini sağlamaya yardımcı olursunuz. Bu özelliğe Genel Bakış'a bakın.
1. Firebase projenizi kurun
Henüz yapmadıysanız FlutterFire'ı kurun ve başlatın .
Firebase konsolunun Proje Ayarları > Uygulama Kontrolü bölümündeki Play Integrity, Cihaz Kontrolü ve reCAPTCHA sağlayıcılarıyla Uygulama Kontrolü'nü kullanmak için uygulamalarınızı kaydedin.
Bir Firebase ürünü için zorlamayı etkinleştirdiğinizde, yalnızca kayıtlı uygulamalar ürünün arka uç kaynaklarına erişebileceğinden, genellikle projenizin tüm uygulamalarını kaydetmeniz gerekir.
İsteğe bağlı : Uygulama kaydı ayarlarında, sağlayıcı tarafından verilen Uygulama Kontrolü belirteçleri için özel bir yaşam süresi (TTL) ayarlayın. TTL'yi 30 dakika ile 7 gün arasında herhangi bir değere ayarlayabilirsiniz. Bu değeri değiştirirken aşağıdaki ödünleşimlerin farkında olun:
- Güvenlik: Daha kısa TTL'ler daha güçlü güvenlik sağlar çünkü sızdırılmış veya ele geçirilmiş bir belirtecin bir saldırgan tarafından kötüye kullanılabileceği pencereyi azaltır.
- Performans: Daha kısa TTL'ler, uygulamanızın daha sık doğrulama gerçekleştireceği anlamına gelir. Uygulama doğrulama işlemi, her gerçekleştirildiğinde ağ isteklerine gecikme eklediğinden, kısa bir TTL uygulamanızın performansını etkileyebilir.
- Kota ve maliyet: Daha kısa TTL'ler ve sık sık yeniden doğrulama, kotanızı daha hızlı tüketir ve ücretli hizmetler için potansiyel olarak daha pahalıya mal olur. Kotalar ve sınırlar konusuna bakın.
Varsayılan TTL, çoğu uygulama için uygundur. Uygulama Kontrolü kitaplığının belirteçleri TTL süresinin yaklaşık yarısında yenilediğini unutmayın.
2. Uygulama Kontrolü kitaplığını uygulamanıza ekleyin
Flutter projenizin kökünden eklentiyi kurmak için aşağıdaki komutu çalıştırın:
flutter pub add firebase_app_check
Tamamlandığında, Flutter uygulamanızı yeniden oluşturun:
flutter run
3. Uygulama Kontrolünü Başlatın
Depolama gibi herhangi bir Firebase hizmetini kullanmadan önce, ancak Firebase.initializeApp()
çağırdıktan sonra çalışması için uygulamanıza aşağıdaki başlatma kodunu ekleyin;
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',
// 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,
);
runApp(App());
}
Sonraki adımlar
Uygulama Kontrolü kitaplığı uygulamanıza yüklendikten sonra, güncellenen uygulamayı kullanıcılarınıza dağıtmaya başlayın.
Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte Uygulama Kontrolü belirteçleri göndermeye başlayacak, ancak Firebase ürünleri, Firebase konsolunun Uygulama Kontrolü bölümünde zorlamayı etkinleştirene kadar belirteçlerin geçerli olmasını gerektirmeyecek.
Metrikleri izleyin ve yaptırımı etkinleştirin
Ancak, yaptırımı etkinleştirmeden önce, bunu yapmanın mevcut meşru kullanıcılarınızı kesintiye uğratmayacağından emin olmalısınız. Öte yandan, uygulama kaynaklarınızın şüpheli bir şekilde kullanıldığını görüyorsanız, yaptırımı daha erken etkinleştirmek isteyebilirsiniz.
Bu kararı vermenize yardımcı olması için kullandığınız hizmetlere ilişkin Uygulama Kontrolü metriklerine bakabilirsiniz:
- Realtime Database, Cloud Firestore ve Cloud Storage için Uygulama Kontrolü istek ölçümlerini izleyin .
- Cloud Functions için Uygulama Kontrolü istek ölçümlerini izleyin .
Uygulama Kontrolü yaptırımını etkinleştir
Uygulama Kontrolü'nün kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda, Uygulama Kontrolü yaptırımını etkinleştirebilirsiniz:
- Realtime Database, Cloud Firestore ve Cloud Storage için Uygulama Kontrolü zorlamasını etkinleştirin .
- Cloud Functions için Uygulama Kontrolü zorlamasını etkinleştirin .
Hata ayıklama ortamlarında Uygulama Kontrolü'nü kullanın
Uygulamanızı Uygulama Kontrolü için kaydettirdikten sonra, uygulamanızı, geliştirme sırasındaki bir öykünücü gibi veya bir sürekli entegrasyon (CI) ortamından, Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırmadığı bir ortamda çalıştırmak istiyorsanız, şunları yapabilirsiniz: gerçek bir doğrulama sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan uygulamanızın hata ayıklama yapısını oluşturun.
Flutter uygulamalarında hata ayıklama sağlayıcısıyla Uygulama Kontrolünü Kullanma konusuna bakın.