Firebase lansman kontrol listesi

Bu belgede, bir Firebase uygulamasını üretime sunmadan önce yapılması gerekenler ve dikkat edilmesi gereken noktalarla ilgili bir kontrol listesi yer almaktadır.

Yayınlamayla ilgili genel en iyi uygulamalar

  • Üretime dağıtmadan önce Firebase Local Emulator Suite'de (desteklenen ürünler için) tüm değişikliklerinizi test ettiğinizden emin olun. Kapsamlı testler maliyetli hataları önlemeye yardımcı olabilir.

  • Uygulamayı Firebase App Check destekleyen her hizmet için başlatın. App Check, yalnızca gerçek uygulamalarınızın arka uç hizmetlerinize ve kaynaklarınıza erişebilmesini sağlar.

  • Firebase'in genel güvenlik kontrol listesini inceleyin.

  • Uygulamanıza yeni özellikleri ve güncellemeleri güvenli ve kademeli bir şekilde yayınlamak için Firebase Remote Config kullanıma sunma özelliğini kullanın.

  • Henüz yapmadıysanız Firebase Crashlytics'ı ayarlayın. Bu, uygulamanızın kalitesini düşüren kararlılık sorunlarını izlemenize, önceliklerini belirlemenize ve düzeltmenize yardımcı olan hafif ve anlık kilitlenme raporu aracıdır.

Fiyatlandırma planı sınırlarınızı öğrenme ve bütçe uyarıları ayarlama

  • Üretime geçtikten sonra kullanım sınırlarına ve kotalara ulaşmadığınızdan emin olun. Bu durum, özellikle ücretsiz Spark planını kullanıyorsanız önemlidir. Kullandıkça öde Blaze fiyatlandırma planına geçmeyi düşünebilirsiniz.

  • Projeniz için bütçe uyarıları oluşturun.

    • Bütçe uyarılarının bütçe sınırları olmadığını unutmayın. Bir uyarı, yapılandırılmış eşiğinize yaklaştığınızda veya eşiği aştığınızda size iletişim mesajları gönderir. Böylece uygulamanızda ya da projenizde işlem yapabilirsiniz.

    • Uyarılar karşısında faturalandırmayı devre dışı bırakacak işlevler gibi gelişmiş uyarılar ve işlemler ayarlayabilirsiniz.

    • Firebase AI Logic, App Hosting, Cloud Functions for Firebase veya Firebase Extensions kullanıyorsanız bütçe harcama sınırları ayarlamanızı şiddetle tavsiye ederiz. Bu sınırlar, projeniz ilgili hizmet için belirlenen bütçeyi aşarsa geçerli hizmeti duraklatır.

  • Kullanımınızı ürüne özel kontrol panellerinde veya Firebase konsolundaki merkezi Kullanım ve faturalandırma kontrol panelinde izleyin.

Firebase projelerinizin ve uygulamalarınızın en iyi uygulamalara uygun olduğundan emin olun.

İster tek bir geliştirici ister kurumsal düzeyde bir ekip olun, Firebase projelerinizin, uygulamalarınızın ve kaynaklarınızın korunmasını, güvenliğini ve ekibinizdeki değişikliklerle birlikte gelişebilmesini sağlamanız önemlidir.

