Catch up on highlights from Firebase at Google I/O 2023. Learn more

Bắt đầu với Cloud Storage cho C ++

Lưu trữ đám mây cho Firebase cho phép bạn tải lên và chia sẻ nội dung do người dùng tạo, chẳng hạn như hình ảnh và video, cho phép bạn tạo nội dung đa phương tiện vào ứng dụng của mình. Dữ liệu của bạn được lưu trữ trong bộ chứa Google Cloud Storage — giải pháp lưu trữ đối tượng quy mô exabyte với tính khả dụng cao và dự phòng toàn cầu. Lưu trữ đám mây cho Firebase cho phép bạn tải trực tiếp các tệp này lên một cách an toàn từ thiết bị di động và trình duyệt web, xử lý các mạng bị lỗi một cách dễ dàng.

Trước khi bắt đầu

Trước khi có thể sử dụng Cloud Storage , bạn cần:

  • Đăng ký dự án C++ của bạn và định cấu hình dự án đó để sử dụng Firebase.

    Nếu dự án C++ của bạn đã sử dụng Firebase, thì dự án đó đã được đăng ký và định cấu hình cho Firebase.

  • Thêm SDK Firebase C++ vào dự án C++ của bạn.

Lưu ý rằng việc thêm Firebase vào dự án C++ của bạn liên quan đến các tác vụ cả trong bảng điều khiển Firebase và trong dự án C++ đang mở của bạn (ví dụ: bạn tải xuống các tệp cấu hình Firebase từ bảng điều khiển, sau đó di chuyển chúng vào dự án C++ của bạn).

Tạo nhóm Lưu trữ đám mây mặc định

  1. Từ ngăn điều hướng của bảng điều khiển Firebase , chọn Lưu trữ , sau đó nhấp vào Bắt đầu .

  2. Xem lại thông báo về việc bảo mật dữ liệu Bộ nhớ đám mây của bạn bằng các quy tắc bảo mật. Trong quá trình phát triển, hãy xem xét việc thiết lập các quy tắc của bạn để truy cập công khai .

  3. Chọn một vị trí cho bộ chứa Lưu trữ đám mây mặc định của bạn.

    • Cài đặt vị trí này là vị trí tài nguyên Google Cloud Platform (GCP) mặc định cho dự án của bạn. Lưu ý rằng vị trí này sẽ được sử dụng cho các dịch vụ GCP trong dự án của bạn, yêu cầu cài đặt vị trí, cụ thể là cơ sở dữ liệu Cloud Firestore và ứng dụng App Engine của bạn (bắt buộc nếu bạn sử dụng Trình lập lịch biểu đám mây).

    • Nếu bạn không thể chọn một vị trí thì dự án của bạn đã có một vị trí tài nguyên GCP mặc định. Nó được đặt trong khi tạo dự án hoặc khi thiết lập một dịch vụ khác yêu cầu cài đặt vị trí.

    Nếu bạn đang sử dụng gói Blaze, bạn có thể tạo nhiều nhóm , mỗi nhóm có vị trí riêng.

  4. Nhấp vào Xong .

Thiết lập quyền truy cập công cộng

Lưu trữ đám mây cho Firebase cung cấp ngôn ngữ quy tắc khai báo cho phép bạn xác định cách cấu trúc dữ liệu, cách lập chỉ mục dữ liệu và thời điểm dữ liệu của bạn có thể được đọc và ghi vào. Theo mặc định, quyền truy cập đọc và ghi vào Cloud Storage bị hạn chế nên chỉ người dùng được xác thực mới có thể đọc hoặc ghi dữ liệu. Để bắt đầu mà không cần thiết lập Xác thực , bạn có thể định cấu hình các quy tắc của mình để truy cập công khai .

Điều này làm cho Cloud Storage mở cho bất kỳ ai, ngay cả những người không sử dụng ứng dụng của bạn, vì vậy hãy đảm bảo hạn chế lại Cloud Storage của bạn khi bạn thiết lập xác thực.

