Apple platformlarında Cloud Storage'ı kullanmaya başlayın

Cloud Storage for Firebase, kullanıcı tarafından oluşturulan içerikleri (ör. resim ve video) yükleyip paylaşmanıza olanak tanır. Bu sayede uygulamalarınıza zengin medya içerikleri ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve global yedeklilik sunan, exabyte ölçeğinde bir nesne depolama çözümü olan Google Cloud Storage paketinde depolanır. Cloud Storage for Firebase, bu dosyaları doğrudan mobil cihazlardan ve web tarayıcılarından güvenli bir şekilde yüklemenize olanak tanır ve düzensiz ağları kolayca yönetir.

Başlamadan önce

  1. Henüz yapmadıysanız Apple platformu uygulamaları için başlangıç kılavuzunu tamamladığınızdan emin olun. Bunlardan bazıları:

    • Firebase projesi oluşturma

    • Apple platformları uygulamanızı projeye kaydetme ve Firebase kitaplığını ve Firebase yapılandırma dosyanızı (GoogleService-Info.plist) uygulamanıza ekleyerek uygulamanızı Firebase'e bağlama.

  2. Firebase projenizin kullandıkça öde Blaze fiyatlandırma planında olduğundan emin olun. Firebase ve Google Cloud'u yeni kullanmaya başladıysanız 300 ABD doları değerinde kredi almaya uygun olup olmadığınızı kontrol edin.

Varsayılan Cloud Storage paketi oluşturma

  1. Firebase konsolunun gezinme bölmesinde Depolama'yı seçin.

    Projeniz henüz kullandıkça öde Blaze fiyatlandırma planında değilse projenizi yükseltmeniz istenir.

  2. Başlayın'ı tıklayın.

  3. Varsayılan paketiniz için bir konum seçin.

  4. Varsayılan paketiniz için Firebase Security Rules özelliğini yapılandırın. Geliştirme sırasında kurallarınızı herkese açık erişime göre ayarlamayı düşünebilirsiniz.

  5. Bitti'yi tıklayın.

Artık paketi Firebase konsolunun Cloud Storage Dosyalar sekmesinde görüntüleyebilirsiniz. Varsayılan paket adı biçiminiz PROJECT_ID.firebasestorage.app.

Herkese açık erişimi ayarlama

Cloud Storage for Firebase, verilerinizin nasıl yapılandırılması, nasıl dizine eklenmesi ve ne zaman okunup yazılması gerektiğini tanımlamanıza olanak tanıyan bildirimsel bir kural dili sağlar. Varsayılan olarak, Cloud Storage için okuma ve yazma erişimi kısıtlanır. Böylece yalnızca kimliği doğrulanmış kullanıcılar verileri okuyabilir veya yazabilir. Authentication'ı ayarlamadan başlamak için kurallarınızı herkese açık erişim için yapılandırabilirsiniz.

Bu işlem, Cloud Storage uygulamanızı kullanmayanlar da dahil olmak üzere herkesin erişimine açar. Bu nedenle, kimlik doğrulamayı ayarladığınızda Cloud Storage erişimini tekrar kısıtladığınızdan emin olun.

Uygulamanıza Cloud Storage ekleme

Firebase bağımlılarını yükleyip yönetmek için Swift Package Manager'ı kullanın.

  1. Xcode'da, uygulamanız açıkken File > Add Packages (Dosya > Paket Ekle) seçeneğine gidin.
  2. İstendiğinde Firebase Apple platformları SDK deposunu ekleyin:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Cloud Storage kitaplığını seçin.
  5. -ObjC işaretini hedefinizin derleme ayarlarının Other Linker Flags (Diğer Bağlayıcı İşaretleri) bölümüne ekleyin.
  6. İşlem tamamlandığında Xcode otomatik olarak arka planda bağımlılarınızı çözümlemeye ve indirmeye başlar.

