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

Cloud Storage for Firebase, resim ve video gibi kullanıcı tarafından oluşturulan içerikleri yükleyip paylaşmanıza olanak tanır. Böylece uygulamalarınıza rich media içerikleri ekleyebilirsiniz. Verileriniz, yüksek kullanılabilirlik ve global yedeklilik sunan, eksabayt ölçekli 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 kesintili 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ığı ile 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. Cloud Storage for Firebase hizmetini kullanmak için bu plan gereklidir. Firebase ve Google Cloud'i kullanmaya yeni başladıysanız 300 ABD doları değerinde ücretsiz deneme kredisi için uygun olup olmadığınızı kontrol edin.

Varsayılan bir Cloud Storage paketi oluşturma

  1. Firebase konsolunda Databases & Storage (Veritabanları ve Depolama) > Storage (Depolama) bölümüne gidin.

    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 yapılandırın. Geliştirme sırasında kurallarınızı herkese açık erişim için ayarlayabilirsiniz.

  5. Bitti'yi tıklayın.

Artık paketi Firebase konsolunda görüntüleyebilirsiniz (Databases & Storage > Storage > Files sekmesine gidin). Varsayılan paket adı biçiminiz PROJECT_ID.firebasestorage.app şeklindedir.

Genel erişimi ayarlama

Cloud Storage for Firebase, verilerinizin nasıl yapılandırılması ve dizine eklenmesi gerektiğini, verilerinizin ne zaman okunup yazılabileceğini tanımlamanıza olanak tanıyan açıklayıcı 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 veri 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 herkese açık hale getirir. Bu nedenle, kimlik doğrulamayı ayarlarken Cloud Storage uygulamanızı tekrar kısıtladığınızdan emin olun.

Uygulamanıza Cloud Storage ekleyin

Firebase bağımlılıklarını yüklemek ve yönetmek için Swift Package Manager'ı kullanın.

Firebase SDK'larını Apple projenize eklemenin farklı yollarını öğrenmek için
  1. Xcode'da uygulama projeniz açıkken File > Add Packages'a (Dosya > Paket Ekle) 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. Hedefinizin derleme ayarlarının Other Linker Flags (Diğer Bağlayıcı İşaretleri) bölümüne -ObjC işaretini ekleyin.
  6. İşlem tamamlandığında Xcode, arka planda bağımlılıklarınızı otomatik olarak çözmeye ve indirmeye başlar.

Uygulamanızda Cloud Storage özelliğini ayarlama

  1. Herhangi bir Firebase referansı oluşturulmadan veya kullanılmadan önce Firebase'i ilk kullanıma hazırlayın.

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

    1. UIApplicationDelegate dosyanıza FirebaseCore modülünü ve FirebaseStorage modülünü içe 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 application(_:didFinishLaunchingWithOptions:) yönteminde paylaşılan bir FirebaseApp örneği 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 swizzling'ini de devre dışı bırakmanız gerekir. Daha fazla bilgi için SwiftUI talimatlarını inceleyin.

      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 paketinizin adıyla güncellendiğinden emin olun.

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

      2. İndirilen bu yapılandırma dosyasını kullanarak Xcode projenizin kök dizinindeki mevcut GoogleService-Info.plist dosyasını değiştirin. İstenirse yapılandırma dosyasını tüm hedeflere eklemeyi seçin.

        Uygulamanızda yalnızca en son indirilen 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 uygulamasını kullanmaya hazırsınız.

Sonraki adım ne? Cloud Storage referansı oluşturma hakkında bilgi edinin.

Gelişmiş kurulum

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

İlk kullanım alanı, dünyanın her yerinde kullanıcılarınız varsa ve verilerini onlara yakın bir yerde depolamak istiyorsanız idealdir. Örneğin, gecikmeyi azaltmak amacıyla ABD, Avrupa ve Asya'daki kullanıcıların verilerini depolamak için bu bölgelerde paketler oluşturabilirsiniz.

İkinci kullanım alanı, farklı erişim kalıplarına sahip verileriniz varsa faydalı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 bir Nearline ya da Coldline paketi oluşturabilirsiniz.

Bu kullanım alanlarından birinde birden fazla Cloud Storage paketi kullanmanız gerekir.

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

Birden fazla Cloud Storage paketi kullanma

Yukarıda sağlanan varsayılan Cloud Storage paketi dışında bir paket 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 paketini Firebase'e aktarırken Google Cloud SDK'da 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, yeni oluşturulan paketleri etkilemez. Bu paketlerde varsayılan erişim denetimi Firebase'e izin verecek şekilde ayarlanmıştır. Bu geçici bir önlemdir ve gelecekte otomatik olarak gerçekleştirilecektir.

Özel bir Firebase uygulaması kullanma

Özel bir FirebaseApp kullanarak daha karmaşık bir uygulama geliştiriyorsanı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