Firebase projesinin aslında Google CloudFirebase hizmetleri ve yapılandırmaları etkinleştirilmiş bir proje olduğunu unutmamak önemlidir. Bu nedenle, Google Cloud'un önerdiği birçok en iyi uygulama Firebase için de geçerlidir.

  • Geliştirme, test ve üretim için farklı Firebase projeleri kullanın.

    Üretim uygulamanızla ilişkili projeye beklenmedik şekilde erişilmesini sınırlamaya çalışın. Geliştirme iş akışlarını ayarlama hakkında daha fazla bilgi edinin.

  • Önemli projelerinizi, özellikle de üretim uygulamanızla ilişkili projeyi koruyun.

    • Yanlışlıkla proje silinmesine karşı koruma sağlamak için proje ipoteklerini kullanın.

    • Üretim ortamınızı daha kolay tanımlamak için Firebase konsolunda "Prod" etiketi uygulayın.

  • Henüz yapmadıysanız bir Google Cloudkuruluş oluşturmayı ve Firebase projelerinizi bu kuruluşa eklemeyi düşünebilirsiniz.

  • Firebase projelerinize birden fazla sahip ekleyin. Özellikle projeniz bir Google Cloud kuruluşunda değilse bu işlemi yapmanız önerilir. Firebase projesi için ne zaman ve nasıl Sahip atanacağı hakkında daha fazla bilgi edinin.

  • Proje üyelerini (diğer adıyla "sorumlular") tek tek eklemek yerine Google Grupları olarak ekleyin.

    Grupları kullanmak, ekip üyelerine toplu olarak rol atamayı ve Firebase projenize kimlerin erişebileceğini yönetmeyi kolaylaştırır. Özellikle ekip üyeleri değişiyorsa veya ayrılıyorsa bu durum daha da önem kazanır.

  • Her proje üyesine (diğer adıyla "asıl") Firebase projelerinize ve kaynaklarınıza uygun düzeyde erişim izni verin. Daha fazla bilgiyi Firebase IAM ile proje erişimini yönetme başlıklı makalede bulabilirsiniz.

  • Geçerli her proje üyesinin (diğer adıyla "sorumlu") belirli ürünler veya proje durumu (ör. faturalandırma planı değişiklikleri ya da kota sınırları) hakkında uyarı almak için tercihlerini ayarladığından emin olun. Daha fazla bilgiyi Firebase uyarılarını alma başlıklı makalede bulabilirsiniz.

    Ayrıca, belirli veya ek proje üyelerinin bildirim almasını istiyorsanız projenizin "önemli kişilerini" isteğe bağlı olarak özelleştirebilirsiniz. Bu özellik, özellikle faturalandırma, yasal ve ürün değişiklikleriyle ilgili bildirimlerin yalnızca proje sahibine değil, diğer kullanıcılara da gönderilmesini sağlamak için kullanışlıdır.

  • Firebase API anahtarlarınızı yalnızca anahtarın API izin verilenler listesinde olması gereken API'lerle kısıtlayın. Ayrıca, Firebase'in güvenlik kontrol listesindeki API anahtarlarıyla ilgili bilgilere de göz atın.

Uygulamanızda kullanılan belirli hizmetleri hazırlama

Uygulamanızda kullanılan her ürün ve hizmet, üretimde kullanıldığında belirli hususları dikkate almayı gerektirebilir.

Firebase AI Logic

Google Analytics

  • Uygulamanızın kullanıma sunulmasıyla birlikte analiz verilerini toplamaya başlamak için Google Analytics için kitle koşullarını tanımlayın.

  • Google Analytics verilerinin BigQuery'e aktarılmasını etkinleştirmeyi düşünün. Böylece verilerinizi BigQuery SQL ile analiz edebilir veya verileri kendi araçlarınızla kullanmak için dışa aktarabilirsiniz.

  • Kullanıcı özelliklerini, uygulamanızın yaşam döngüsü boyunca alakalı olacak bilgilerle sınırlayın. Oluşturabileceğiniz sayı sınırlıdır ve bu özellikler arşivlenemez.

  • Google Analytics mülkleriniz ve hesaplarınız için Google Analytics rollerinin ayarlarını inceleyin. Bu izinler, Firebase projesi IAM izinlerinden ve rollerinden ayrı olarak yönetilir.

  • Firebase konsolunun Proje ayarları bölümünde App Store kimliğinizin ve ekip kimliğinizin (gerekirse) doğru olduğundan emin olun.

App Check

  • Firebase konsolunun proje ayarlarında ekip kimliğinizin doğru olduğundan emin olun.

  • Henüz yapmadıysanız Firebase App Check özelliğini destekleyen her hizmet için zorunlu kılmaya başlayın. App Check, yalnızca gerçek uygulamalarınızın arka uç hizmetlerinize ve kaynaklarınıza erişebilmesini sağlar.

