Apple platformları için Firebase Uygulama Kontrolü

1. Giriş

Firebase Uygulama Kontrolü, isteklerin meşru uygulama ve cihazlardan gelmesini sağlayarak arka uç kaynaklarınızı faturalandırma sahtekarlığı ve kimlik avı gibi kötüye kullanıma karşı korumaya yardımcı olur. Kaynaklarınızı güvende tutmak için hem Firebase hizmetleriyle hem de kendi arka uç hizmetlerinizle birlikte çalışır.

Firebase Uygulama Kontrolü hakkında daha fazla bilgiyi Firebase belgelerinde bulabilirsiniz.

Uygulama Kontrolü, bir uygulamanın ve/veya cihazın bütünlüğünü doğrulamak için platforma özgü hizmetleri kullanır. Bu hizmetler onay sağlayıcıları olarak adlandırılır. Bu tür sağlayıcılardan biri de Apple'ın App Attest hizmetidir. Bu hizmeti Uygulama Kontrolü'nü kullanarak Apple uygulamalarının ve cihazlarının özgünlüğünü doğrulayabilirsiniz.

Oluşturacaklarınız

Bu codelab'de, projenin Realtime Database'inin meşru olmayan uygulama ve cihazların erişimine karşı korunması için Uygulama Kontrolü'nü mevcut bir örnek uygulamaya ekleyip zorunlu kılacaksınız.

Neler öğreneceksiniz?

  • Firebase Uygulama Kontrolü'nü mevcut bir uygulamaya ekleme.
  • Farklı Firebase Uygulama Kontrolü onay sağlayıcıları yükleme
  • Uygulamanız için App Attest'i yapılandırma.
  • Uygulama geliştirme sırasında uygulamanızı Simülatörlerde test etmek için hata ayıklama onayı sağlayıcıyı yapılandırma

Gerekenler

  • Xcode 13.3.1 veya sonraki sürümler
  • Yeni uygulama tanımlayıcıları oluşturmanıza olanak tanıyan bir Apple Geliştirici hesabı
  • App Attest'i destekleyen bir iOS/iPadOS cihaz (App Attest API'nin kullanılabilirliği hakkında bilgi edinin)

2. Başlangıç projesini alma

iOS deposu için Firebase Hızlı Başlangıç Kılavuzları, farklı Firebase ürünlerini gösteren örnek uygulamalar içerir. Bu codelab'de temel olarak SwiftUI için Firebase Database Quickstart uygulamasını kullanacaksınız.

Komut satırından iOS deposu için Firebase Hızlı Başlangıç Kılavuzu'nu klonlayın:

git clone https://github.com/firebase/quickstart-ios.git
cd quickstart-ios

Xcode'da Realtime Database SwiftUI Hızlı Başlangıç uygulaması projesini açın:

cd database/DatabaseExampleSwiftUI/DatabaseExample
xed .

3. Uygulama Kontrolü'nü uygulamanıza ekleyin

  1. Swift Package Manager'ın projenin bağımlılıklarını çözmesini bekleyin.
  2. DatabaseExample (iOS) uygulama hedefinin Genel sekmesini açın. Ardından Çerçeveler, Kitaplıklar ve Yerleştirilmiş İçerikler bölümünde + düğmesini tıklayın.
  3. FirebaseAppCheck. öğesini eklemek için seçin.

4. Uygulama Kontrolü sağlayıcısının fabrikasını oluşturma ve yükleme

  1. Shared dosya grubuna AppCheck adında yeni bir grup ekleyin.
  2. Bu grubun içinde, ayrı bir dosyada fabrika sınıfı oluşturun (ör. MyAppCheckProviderFactory.swift (DatabaseExample (iOS) hedefine eklediğinizden emin olun):
    import Firebase
    
    class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
      func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
        #if targetEnvironment(simulator)
          // App Attest is not available on simulators.
          // Use a debug provider.
          return AppCheckDebugProvider(app: app)
        #else
          // Use App Attest provider on real devices.
          return AppAttestProvider(app: app)
        #endif
      }
    }
    
  3. Ardından, DatabaseExampleApp.swift uygulamasında FirebaseAppCheck öğesini içe aktardığınızdan ve MyAppCheckProviderFactory sınıfının bir örneğini Uygulama Kontrolü sağlayıcısının fabrikası olarak ayarladığınızdan emin olun.
    import SwiftUI
    import FirebaseCore
    import FirebaseAppCheck
    
    @main
    struct DatabaseExampleApp: App {
      init() {
        // Set an instance of MyAppCheckProviderFactory as an App Check
        // provider factory before configuring Firebase.
        AppCheck.setAppCheckProviderFactory(MyAppCheckProviderFactory())
        FirebaseApp.configure()
      }
      ...
    }
    