Tạo và khởi tạo firebase::App

Trước khi có thể truy cập Cloud Storage, bạn cần tạo và khởi chạy firebase::App .

Bao gồm tệp tiêu đề cho firebase::App :

#include "firebase/app.h"

Android

Tạo firebase::App , chuyển môi trường JNI và tham chiếu dự án jobject việc đến Hoạt động Java dưới dạng đối số:

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

iOS+

Tạo firebase::App :

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

Truy cập lớp firebase::storage::Storage

Lớp firebase::storage::Storage là điểm bắt đầu cho SDK C++ của Bộ lưu trữ đám mây.

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

Bạn đã sẵn sàng bắt đầu sử dụng Cloud Storage!

Trước tiên, hãy tìm hiểu cách tạo tham chiếu Cloud Storage .

thiết lập nâng cao

Có một vài trường hợp sử dụng yêu cầu thiết lập bổ sung:

Trường hợp sử dụng đầu tiên là hoàn hảo nếu bạn có người dùng trên khắp thế giới và muốn lưu trữ dữ liệu của họ ở gần họ. Chẳng hạn, bạn có thể tạo các bộ chứa ở Hoa Kỳ, Châu Âu và Châu Á để lưu trữ dữ liệu cho người dùng ở những khu vực đó nhằm giảm độ trễ.

Trường hợp sử dụng thứ hai hữu ích nếu bạn có dữ liệu với các kiểu truy cập khác nhau. Ví dụ: bạn có thể thiết lập bộ chứa đa khu vực hoặc khu vực để lưu trữ ảnh hoặc nội dung thường xuyên truy cập khác và bộ chứa tuyến gần hoặc bộ chứa lạnh lưu trữ các bản sao lưu của người dùng hoặc nội dung không được truy cập thường xuyên khác.

Trong một trong hai trường hợp sử dụng này, bạn sẽ muốn sử dụng nhiều bộ chứa Lưu trữ đám mây .

Trường hợp sử dụng thứ ba sẽ hữu ích nếu bạn đang xây dựng một ứng dụng, chẳng hạn như Google Drive, cho phép người dùng có nhiều tài khoản đã đăng nhập (ví dụ: tài khoản cá nhân và tài khoản công việc). Bạn có thể sử dụng phiên bản Ứng dụng Firebase tùy chỉnh để xác thực từng tài khoản bổ sung.

Sử dụng nhiều nhóm Lưu trữ đám mây

Nếu bạn muốn sử dụng bộ chứa Cloud Storage khác với bộ chứa mặc định được cung cấp ở trên hoặc sử dụng nhiều bộ chứa Cloud Storage trong một ứng dụng, bạn có thể tạo một phiên bản firebase::storage::Storage tham chiếu bộ chứa tùy chỉnh của bạn:

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

Làm việc với các thùng nhập khẩu

Khi nhập bộ chứa Lưu trữ đám mây hiện có vào Firebase, bạn sẽ phải cấp cho Firebase khả năng truy cập các tệp này bằng công cụ gsutil , có trong Google Cloud SDK :

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

Bạn có thể tìm thấy số dự án của mình như được mô tả trong phần giới thiệu về dự án Firebase .

Điều này không ảnh hưởng đến các nhóm mới được tạo, vì các nhóm này đã đặt kiểm soát truy cập mặc định để cho phép Firebase. Đây là một biện pháp tạm thời và sẽ được thực hiện tự động trong tương lai.

Sử dụng ứng dụng Firebase tùy chỉnh

Nếu bạn đang xây dựng một ứng dụng phức tạp hơn bằng cách sử dụng firebase::App tùy chỉnh, bạn có thể tạo một phiên bản firebase::storage::Storage được khởi tạo với ứng dụng đó:

// 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");

Bước tiếp theo