Memulai Cloud Storage di platform Apple

Dengan Cloud Storage for Firebase, Anda dapat mengupload dan membagikan konten buatan pengguna, seperti gambar dan video, sehingga Anda dapat memperkaya aplikasi dengan konten multimedia. Data Anda disimpan dalam bucket Google Cloud Storage, yakni solusi penyimpanan objek berskala exabyte dengan ketersediaan tinggi dan redundansi global. Cloud Storage for Firebase dapat digunakan untuk mengupload file tersebut secara langsung dan aman dari perangkat seluler dan browser web, sehingga jaringan yang tidak stabil dapat ditangani dengan mudah.

Prasyarat

  1. Instal Firebase SDK.
  2. Tambahkan aplikasi Anda ke project Firebase di Firebase console.

Membuat bucket Cloud Storage default

  1. Dari panel navigasi Firebase console, pilih Storage, lalu klik Get started.

  2. Tinjau pesan tentang cara mengamankan data Cloud Storage menggunakan aturan keamanan. Selama pengembangan, sebaiknya siapkan aturan Anda untuk akses publik.

  3. Pilih lokasi untuk bucket Cloud Storage default.

    • Setelan lokasi ini adalah lokasi resource Google Cloud Platform (GCP) default project Anda. Perlu diperhatikan bahwa lokasi ini akan digunakan untuk layanan GCP di project Anda yang memerlukan setelan lokasi, khususnya, database Cloud Firestore dan aplikasi App Engine (yang diperlukan jika Anda menggunakan Cloud Scheduler).

    • Jika lokasi tidak dapat dipilih, berarti project Anda sudah memiliki lokasi resource GCP default. Lokasi ditetapkan baik selama pembuatan project maupun saat penyiapan layanan lain yang memerlukan setelan lokasi.

    Jika menggunakan paket Blaze, Anda dapat membuat beberapa bucket, masing-masing dengan lokasinya sendiri.

  4. Klik Done.

Menyiapkan akses publik

Cloud Storage for Firebase menyediakan bahasa aturan deklaratif, sehingga Anda dapat menentukan cara data disusun dan diindeks, serta kapan data tersebut dapat dibaca dan ditulisi. Secara default, akses baca dan tulis pada Cloud Storage dibatasi, sehingga hanya pengguna terautentikasi yang dapat membaca atau menulisi data. Untuk memulai tanpa menyiapkan Authentication, Anda dapat mengonfigurasi aturan untuk akses publik.

Tindakan ini membuat Cloud Storage terbuka untuk siapa saja, bahkan orang yang tidak menggunakan aplikasi Anda. Oleh karena itu, pastikan untuk membatasi Cloud Storage kembali saat Anda menyiapkan autentikasi.

Menambahkan Cloud Storage ke aplikasi

Gunakan Swift Package Manager untuk menginstal dan mengelola dependensi Firebase.

  1. Di Xcode, dengan project aplikasi Anda dalam keadaan terbuka, buka File > Add Packages.
  2. Saat diminta, tambahkan repositori SDK platform Apple Firebase:
  3.   https://github.com/firebase/firebase-ios-sdk.git
  4. Pilih library Cloud Storage.
  5. Tambahkan flag -ObjC ke bagian Other Linker Flags pada setelan build target Anda.
  6. Setelah selesai, Xcode akan otomatis mulai me-resolve dan mendownload dependensi Anda di latar belakang.

Menyiapkan Cloud Storage