Authentication

  • Kullanmadığınız sağlayıcıları (özellikle anonim kimlik doğrulama) devre dışı bırakın.

  • Uygulamanızda Google ile oturum açma özelliği kullanılıyorsa OAuth kullanıcı rızası ekranınızı kişiselleştirin.

  • Authentication e-posta gönderme hizmeti için alanınızı ve göndereninizi özelleştirin.

  • Identity Platform SMS doğrulama hizmetlerini kullanıyorsanız Firebase App Check'ı zorunlu kılmaya başlayın ve uygulamanızı SMS kötüye kullanımından korumak için SMS bölge politikası yapılandırın.

  • Apple platformlarında sık karşılaşılan Authentication hatalar için hata işlemeyi uygulayın.

  • Firebase konsolunun Proje ayarları bölümüne uygulamanızın imzalama sertifikası için bir yayın SHA-1 karması ekleyin. Uygulamanızda telefon numarasıyla oturum açma veya Google ile Oturum Açma (OAuth istemci şartı olan) kullanılıyorsa SHA-1 karması gereklidir.

  • Yetkisiz kullanımı önlemek için alanlarınızda erişim denetimi ekleyin. Özellikle, Firebase konsolunun Authentication bölümünde üretim alanınıza erişime izin verin (özellikle Firebase Security Rules'ye dayalı ürünler kullanıyorsanız önemlidir).

Cloud Firestore

Cloud Messaging

Cloud Storage

Crashlytics

  • Geçerli her proje üyesinin (diğer adıyla "sorumlu") Crashlytics veya proje durumu (ör. faturalandırma planı değişiklikleri ya da kota sınırları) hakkında uyarı almak için tercihlerini ayarladığından emin olun. Daha fazla bilgiyi Firebase uyarılarını alma başlıklı makalede bulabilirsiniz.

  • Crashlytics verilerinin BigQuery'e aktarılmasını etkinleştirmeyi düşünün. Böylece verilerinizi BigQuery SQL ile analiz edebilir veya verileri kendi araçlarınızla kullanmak için dışa aktarabilirsiniz.

  • (yalnızca yerel Android ve iOS) Bir kilitlenmenin nedenini anlamanız ve bu konuda ne yapmanız gerektiğini belirlemeniz için gereken süreyi kısaltmaya yardımcı olması amacıyla Crashlytics'da yapay zeka yardımını etkinleştirmeyi düşünebilirsiniz.

  • Yayın derlemeleri için dSYM dosyasını Crashlytics'da kullanılmak üzere yükleyin. Xcode'un dSYM'leri otomatik olarak işleyebildiğinden ve dosyaları yükleyebildiğinden emin olun.

  • Crashlytics'te kullanılmak üzere sürüm derlemeleri için ProGuard eşlemesini yükleyin. Yükleme işlemi Firebase CLI kullanılarak yapılabilir.

  • Android uygulamanızın durumu hakkında daha kapsamlı bir görünüm elde etmek için Firebase'i Google Play'e bağlayın. Örneğin, uygulamanızın kilitlenme raporlarını Google Play kanala göre filtreleyebilirsiniz. Bu sayede kontrol panelinizi belirli derlemelere daha iyi odaklayabilirsiniz.

  • Android'i hedefleyen ve IL2CPP kullanan derlemeler için kod veya yapılandırma değişiklikleri olup olmadığına bakılmaksızın, sembollerini kullanmak istediğiniz her derleme çalıştırması için yerel sembolleri yüklediğinizden emin olun.

Firebase ML

Performance Monitoring

  • Geçerli her proje üyesinin (diğer adıyla "sorumlu") Performance Monitoring veya proje durumu (ör. faturalandırma planı değişiklikleri ya da kota sınırları) hakkında uyarı almak için tercihlerini ayarladığından emin olun. Daha fazla bilgiyi Firebase uyarılarını alma başlıklı makalede bulabilirsiniz.

  • Performance Monitoring verilerinin BigQuery'e aktarılmasını etkinleştirmeyi düşünün. Böylece verilerinizi BigQuery SQL ile analiz edebilir veya verileri kendi araçlarınızla kullanmak için dışa aktarabilirsiniz.

Realtime Database

  • İstem dışı veri erişimini önlemek için Realtime Database Security Rules yapılandırın.

  • Ölçeklendirmeye hazır olduğunuzdan emin olun. Realtime Database, çoğu uygulama için yeterli büyüklükte bir varsayılan kotaya sahiptir ancak bazı uygulamalar için ek kapasite gerekebilir.

  • Proguard kurallarınızı Realtime Database ile çalışacak şekilde yapılandırın.

Remote Config

  • Deneysel Remote Config kuralların, sürüm kullanıcılarınızı etkilemediğinden ve uygulamanızda uygun sunucu ve uygulama içi varsayılanların dağıtıldığından emin olun.