Uygulamanızda Cloud Storage'ı ayarlama

  1. Herhangi bir Firebase referansı oluşturulmadan veya kullanılmadan önce Firebase'i başlatın.

    Başka bir Firebase ürününü daha önce ayarladıysanız bunu yapmış olabilirsiniz ancak FirebaseStorage kitaplığını içe aktarma listenize eklediğinizden emin olmanız gerekir.

    1. FirebaseCore modülünü ve FirebaseStorage modülünü UIApplicationDelegate dosyanıza aktarın. FirebaseAuth eklemenizi de öneririz.

      SwiftUI

      import SwiftUI
      import FirebaseCore
      import FirebaseStorage
      import FirebaseAuth
      // ...
      

      Swift

      import FirebaseCore
      import FirebaseStorage
      import FirebaseAuth
      // ...
      

      Objective-C

      @import FirebaseCore;
      @import FirebaseStorage;
      @import FirebaseAuth;
      // ...
      
    2. Uygulama temsilcinizin FirebaseApp application(_:didFinishLaunchingWithOptions:) yönteminde paylaşılan bir örnek yapılandırın:

      SwiftUI

      // Use Firebase library to configure APIs
      FirebaseApp.configure()
      

      Swift

      // Use Firebase library to configure APIs
      FirebaseApp.configure()
      

      Objective-C

      // Use Firebase library to configure APIs
      [FIRApp configure];
      
    3. (Yalnızca SwiftUI) Bir uygulama temsilcisi oluşturun ve UIApplicationDelegateAdaptor veya NSApplicationDelegateAdaptor kullanarak App yapınıza ekleyin. Ayrıca uygulama temsilcisi karıştırmayı da devre dışı bırakmanız gerekir. Daha fazla bilgi için SwiftUI talimatlarına bakın.

      SwiftUI

      @main
      struct YourApp: App {
        // Register app delegate for Firebase setup
        @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
      
        var body: some Scene {
          WindowGroup {
            NavigationView {
              ContentView()
            }
          }
        }
      }
      
  2. Varsayılan Firebase Uygulaması'nı kullanarak Cloud Storage hizmetine referans alın.

    1. Uygulamanızın kod tabanındaki Firebase yapılandırma dosyasının (GoogleService-Info.plist) varsayılan Cloud Storage paketi adıyla güncellendiğinden emin olun.

      1. Güncellenmiş yapılandırma dosyanızı edinin.

      2. Bu indirilen yapılandırma dosyasını, Xcode projenizin kök dizinindeki mevcut GoogleService-Info.plist dosyasını değiştirmek için kullanın. İstenirse yapılandırma dosyasını tüm hedeflere eklemeyi seçin.

        Uygulamanızda yalnızca en son indirilen bu yapılandırma dosyasının bulunduğundan ve dosya adına (2) gibi ek karakterler eklenmediğinden emin olun.

    2. Varsayılan Firebase uygulamasını kullanarak Cloud Storage hizmetine referans alın:

      Swift

      let storage = Storage.storage()
      // Alternatively, explicitly specify the bucket name URL.
      storage = Storage.storage(url:"gs://BUCKET_NAME")

      Objective-C

      FIRStorage *storage = [FIRStorage storage];
      // Alternatively, explicitly specify the bucket name URL.
      // FIRStorage storage = [FIRStorage storageWithURL:@"gs://BUCKET_NAME"];

Cloud Storage kullanmaya hazırsınız.

Sonraki adım? Cloud Storage referansı oluşturmayı öğrenin.

Gelişmiş kurulum

Ek kurulum gerektiren birkaç kullanım alanı vardır:

Dünyanın dört bir yanından kullanıcılarınız varsa ve verilerini onlara yakın bir yerde depolamak istiyorsanız ilk kullanım alanı idealdir. Örneğin, gecikmeyi azaltmak için bu bölgelerdeki kullanıcıların verilerini depolamak üzere ABD, Avrupa ve Asya'da paketler oluşturabilirsiniz.

İkinci kullanım alanı, farklı erişim kalıplarına sahip verileriniz varsa yararlıdır. Örneğin: Resimleri veya sık erişilen diğer içerikleri depolayan çok bölgeli ya da bölgesel bir paket ve kullanıcı yedeklerini veya seyrek erişilen diğer içerikleri depolayan nearline ya da coldline bir paket oluşturabilirsiniz.

Bu kullanım alanlarının her ikisinde de birden fazla Cloud Storage grubu kullanmak isteyeceksiniz.

Üçüncü kullanım alanı, Google Drive gibi kullanıcıların birden fazla hesapla oturum açmasına (örneğin, kişisel hesap ve iş hesabı) olanak tanıyan bir uygulama geliştiriyorsanız yararlıdır. Eklenen her hesabı doğrulamak için özel bir Firebase uygulaması örneği kullanabilirsiniz.

Birden fazla Cloud Storage paketi kullanma

Yukarıda belirtilen varsayılan dışında bir Cloud Storage paketi kullanmak veya tek bir uygulamada birden fazla Cloud Storage paketi kullanmak istiyorsanız özel paketinize referans veren bir FIRStorage örneği oluşturabilirsiniz:

Swift

// Get a non-default Cloud Storage bucket
storage = Storage.storage(url:"gs://my-custom-bucket")
    

Objective-C

// Get a non-default Cloud Storage bucket
FIRStorage storage = [FIRStorage storageWithURL:@"gs://my-custom-bucket"];
    

İçe aktarılan paketlerle çalışma

Mevcut bir Cloud Storage grubu Firebase'e aktarırken Google Cloud SDK'sında bulunan gsutil aracını kullanarak Firebase'e bu dosyalara erişme izni vermeniz gerekir:

gsutil -m acl ch -r -u service-PROJECT_NUMBER@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://BUCKET_NAME

Proje numaranızı Firebase projelerine giriş bölümünde açıklandığı şekilde bulabilirsiniz.

Bu durum, varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlandığı için yeni oluşturulan paketleri etkilemez. Bu işlem geçici bir çözümdür ve gelecekte otomatik olarak yapılacaktır.

Özel bir Firebase uygulaması kullanma

Özel bir FirebaseApp kullanarak daha karmaşık bir uygulama oluşturuyorsanız bu uygulamayla başlatılan bir Storage örneği oluşturabilirsiniz:

Swift

// Get the default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp)

// Get a non-default bucket from a custom FirebaseApp
storage = Storage.storage(app:customApp, url:"gs://my-custom-bucket")
    

Objective-C

// Get the default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp];

// Get a non-default bucket from a custom FIRApp
FIRStorage storage = [FIRStorage storageForApp:customApp withURL:@"gs://my-custom-bucket"];
    

Sonraki adımlar