Anda harus menginisialisasi Firebase sebelum membuat atau menggunakan referensi Firebase. Jika hal ini telah dilakukan pada fitur Firebase lainnya, Anda dapat melewati langkah ini.

  1. Impor modul FirebaseCore dalam UIApplicationDelegate Anda, serta semua modul Firebase lainnya yang digunakan oleh delegasi aplikasi Anda. Misalnya, untuk menggunakan Cloud Firestore dan Authentication:

    SwiftUI

    import SwiftUI
    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Swift

    import FirebaseCore
    import FirebaseFirestore
    import FirebaseAuth
    // ...
          

    Objective-C

    @import FirebaseCore;
    @import FirebaseFirestore;
    @import FirebaseAuth;
    // ...
          
  2. Konfigurasikan instance bersama FirebaseApp di metode application(_:didFinishLaunchingWithOptions:) delegasi aplikasi Anda:

    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. Jika menggunakan SwiftUI, Anda harus membuat delegasi aplikasi dan menambahkannya ke struct App melalui UIApplicationDelegateAdaptor atau NSApplicationDelegateAdaptor. Anda juga harus menonaktifkan swizzling delegasi aplikasi. Untuk mengetahui informasi lebih lanjut, baca petunjuk SwiftUI.

    SwiftUI

    @main
    struct YourApp: App {
      // register app delegate for Firebase setup
      @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate
    
      var body: some Scene {
        WindowGroup {
          NavigationView {
            ContentView()
          }
        }
      }
    }
          
  4. Dapatkan referensi ke layanan Cloud Storage, menggunakan Aplikasi Firebase default:

    Swift

    let storage = Storage.storage()
    

    Objective-C

    FIRStorage *storage = [FIRStorage storage];
    

Anda siap untuk mulai menggunakan Cloud Storage.

Pertama, mari pelajari cara membuat referensi Cloud Storage.

Penyiapan lanjutan

Ada beberapa kasus penggunaan yang memerlukan penyiapan tambahan:

Kasus penggunaan pertama sangat cocok jika Anda memiliki pengguna di seluruh dunia dan ingin menyimpan datanya di dekat mereka. Misalnya, Anda dapat membuat bucket di Amerika Serikat, Eropa, dan Asia untuk menyimpan data bagi pengguna di region-region tersebut guna mengurangi latensi.

Kasus penggunaan kedua sangat membantu jika Anda memiliki data dengan berbagai pola akses. Misalnya: Anda dapat menyiapkan bucket multiregional atau regional yang menyimpan gambar atau konten lain yang sering diakses, dan bucket nearline atau coldline yang menyimpan cadangan pengguna atau konten lainnya yang jarang diakses.

Dalam kedua kasus penggunaan tersebut, sebaiknya gunakan beberapa bucket Cloud Storage.

Kasus penggunaan ketiga berguna jika Anda membuat aplikasi yang memungkinkan pengguna untuk memiliki beberapa akun login (misalnya, akun pribadi dan akun kerja), seperti Google Drive. Anda dapat menggunakan instance Aplikasi Firebase kustom untuk mengautentikasi setiap akun tambahan.

Menggunakan beberapa bucket Cloud Storage

Jika Anda ingin menggunakan bucket Cloud Storage selain bucket default yang disediakan di atas, atau ingin menggunakan beberapa bucket Cloud Storage di satu aplikasi, Anda dapat membuat instance FIRStorage yang mereferensikan bucket khusus Anda:

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"];
    

Menangani bucket hasil impor

Saat mengimpor bucket Cloud Storage yang sudah ada ke Firebase, Anda harus mengizinkan Firebase untuk mengakses file ini menggunakan alat gsutil, yang disertakan dalam Google Cloud SDK:

gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>

Anda dapat menemukan nomor project seperti yang dijelaskan dalam pengantar project Firebase.

Hal ini tidak akan memengaruhi bucket yang baru dibuat karena bucket ini memiliki kontrol akses default yang ditetapkan untuk mengizinkan Firebase. Ini adalah tindakan sementara dan akan dilakukan secara otomatis di masa mendatang.

Menggunakan Aplikasi Firebase kustom

Jika mem-build aplikasi yang lebih rumit menggunakan FirebaseApp kustom, Anda dapat membuat instance Storage yang diinisialisasi dengan aplikasi tersebut:

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"];
    

Langkah berikutnya