| Platform seçin: | iOS+ Android Web Flutter |
Bu sayfada, reCAPTCHA Enterprise sağlayıcısını kullanarak Flutter uygulamasında App Check hizmetinin nasıl ayarlanacağı gösterilmektedir. App Check, projenizin arka uç kaynaklarına yalnızca uygulamanızın erişebilmesini sağlar. Daha fazla bilgi edinmek için App Check'a genel bakış başlıklı makalemizi inceleyin.
App Check, puan tabanlı reCAPTCHA anahtarların kullanılmasını gerektirir. Bu nedenle, kullanıcılar tarafından görülemez. Bu, reCAPTCHA Enterprise sağlayıcının kullanıcılardan herhangi bir zamanda zorluk çözmelerini istemeyeceği anlamına gelir.
Kullanım alanınızda reCAPTCHA Enterprise tarafından uygulanmayan App Check özellikleri gerekiyorsa veya App Check'yi kendi özel sağlayıcınızla kullanmak istiyorsanız Özel bir App Check sağlayıcısı uygulama başlıklı makaleyi inceleyin.
1. Firebase projenizi ayarlama
Henüz yapmadıysanız Firebase'i Flutter projenize yükleyip başlatın.
Google Cloud konsolunda Sahtekarlığa Karşı Koruma sayfasına gidin ve reCAPTCHA Enterprise sağlayıcısı için aşağıdakileri yapın:
Doğru projede olduğunuzdan emin olun (ekranın üst kısmındaki proje seçiciye bakın).
İstenirse reCAPTCHA Enterprise API'yi etkinleştirin.
Hedef platformunuza göre bir anahtar oluşturun:
iOS+
iOS türünde bir anahtar oluşturun ve uygulamanızın paket kimliğini (örneğin,
com.example.my_app) belirtin.Firebase projenizde Firebase Apple uygulamanızı oluştururken sağladığınız paket kimliğini girdiğinizden emin olun. Paket kimliği değeri büyük/küçük harfe duyarlıdır.
App Check için her paket kimliği yalnızca tek bir reCAPTCHA anahtarıyla eşleşebilir.
Android
Android türünde bir anahtar oluşturun ve uygulamanızın paket adını (örneğin,
com.example.my_app) belirtin.Firebase projenizde Firebase Android uygulamanızı oluştururken sağladığınız paket adını girdiğinizden emin olun. Paket adı değeri büyük/küçük harfe duyarlıdır.
App Check için her paket adı yalnızca tek bir reCAPTCHA anahtarıyla eşleşebilir.
Web
Web türünde bir anahtar oluşturun ve web uygulamalarınız için alanların her birini belirtin.
App Check, 250'den fazla alanda yayınlanan web uygulamalarını desteklemez.
Üretime dağıtılan (veya dağıtılacak olan) bir reCAPTCHA anahtarına hiçbir zaman
localhostalanını eklemeyin."Onay kutusu zorluğunu kullan" seçeneğini işaretsiz bırakın.
Ayrıntılı talimatlar için Puan tabanlı reCAPTCHA anahtarları oluşturma başlıklı makaleyi inceleyin.
Her anahtarı not edin. Bunları Firebase konsolundaki kayıt akışına eklemeniz gerekir.
Firebase konsolunda Güvenlik > App Check'e gidin.
Uygulamalar sekmesinde, hedef platform uygulamalarınızın her birini App Check ile reCAPTCHA Enterprise sağlayıcısını kullanacak şekilde kaydedin. Google Cloud konsolunda aldığınız anahtarı sağlamanız gerekir.
İsteğe bağlı: Jetonun geçerlilik süresini (TTL) ayarlayın.
Uygulama kaydı ayarlarında, sağlayıcı tarafından verilen App Check jetonları için özel bir geçerlilik 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 denge unsurlarına dikkat edin:
- Güvenlik: Sızdırılmış veya ele geçirilmiş bir jetonun saldırgan tarafından kötüye kullanılabileceği süreyi kısalttığı için daha kısa TTL'ler daha güçlü güvenlik sağlar.
- Performans: Daha kısa TTL'ler, uygulamanızın doğrulama işlemini daha sık yapacağı anlamına gelir. Uygulama onayı 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 yeniden onaylama, kotanızı daha hızlı tüketir ve ücretli hizmetlerde daha fazla maliyete neden olabilir. Kotalar ve sınırlar başlıklı makaleyi inceleyin.
Varsayılan TTL değeri olan 1 saat çoğu uygulama için uygundur. App Check kitaplığının, TTL süresinin yaklaşık yarısında jetonları yenilediğini unutmayın.
İsteğe bağlı: Gelişmiş ayarları yapılandırın.
Kaydet'i tıklayın.
(İsteğe bağlı) Gelişmiş ayarları yapılandırma
Bir kullanıcı uygulamanızı açtığında reCAPTCHA Enterprise, temel pozlar altındaki kullanıcı etkileşiminin risk düzeyini değerlendirir ve 0,1 artışlarla 0,0 ile 1,0 arasında bir puan döndürür.
- 0,0 puan, etkileşimin yüksek risk taşıdığını ve sahtekarlık içerebileceğini gösterir.
- 1,0 puanı, etkileşimin düşük risk taşıdığını ve çok büyük olasılıkla meşru olduğunu gösterir.
App Check, uygulama riski eşiği yapılandırmanıza olanak tanır. Böylece bu riske karşı toleransınızı ayarlayabilirsiniz.
Çoğu kullanım alanı için varsayılan eşik değeri olan 0, 5 önerilir. Kullanım alanınızda ayarlama yapılması gerekiyorsa bu değeri Firebase Console'da uygulamalarınızın her biri için yapılandırabilirsiniz (Güvenlik > Uygulama Kontrolü'ne gidin). Aşağıdaki uygulama riski eşiğini yapılandırmayla ilgili önemli noktaları inceleyin.
2. Uygulamanıza App Check eklentisini ekleme
reCAPTCHA Enterprise sağlayıcısını kullanmak için ilgili App Check eklentisini eklemeniz gerekir.
Eklentiyi yüklemek için Flutter projenizin kökünden aşağıdaki komutu çalıştırın:
flutter pub add firebase_app_checkİşlem tamamlandığında Flutter projenizi yeniden oluşturun:
flutter run
3. App Check başlatılıyor
Uygulamanızda diğer Firebase hizmetlerini kullanmadan önce App Check başlatmanız gerekir.
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_app_check/firebase_app_check.dart';
import 'firebase_options.dart';
Future<void> main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp(options: DefaultFirebaseOptions.currentPlatform);
await FirebaseAppCheck.instance.activate(
providerWeb: ReCaptchaEnterpriseProvider(WEB_SITE_KEY),
providerAndroid: const AndroidReCaptchaProvider(ANDROID_SITE_KEY),
providerApple: const AppleReCaptchaProvider(IOS_SITE_KEY),
);
runApp(App());
}
4. Metrikleri izleme ve yaptırımı etkinleştirme
Uygulamanızda App Check ayarlarını yaptıktan sonra güncellenen uygulamayı kullanıcılarınıza dağıtmaya başlayın.
Güncellenen istemci uygulaması, Firebase'e yaptığı her istekle birlikte App Check jetonları göndermeye başlar. Ancak App Check, App Check zorunlu kılınana kadar geçersiz jeton içeren istekleri engellemez.
Metrikleri izleme
Yaptırımı etkinleştirmeden önce, bu işlemin mevcut meşru kullanıcılarınızı etkilemeyeceğinden emin olun. Ancak, 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 hizmetlerle ilgili App Check metriklerini inceleyebilirsiniz:
- İstek metriklerini App Check izleyin: Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS için Google Identity, Maps JavaScript API ve Places API (Yeni).
- Cloud Functions için App Check istek metriklerini izleyin.
App Check yaptırım özelliğini etkinleştirme
App Check özelliğinin kullanıcılarınızı nasıl etkileyeceğini anladığınızda ve devam etmeye hazır olduğunuzda App Check yaptırımını etkinleştirebilirsiniz:
- App Check yaptırım özelliğini Firebase AI Logic, SQL Connect, Realtime Database, Cloud Firestore, Cloud Storage, Authentication, iOS için Google Identity, Maps JavaScript API ve Places API (Yeni) için etkinleştirin.
- Cloud Functions için App Check zorunlu kılma özelliğini etkinleştirin.
Hata ayıklama ortamlarında App Check kullanma
App Check Geliştirme sırasında bir emülatör / simülatör veya localhost'tan ya da sürekli entegrasyon (CI) ortamından gelen istekler gibi bazı ortamları geçersiz olarak sınıflandırır.
App Check zorunlu kılındıktan sonra uygulamanızı bu tür ortamlarda çalıştırmak için uygulamanızın üretim tasdik sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesini oluşturmanız gerekir.
Daha fazla bilgi için Flutter uygulamalarında hata ayıklama sağlayıcısıyla App Check kullanma başlıklı makaleyi inceleyin.
Fiyatlandırma
App Check, uygulamanız App Check jetonunu her yenilediğinde kullanıcının yanıt jetonunu doğrulamak için sizin adınıza bir değerlendirme oluşturur. Ücretsiz kota üzerinde oluşturulan her değerlendirme için Firebase projenizden ücret alınır. Ayrıntılı bilgi için reCAPTCHA fiyatlandırması başlıklı makaleyi inceleyin.
Uygulamanız, varsayılan olarak bu jetonu her 1 saatte iki kez yeniler. Uygulamanızın App Check jetonlarını ne sıklıkta yenileyeceğini (ve dolayısıyla yeni değerlendirmelerin ne sıklıkta oluşturulacağını) kontrol etmek için jeton TTL'sini yapılandırabilirsiniz.