5. Firebase projesi oluşturma ve yapılandırma

iOS projenizde Uygulama Kontrolü'nü kullanmak için Firebase konsolunda aşağıdaki adımları uygulamanız gerekir:

  • Bir Firebase projesi oluşturun.
  • iOS uygulamanızı Firebase projesine ekleyin.
  • Firebase Authentication'ı yapılandırın.
  • Koruyacağınız Realtime Database örneğini başlatın.
  • Uygulama Kontrolü'nü yapılandırın.

Proje oluşturma

Öncelikle bir Firebase projesi oluşturmanız gerekir.

  1. Firebase konsolunda Proje ekle'yi seçin.
  2. App Check Codelab adlı projenize ad verin
  3. Devam'ı tıklayın.
  4. Bu proje için Google Analytics'i devre dışı bırakın ve ardından Proje oluştur'u tıklayın.

Realtime Database Örneği Oluşturma

Şimdi, Firebase konsolunun Realtime Database bölümüne gidin.

  1. Veritabanı oluşturma iş akışını başlatmak için Veritabanı Oluştur düğmesini tıklayın.
  2. Veritabanının varsayılan konumunu (us-central1) olduğu gibi bırakın ve Next'i (İleri) tıklayın.
  3. Kilitli Mod'un seçili olduğundan emin olun ve veritabanınızda Güvenlik Kuralları'nı etkinleştirmek için Etkinleştir düğmesini tıklayın.
  4. Realtime Database tarayıcısının Kurallar sekmesine gidip varsayılan kuralları aşağıdaki kodla değiştirin:
    {
        "rules": {
            // User profiles are only readable/writable by the user who owns it
            "users": {
                "$UID": {
                    ".read": "auth.uid == $UID",
                    ".write": "auth.uid == $UID"
                }
            },
            // Posts can be read by anyone but only written by logged-in users.
            "posts": {
                ".read": true,
                ".write": "auth.uid != null",
                "$POSTID": {
                    // UID must match logged in user and is fixed once set
                    "uid": {
                        ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
                    },
                    // User can only update own stars
                    "stars": {
                        "$UID": {
                            ".validate": "auth.uid == $UID"
                        }
                    }
                }
            },
            // User posts can be read by anyone but only written by the user that owns it,
            // and with a matching UID
            "user-posts": {
                ".read": true,
                "$UID": {
                    "$POSTID": {
                        ".write": "auth.uid == $UID",
                        ".validate": "data.exists() || newData.child('uid').val() == auth.uid"
                    }
                }
            },
            // Comments can be read by anyone but only written by a logged in user
            "post-comments": {
                ".read": true,
                ".write": "auth.uid != null",
                "$POSTID": {
                    "$COMMENTID": {
                        // UID must match logged in user and is fixed once set
                        "uid": {
                            ".validate": "(data.exists() && data.val() == newData.val()) || newData.val() == auth.uid"
                        }
                    }
                }
            }
        }
    }
    
  5. Güncellenen Güvenlik Kuralları'nı etkinleştirmek için Yayınla düğmesini tıklayın.

iOS uygulamanızı Firebase'e bağlanmaya hazırlama

Örnek uygulamayı fiziksel bir cihazda çalıştırabilmek için projeyi geliştirme ekibinize eklemeniz gerekir. Böylece Xcode, gerekli temel hazırlık profilini sizin yerinize yönetebilir. Örnek uygulamayı geliştirici hesabınıza eklemek için şu adımları uygulayın:

  1. Xcode'da proje gezgininden DatabaseExample projesini seçin.
  2. DatabaseExample (iOS) hedefini seçin ve İmzalama ve İmzalama Özellikler sekmesini tıklayın.
  3. "DatabaseExample (iOS) için oturum açmak için bir geliştirme ekibi gerekir" hata mesajını göreceksiniz.
  4. Paket tanımlayıcısını benzersiz bir tanımlayıcıyla güncelleyin. Bunu sağlamanın en kolay yolu, web sitenizin ters alan adını kullanmaktır, örneğin, com.acme.samples.firebase.quickstart.DatabaseExample (lütfen bu kimliği kullanmayın; bunun yerine kendi benzersiz kimliğinizi seçin).
  5. Geliştirme ekibinizi seçin.
  6. Xcode "Temel Hazırlık Profili: Xcode Yönetilen Profil" mesajını görüntülediğinde her şeyin yolunda gittiğini anlarsınız ve küçük bir bilgi simgesi görünür. Bu simgeyi tıkladığınızda temel hazırlık profiliyle ilgili daha fazla ayrıntı gösterilir.

