Cloud Storage for 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 đa dạng thức trong ứng dụng. Dữ liệu của bạn được lưu trữ trong một Bộ chứa Google Cloud Storage — một giải pháp lưu trữ đối tượng tỷ lệ exabyte với khả năng hoạt động cao và khả năng truy cập toàn cầu dư thừa. Cloud Storage for Firebase cho phép bạn tải các tệp này lên một cách an toàn ngay từ thiết bị di động và trình duyệt web, dễ dàng xử lý các mạng không ổn định.
Điều kiện tiên quyết
- Cài đặt SDK Firebase.
- Thêm ứng dụng của bạn vào dự án Firebase trong bảng điều khiển Firebase.
Tạo một bộ chứa Cloud Storage mặc định
Trên ngăn điều hướng của bảng điều khiển Firebase, hãy chọn Bộ nhớ, rồi nhấp vào Bắt đầu.
Xem thông báo về cách bảo mật dữ liệu của bạn trên Cloud Storage bằng phương thức bảo mật quy tắc. Trong quá trình phát triển, hãy cân nhắc việc thiết lập quy tắc cho quyền truy cập công khai.
Chọn một vị trí cho bộ chứa Cloud Storage mặc định.
Chế độ cài đặt vị trí này là tuỳ chọn cài đặt của dự án vị trí tài nguyên mặc định của Google Cloud Platform (GCP). Xin lưu ý rằng vị trí này sẽ được dùng cho các dịch vụ GCP trong dự án của bạn yêu cầu chế độ cài đặt vị trí, cụ thể là cơ sở dữ liệu Cloud Firestore và ứng dụng App Engine (bắt buộc nếu bạn sử dụng Cloud Scheduler).
Nếu bạn không thể chọn vị trí, thì tức là dự án của bạn đã có vị trí tài nguyên GCP mặc định. Giá trị này được đặt trong dự án hoặc khi thiết lập một dịch vụ khác yêu cầu cung cấp vị trí cài đặt.
Nếu đang sử dụng Gói linh hoạt, bạn có thể tạo nhiều nhóm, mỗi nhóm có riêng vị trí.
Nhấp vào Xong.
Thiết lập quyền truy cập công khai
Cloud Storage for Firebase cung cấp ngôn ngữ cho quy tắc khai báo để giúp bạn để xác định 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 đọc và ghi vào Cloud Storage bị hạn chế nên chỉ những người dùng đã 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 Authentication, bạn có thể định cấu hình quy tắc cho quyền truy cập công khai.
Việc 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, do đó, hãy nhớ hạn chế Cloud Storage một lần nữa khi bạn thiết lập xác thực.
Thêm Cloud Storage vào ứng dụng
Sử dụng Trình quản lý gói Swift để cài đặt và quản lý các phần phụ thuộc Firebase.
- Trong Xcode, khi dự án ứng dụng đang mở, hãy chuyển đến File > Add Packages (Tệp > Thêm gói).
- Khi được nhắc, hãy thêm kho lưu trữ SDK của các nền tảng Apple Firebase:
- Chọn thư viện Cloud Storage.
- Thêm cờ
-ObjC
vào phần Other Linker Flags (Cờ trình liên kết khác) trong chế độ cài đặt bản dựng của mục tiêu. - Khi hoàn tất, Xcode sẽ tự động bắt đầu phân giải và tải xuống các phần phụ thuộc trong nền.
https://github.com/firebase/firebase-ios-sdk.git
Thiết lập Cloud Storage
Bạn phải khởi chạy Firebase trước khi tạo hoặc sử dụng bất kỳ tệp tham chiếu Firebase nào. Nếu đã thực hiện việc này cho một tính năng khác của Firebase, bạn có thể bỏ qua bước này.
- Nhập mô-đun
FirebaseCore
trongUIApplicationDelegate
, cũng như mọi mô-đun Firebase khác mà ứng dụng của bạn sử dụng. Ví dụ: để sử dụng Cloud Firestore và 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; // ...
- Định cấu hình một thực thể dùng chung
FirebaseApp
trong phương thứcapplication(_:didFinishLaunchingWithOptions:)
của uỷ quyền ứng dụng: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];
- Nếu đang sử dụng SwiftUI, bạn phải tạo một trình uỷ quyền ứng dụng và đính kèm trình uỷ quyền đó vào cấu trúc
App
thông quaUIApplicationDelegateAdaptor
hoặcNSApplicationDelegateAdaptor
. Bạn cũng phải tắt tính năng hoán đổi ứng dụng uỷ quyền. Để biết thêm thông tin, hãy xem hướng dẫn về SwiftUI.SwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
Lấy thông tin tham chiếu đến dịch vụ Cloud Storage bằng Ứng dụng Firebase mặc định:
Swift
let storage = Storage.storage()
Objective-C
FIRStorage *storage = [FIRStorage storage];
Bạn đã sẵn sàng bắt đầu 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 số trường hợp sử dụng cần thiết lập thêm:
- Sử dụng các bộ chứa Cloud Storage ở nhiều khu vực địa lý
- Sử dụng Cloud Storage bộ chứa trong các lớp bộ nhớ khác
- Sử dụng các bộ chứa Cloud Storage có nhiều người dùng đã xác thực trong cùng một ứng dụng
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ọ. Ví dụ: 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 là hữu ích nếu bạn có dữ liệu với nhiều kiểu truy cập. Ví dụ: bạn có thể thiết lập một bộ chứa nhiều khu vực hoặc khu vực để lưu trữ hình ảnh hoặc nội dung thường được truy cập khác và một nhóm cận cảnh hoặc vùng lãnh thổ gần nơi lưu trữ bản sao lưu của người dùng hoặc nội dung khác ít khi truy cập.
Ở một trong hai trường hợp sử dụng này, bạn nên: sử dụng nhiều bộ chứa Cloud Storage.
Trường hợp sử dụng thứ ba là hữu ích nếu bạn đang tạo 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à một tài khoản công việc). Bạn có thể sử dụng một thực thể Ứng dụng Firebase tuỳ chỉnh để xác thực từng tài khoản bổ sung.
Sử dụng nhiều bộ chứa Cloud Storage
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 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
trong số FIRStorage
tham chiếu đến bộ chứa tuỳ chỉnh của bạn:
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"];
Làm việc với các bộ chứa đã nhập
Khi nhập một bộ chứa Cloud Storage hiện có vào Firebase, bạn sẽ phải cấp cho Firebase quyền truy cập vào các tệp này bằng công cụ gsutil
có trong SDK Google Cloud:
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 như mô tả trong phần giới thiệu về dự án Firebase.
Việc này không ảnh hưởng đến những bộ chứa mới tạo vì những bộ chứa đó sẽ có quyền truy cập mặc định bộ kiểm soát được thiết lập để cho phép Firebase. Đây chỉ là 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 đang xây dựng một ứng dụng phức tạp hơn bằng FirebaseApp
tuỳ chỉnh, bạn có thể
tạo một thực thể của Storage
được khởi chạy bằng ứng dụng đó:
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"];
Các bước tiếp theo
Chuẩn bị phát hành ứng dụng:
Bật App Check để đảm bảo rằng chỉ ứng dụng của bạn có thể truy cập bộ chứa lưu trữ.
Thiết lập cảnh báo về ngân sách cho dự án của bạn trong bảng điều khiển Google Cloud.
Theo dõi Việc sử dụng và thanh toán trang tổng quan trong bảng điều khiển Firebase để có được thông tin tổng thể về trên nhiều dịch vụ Firebase. Bạn cũng có thể truy cập vào trang tổng quan Cloud Storage Mức sử dụng để biết thêm thông tin chi tiết về mức sử dụng.