Catch up on everything announced at Firebase Summit, and learn how Firebase can help you accelerate app development and run your app with confidence. Learn More

Memulai Cloud Storage untuk C++

Tetap teratur dengan koleksi Simpan dan kategorikan konten berdasarkan preferensi Anda.

Cloud Storage for Firebase memungkinkan Anda mengunggah dan berbagi konten buatan pengguna, seperti gambar dan video, yang memungkinkan Anda membuat konten multimedia ke dalam aplikasi Anda. Data Anda disimpan dalam keranjang Google Cloud Storage — solusi penyimpanan objek berskala exabyte dengan ketersediaan tinggi dan redundansi global. Cloud Storage for Firebase memungkinkan Anda dengan aman mengunggah file-file ini langsung dari perangkat seluler dan browser web, menangani jaringan yang tidak stabil dengan mudah.

Sebelum kamu memulai

Sebelum dapat menggunakan Cloud Storage , Anda harus:

  • Daftarkan proyek C++ Anda dan konfigurasikan untuk menggunakan Firebase.

    Jika proyek C++ Anda sudah menggunakan Firebase, maka proyek tersebut sudah terdaftar dan dikonfigurasi untuk Firebase.

  • Tambahkan Firebase C++ SDK ke proyek C++ Anda.

Perhatikan bahwa menambahkan Firebase ke proyek C++ Anda melibatkan tugas di Firebase console dan di proyek C++ terbuka Anda (misalnya, Anda mengunduh file konfigurasi Firebase dari konsol, lalu memindahkannya ke proyek C++ Anda).

Buat keranjang Cloud Storage default

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

  2. Tinjau pesan tentang mengamankan data Cloud Storage Anda menggunakan aturan keamanan. Selama pengembangan, pertimbangkan untuk menyiapkan aturan Anda untuk akses publik .

  3. Pilih lokasi untuk keranjang Cloud Storage default Anda.

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

    • Jika Anda tidak dapat memilih lokasi, berarti project Anda sudah memiliki lokasi resource GCP default. Itu disetel selama pembuatan proyek atau saat menyiapkan layanan lain yang memerlukan pengaturan lokasi.

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

  4. Klik Selesai .

Siapkan akses publik

Cloud Storage for Firebase menyediakan bahasa aturan deklaratif yang memungkinkan Anda menentukan bagaimana data Anda harus terstruktur, bagaimana data harus diindeks, dan kapan data Anda dapat dibaca dan ditulis. Secara default, akses baca dan tulis ke Cloud Storage dibatasi sehingga hanya pengguna yang diautentikasi yang dapat membaca atau menulis data. Untuk memulai tanpa menyiapkan Otentikasi , Anda dapat mengonfigurasi aturan untuk akses publik .

Ini membuat Cloud Storage terbuka untuk siapa saja, bahkan orang yang tidak menggunakan aplikasi Anda, jadi pastikan untuk membatasi Cloud Storage lagi saat Anda menyiapkan autentikasi.

Buat dan inisialisasi firebase::App

Sebelum dapat mengakses Cloud Storage, Anda harus membuat dan menginisialisasi firebase::App .

Sertakan file header untuk firebase::App :

#include "firebase/app.h"

Android

Buat firebase::App , dengan meneruskan lingkungan JNI dan referensi jobject ke Java Activity sebagai argumen:

app = App::Create(AppOptions(), jni_env, activity);

iOS+

Buat firebase::App :

app = App::Create(AppOptions());

Akses firebase::storage::Storage class

Kelas firebase::storage::Storage adalah titik masuk untuk Cloud Storage C++ SDK.

Storage* storage = Storage::GetInstance(app);

Anda siap untuk mulai menggunakan Cloud Storage!

Pertama, mari kita pelajari cara membuat referensi Cloud Storage .

Konfigurasi lanjutan

Ada beberapa kasus penggunaan yang memerlukan penyiapan tambahan:

Kasus penggunaan pertama sempurna jika Anda memiliki pengguna di seluruh dunia, dan ingin menyimpan data mereka di dekat mereka. Misalnya, Anda dapat membuat keranjang di AS, Eropa, dan Asia untuk menyimpan data bagi pengguna di wilayah tersebut guna mengurangi latensi.

Kasus penggunaan kedua berguna jika Anda memiliki data dengan pola akses yang berbeda. Misalnya: Anda dapat menyiapkan bucket multi-regional atau regional yang menyimpan gambar atau konten lain yang sering diakses, dan bucket nearline atau coldline yang menyimpan cadangan pengguna atau konten lain yang jarang diakses.

Dalam salah satu kasus penggunaan ini, Anda sebaiknya menggunakan beberapa bucket Cloud Storage .

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

Gunakan beberapa bucket Cloud Storage

Jika Anda ingin menggunakan bucket Cloud Storage selain dari default yang disediakan di atas, atau menggunakan beberapa bucket Cloud Storage dalam satu aplikasi, Anda dapat membuat instance firebase::storage::Storage yang mereferensikan bucket kustom Anda:

// Get a non-default Cloud Storage bucket
Storage* storage = Storage::GetInstance("gs://my-custom-bucket");

Bekerja dengan ember yang diimpor

Saat mengimpor bucket Cloud Storage yang ada ke Firebase, Anda harus memberi Firebase kemampuan 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 proyek Anda seperti yang dijelaskan dalam pengantar proyek Firebase .

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

Gunakan Aplikasi Firebase khusus

Jika Anda membuat aplikasi yang lebih rumit menggunakan firebase::App khusus, Anda dapat membuat instance firebase::storage::Storage yang diinisialisasi dengan aplikasi tersebut:

// Get the default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp);

// Get a non-default bucket from a custom firebase::App
Storage* storage = Storage::GetInstance(customApp, "gs://my-custom-bucket");

Langkah selanjutnya