iOS uygulamanızı bağlayın

Uygulamanızı bağlamayla ilgili ayrıntılı açıklama için Firebase'i iOS projenize ekleme ile ilgili belgelere göz atın. Başlamak için Firebase konsolunda şu temel adımları uygulayın:

  1. Yeni projenizin Projeye Genel Bakış ekranından + Uygulama ekle düğmesini, ardından Firebase projenize yeni bir iOS uygulaması eklemek için iOS+ simgesini tıklayın.
  2. Uygulamanızın paket kimliğini girin (bir önceki bölümde tanımladığınız, com.acme.samples.firebase.quickstart.DatabaseExample gibi). Bunun benzersiz bir tanımlayıcı olması gerektiğini unutmayın.)
  3. Uygulamayı Kaydet'i tıklayın.
  4. Firebase, uygulamanız için gerekli tüm Firebase meta verilerini içeren bir GoogleService-Info.plist dosyası oluşturur.
  5. Dosyayı indirmek için GoogleService-Info.plist dosyasını indir'i tıklayın.
  6. Xcode'da, projenin zaten GoogleService-Info.plist adlı bir dosya içerdiğini göreceksiniz. Önce bu dosyayı silin. Bir sonraki adımda dosyayı kendi Firebase projenize ait dosyayla değiştireceksiniz.
  7. Önceki adımda indirdiğiniz GoogleService-Info.plist dosyasını Xcode projenizin kök klasörüne kopyalayın ve DatabaseExample (iOS) hedefine ekleyerek GoogleService-Info.plist olarak adlandırıldığından emin olun.
  8. Kayıt akışının kalan adımlarını tıklayın. Örnek proje doğru şekilde ayarlandığı için kodda herhangi bir değişiklik yapmanız gerekmez.

Firebase Authentication'ı yapılandırma

Bora Şu ana kadar epey bir kurulum gerçekleştirdik ama sıkı durun. Firebase'i kullanmaya yeni başladıysanız yakında aşina olduğunuz bir iş akışının temel kısımlarını görmüşsünüzdür.

Şimdi, bu uygulama için Firebase Authentication'ı yapılandıracaksınız.

Kimlik Doğrulama E-postası/Şifresi Oturum Açma sağlayıcısını etkinleştir

  1. Yine Firebase konsolunda, konsolun Kimlik Doğrulama bölümünü açın.
  2. Projenizde Firebase Authentication'ı ayarlamak için Başlayın'ı tıklayın.
  3. Oturum açma yöntemi sekmesini seçin.
  4. Yerel sağlayıcılar bölümünde E-posta/Şifre'yi seçin.
  5. E-posta/Şifre'yi etkinleştirin ve Kaydet'i tıklayın.

Test kullanıcısı ekleme

  1. Kimlik Doğrulama bölümünün Kullanıcılar sekmesini açın.
  2. Kullanıcı ekle'yi tıklayın.
  3. Test kullanıcınız için bir e-posta ve şifre belirtip Kullanıcı ekle'yi tıklayın.

Uygulamayı deneyin

Xcode'a dönün ve iOS Simülatörü'nde uygulamayı çalıştırın. Yeni oluşturduğunuz test kullanıcısının e-posta adresi ve şifresiyle oturum açın. Oturum açtıktan sonra yayın oluşturun, mevcut bir yayına yorum yapın ve yayınlara yıldız ekleyin/yıldızları kaldırın.

6. Uygulama Onayı onay sağlayıcısını yapılandırma

Bu adımda, Uygulama Kontrolü'nü Firebase konsolundaki App Attest sağlayıcısını kullanacak şekilde yapılandıracaksınız.

  1. Firebase konsolunda konsolun Uygulama Kontrolü bölümüne gidin.
  2. Başlayın'ı tıklayın.
  3. Uygulamalar sekmesinde uygulamanızı tıklayarak ayrıntılarını genişletin.
  4. App Attest'i yapılandırmak için App Attest'i (App Attesti) tıklayın, ardından Apple Geliştirici Hesabınızın Ekip Kimliği'ni girin (Bu bilgiyi Apple Developer portalındaki Membership bölümünde bulabilirsiniz): 1645f7a369b678c2.png
  5. Kaydet'i tıklayın.

Bu sayede, yeni uygulamamıza bağlı, çalışan bir Firebase projeniz olur ve Uygulama Kontrolü etkin olur.

Artık özel onay hizmetimizi yapılandırmaya hazırsınız! Bu iş akışı hakkında daha fazla bilgi için iOS'te App Attest ile Uygulama Kontrolü'nü etkinleştirme bölümüne bakın.

7. Uygulamanız için App Attest'i yapılandırın

Artık Firebase Uygulama Kontrolü SDK'sını kullanmaya başlayabilir ve bazı istemci kodlarını uygulayabilirsiniz.

Öncelikle, SDK'nın Apple'ın App Attest API'sini kullanarak uygulamanızdan gönderilen isteklerin, uygulamanızın geçerli örneklerinden geldiğinden emin olabilmesi için Xcode projesini yapılandırmanız gerekir.

  1. Xcode projesindeki uygulama hedefiniz için App Attest özelliğini ekleyin:
  2. İmzalama ve Uygulamanızın hedef ayarlarındaki Özellikler sekmesi
  3. "+" düğmesini tıklayın. düğme
  4. İletişim kutusunda App Attest (Uygulama Onayı) özelliğini ae84cd988a5fab31.png bulup seçin.
  5. Önceki adımı uyguladıktan sonra Xcode projenizin kök klasöründe DatabaseExample (iOS).entitlements dosyası görünecektir.
  6. DatabaseExample (iOS).entitlements dosyasında App Attest Environment anahtarının değerini production. olarak değiştirin

Bu adımları tamamlayıp uygulamayı fiziksel bir iOS cihazda (iPhone/iPad) başlattıktan sonra, uygulama Realtime Database'e erişmeye devam edebilir. Daha sonraki bir adımda, yasa dışı uygulamalardan ve cihazlardan gelen isteklerin engellenmesi için Uygulama Kontrolü'nü zorunlu kılacaksınız.

Bu iş akışı hakkında daha fazla bilgi edinmek için iOS'te App Attest ile Uygulama Kontrolü'nü etkinleştirme bölümüne bakın.

8. iOS Simülatörü için Hata Ayıklama Onayı Sağlayıcısı yapılandırma

Firebase Uygulama Kontrolü Hata Ayıklama sağlayıcısı, geliştirme sürecinde uygulamaların iOS Simülatörü de dahil olmak üzere güvenilir olmayan ortamlarda Firebase Uygulama Kontrolü'nün zorunlu kılınmasıyla test edilmesini mümkün kılar. Ardından, hata ayıklama sağlayıcısını birlikte yapılandırmanız gerekir.

Uygulamanıza Firebase hata ayıklama sağlayıcısını yükleme

1. seçenek: Fabrikanızda koşullu olarak hata ayıklama sağlayıcısının bir örneğini oluşturma

Bu işlerin çoğunu Uygulama Kontrolü sağlayıcısını oluştururken yapmıştınız. Bu adımda, hata ayıklama sağlayıcısı tarafından oluşturulan yerel hata ayıklama gizli anahtarının günlük kaydını eklersiniz. Böylece, hata ayıklama amacıyla uygulamanın bu örneğini Firebase konsoluna kaydedebilirsiniz.

MyAppCheckProviderFactory.swift hizmetini aşağıdaki kodla güncelleyin:

import Firebase

class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
#if targetEnvironment(simulator)
    // App Attest is not available on simulators.
    // Use a debug provider.
    let provider = AppCheckDebugProvider(app: app)

    // Print only locally generated token to avoid a valid token leak on CI.
    print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")

    return provider
#else
    // Use App Attest provider on real devices.
    return AppAttestProvider(app: app)
#endif
  }
}

Bu yaklaşım, ortama bağlı olarak Uygulama Kontrolü'nü yapılandırma konusunda bize daha fazla esneklik sağlıyor. Örneğin, DeviceCheck gibi başka onay sağlayıcıları veya App Attest'in kullanılamadığı işletim sistemi sürümlerinde özel bir onay sağlayıcısı kullanabilirsiniz. Aşağıdaki örneğe bakın:

import Firebase

class MyAppCheckProviderFactory: NSObject, AppCheckProviderFactory {
  func createProvider(with app: FirebaseApp) -> AppCheckProvider? {
      #if targetEnvironment(simulator)
      // App Attest is not available on simulators.
      // Use a debug provider.
      let provider = AppCheckDebugProvider(app: app)

      // Print only locally generated token to avoid a valid token leak on CI.
      print("Firebase App Check debug token: \(provider?.localDebugToken() ?? "" )")

      return provider
      #else
      if #available(iOS 14.0, *) {
        // Use App Attest provider on real devices.
        return AppAttestProvider(app: app)
      } else {
        return DeviceCheckProvider(app: app)
      }
      #endif
  }
}

2. Seçenek: AppCheckDebugProviderFactory'yi yükleme

Daha basit durumlarda, Firebase uygulama örneğini yapılandırmadan önce AppCheckDebugProviderFactory öğesini geçici veya koşullu olarak yükleyebilirsiniz:

init() {
#if targetEnvironment(simulator)
  let providerFactory = AppCheckDebugProviderFactory()
#else
  let providerFactory = MyAppCheckProviderFactory()
#endif

  AppCheck.setAppCheckProviderFactory(providerFactory)

  FirebaseApp.configure()
}

Bu şekilde, kendi Uygulama Kontrolü sağlayıcınızın fabrikasını oluştururken birkaç satır koddan tasarruf edebilirsiniz.

Hata ayıklama gizli anahtarınızı Firebase konsoluna kaydedin

iOS Simülatörünüzden hata ayıklama gizli anahtarı alma

  1. AppCheckDebugProviderFactory öğesini (yukarıdaki ikinci seçenek) yüklemeyi seçtiyseniz uygulama başlatma bağımsız değişkenlerine -FIRDebugEnabled ekleyerek uygulamanız için hata ayıklama günlük kaydını etkinleştirmeniz gerekir: f1c6b477a373e144.png
  2. Uygulamanızı simülatörde çalıştırma
  3. Hata ayıklama gizli anahtarını Xcode konsolunda bulun. Tabloyu daha hızlı bulmak için konsol filtresini kullanabilirsiniz: d4c65af93e369c55.png

Not: Hata ayıklama gizli anahtarı, uygulama ilk kez başlatıldığında simülasyon aracı için oluşturulur ve kullanıcı varsayılanlarında depolanır. Uygulamayı kaldırır, simülasyon aracını sıfırlar veya başka bir simülasyon aracı kullanırsanız yeni bir hata ayıklama gizli anahtarı oluşturulur. Yeni hata ayıklama gizli anahtarını kaydettiğinizden emin olun.

Hata ayıklama gizli anahtarını kaydedin

  1. Firevbase konsolunda Uygulama Kontrolü bölümüne gidin.
  2. Uygulamalar sekmesinde uygulamanızı tıklayarak ayrıntılarını genişletin.
  3. Taşma menüsünde, Hata ayıklama jetonlarını yönet'i seçin: d77c8ff768a00b4b.png
  4. Xcode konsolundan kopyaladığınız gizli anahtarı ekleyin ve ardından Save 'i (Kaydet) f845c97b86f694d0.png tıklayın.

Bu adımların ardından, Uygulama Kontrolü zorunlu kılınmış olsa bile uygulamayı Simülatör'de kullanabilirsiniz.

Not: Hata ayıklama sağlayıcısı, hata ayıklama gizli anahtarı sızıntılarını önlemeye yardımcı olmak için özel olarak tasarlanmıştır. Geçerli yaklaşımda, hata ayıklama gizli anahtarını kaynak kodunuzda depolamanız gerekmez.

Bu akışla ilgili daha fazla bilgiyi belgelerde bulabilirsiniz. iOS'te hata ayıklama sağlayıcıyla Uygulama Kontrolü'nü kullanma başlıklı makaleyi inceleyin.

9. Firebase Realtime Database için Uygulama Kontrolü zorunluluğunu etkinleştir

Şimdilik uygulamamız gerçek cihazlar için AppAttestProvider döndüren bir AppCheckProviderFactory beyan ediyor. Fiziksel bir cihazda çalışırken uygulamanız doğrulamayı gerçekleştirir ve sonuçları Firebase arka ucuna gönderir. Bununla birlikte, Firebase arka ucu herhangi bir cihazdan, iOS Simülatörü, komut dosyası vb.'den gelen istekleri kabul etmeye devam eder. Bu mod, Uygulama Kontrolü olmadan uygulamanızın eski bir sürümünü kullanan kullanıcılarınız varsa ve erişim kontrollerini henüz zorunlu kılmak istemiyorsanız kullanışlıdır.

Şimdi, Firebase uygulamasına yalnızca geçerli cihazlardan erişilebilmesini sağlamak için Uygulama Kontrolü yaptırımını etkinleştirmeniz gerekiyor. Firebase projesi için zorunlu kılmayı etkinleştirdiğinizde, Uygulama Kontrolü entegrasyonu olmayan eski uygulama sürümleri çalışmayı durdurur.

  1. Firebase konsolunda Uygulama Kontrolü bölümünden Realtime Database'i tıklayarak ayrıntılarını genişletin.
  2. Uygula'yı tıklayın.

64e6a81fa979b635.png

  1. Onay iletişim kutusundaki bilgileri okuyun, ardından Uygula'yı tıklayın.

Bu adımları tamamladıktan sonra veritabanına yalnızca meşru uygulamalar erişebilir. Diğer tüm uygulamalar engellenir.

Realtime Database'e meşru olmayan bir uygulamayla erişmeyi deneyin

Uygulama Kontrolü'nün zorunlu kılındığını görmek için şu adımları izleyin:

  1. DatabaseExampleApp uygulamasındaki giriş noktanızın init yönteminde Uygulama Kontrolü kayıt kodunu yorumlayarak Uygulama Kontrolü kaydını devre dışı bırakın.
  2. Cihaz > Tüm İçeriği ve Ayarları Silin. Bu işlem Simülatörü siler (ve cihaz jetonunu geçersiz kılar).
  3. Uygulamayı Simülatör'de tekrar çalıştırın.
  4. Şimdi aşağıdaki hata mesajını görüyor olmanız gerekir:
    [FirebaseDatabase][I-RDB034005] Firebase Database connection was forcefully killed by the server.  Will not attempt reconnect. Reason: Invalid appcheck token.
    

Uygulama Kontrolü'nü yeniden etkinleştirmek için aşağıdakileri yapın:

  1. DatabaseExampleApp uygulamasındaki Uygulama Kontrolü kayıt kodunun açıklamasını kaldırın.
  2. Uygulamayı yeniden başlatın.
  3. Xcode'un konsolundaki yeni Uygulama Kontrolü jetonunu not edin.
  4. Hata ayıklama jetonunu, Firebase konsolunda uygulamanızın Uygulama Kontrolü ayarlarına kaydedin.
  5. Uygulamayı yeniden çalıştırın.
  6. Artık hata mesajı görmemeniz ve uygulamaya yeni yayınlar ve yorumlar ekleyebilmeniz gerekir.

10. Tebrikler!

9785d32f18b995d2.gif

Artık şunları nasıl yapacağınızı biliyorsunuz:

  • Uygulama Kontrolü'nü mevcut bir projeye ekleme
  • Uygulamanızın üretim sürümü için bir Uygulama Onayı onay sağlayıcısı yapılandırma
  • Uygulamanızı bir simülasyon aracında test etmek için hata ayıklama onayı sağlayıcı yapılandırma
  • Firebase projenizde Uygulama Kontrolü'nü ne zaman zorunlu kılacağınızı öğrenmek için uygulama sürümünün kullanıma sunumunu gözlemleyin
  • Uygulama Kontrolü'nün zorunlu kılınmasını etkinleştir

Sonraki adımlar

Uygulama Kontrolü'nü kullanıcılarınıza kademeli olarak sunmak için Remote Config'i nasıl kullanacağınızı öğrenmek için Firebase Remote Config codelab'ini kullanarak Firebase Uygulama Kontrolü'nü kademeli olarak kullanıma sunma başlıklı makaleyi inceleyin.

Yararlı bulabileceğiniz diğer kaynaklar

Bu codelab'de açıklanan kurulum çoğu durumda işe yarar ancak Uygulama Kontrolü gerekirse size daha fazla esneklik sağlar. Ayrıntılı bilgi için aşağıdaki bağlantılara göz atın: