Bắt đầu sử dụng Cloud Storage trên Android

Cloud Storage 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ư dưới dạng hình ảnh và video, cho phép bạn tạo nội dung đa phương tiện của chúng tôi. Dữ liệu của bạn được lưu trữ trong một Bộ chứa Google Cloud Storage — một cách 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 cho Firebase giúp bạn tải các tệp này lên một cách an toàn ngay trên thiết bị di động và trình duyệt web, giúp xử lý các mạng không ổn định bằng một cách dễ dàng.

Điều kiện tiên quyết

Nếu bạn chưa làm như vậy, thêm Firebase vào dự án Android của bạn.

Tạo một bộ chứa mặc định trong Cloud Storage

  1. Từ ngăn điều hướng của bảng điều khiển của Firebase, hãy chọn Bộ nhớ, rồi nhấp vào Bắt đầu.

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

  3. Chọn một vị trí cho vị trí mặc định của bạn Bộ chứa Cloud Storage.

    • Chế độ cài đặt vị trí này là chế độ cài đặt của dự án vị trí tài nguyên mặc định của Google Cloud Platform (GCP). 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 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 Trình lập lịch biểu đám mây).

    • 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í.

  4. Nhấp vào Xong.

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

Cloud Storage cho Firebase cung cấp ngôn ngữ quy tắc khai báo để cho phé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ỉ người dùng đã xác thực mới có thể đọc hoặc ghi . Để 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 quy tắc của bạn đối với quyền truy cập công khai.

Thao tác này giúp mọi người có thể sử dụng Cloud Storage, kể cả những người không dùng Do đó, hãy nhớ hạn chế Cloud Storage của bạn một lần nữa khi thiết lập xác thực.

Thêm Cloud Storage SDK vào ứng dụng của bạn

Trong tệp Gradle mô-đun (cấp ứng dụng) (thường là <project>/<app-module>/build.gradle.kts hoặc <project>/<app-module>/build.gradle), thêm phần phụ thuộc cho thư viện Cloud Storage dành cho Android. Bạn nên sử dụng Bảng kê khai thành phần của Firebase cho Android để kiểm soát việc tạo phiên bản thư viện.

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:33.1.2"))

    // Add the dependency for the Cloud Storage library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-storage")
}

Bằng cách sử dụng Firebase Android BoM, ứng dụng của bạn sẽ luôn sử dụng các phiên bản tương thích của thư viện Android trên Firebase.

(Phương án thay thế) Thêm các phần phụ thuộc của thư viện Firebase mà không sử dụng BoM

Nếu chọn không sử dụng BoM của Firebase, bạn phải chỉ định từng phiên bản thư viện Firebase trong dòng phụ thuộc.

Lưu ý rằng nếu bạn sử dụng nhiều thư viện Firebase trong ứng dụng của mình, chúng tôi thực sự bạn nên sử dụng BoM để quản lý các phiên bản thư viện. Điều này đảm bảo rằng tất cả các phiên bản đều tương thích.

dependencies {
    // Add the dependency for the Cloud Storage library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation("com.google.firebase:firebase-storage:21.0.0")
}
Bạn đang tìm một mô-đun thư viện dành riêng cho Kotlin? Bắt đầu sau Tháng 10 năm 2023 (Firebase BoM 32.5.0), cả nhà phát triển Kotlin và Java đều có thể phụ thuộc vào mô-đun thư viện chính (để biết thông tin chi tiết, hãy xem Câu hỏi thường gặp về sáng kiến này).

Thiết lập Cloud Storage

Bước đầu tiên để truy cập vào bộ chứa Cloud Storage của bạn là tạo một thực thể của FirebaseStorage:

Kotlin+KTX

storage = Firebase.storage

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

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 Cloud Storage tham khảo.

Thiết lập nâng cao

Có một số trường hợp sử dụng yêu cầu bạn phải thiết lập thêm:

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 nhóm ở 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 ứ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 một 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ố FirebaseStorage tham chiếu đến bộ chứa tuỳ chỉnh của bạn:

Kotlin+KTX

// Get a non-default Storage bucket
val storage = Firebase.storage("gs://my-custom-bucket")

Java

// Get a non-default Storage bucket
FirebaseStorage storage = FirebaseStorage.getInstance("gs://my-custom-bucket");

Làm việc với 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 khả năng truy cập vào các tệp này bằng cách sử dụng 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 của mình như được 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ẽ hoạt động 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 FirebaseStorage được khởi chạy bằng ứng dụng đó:

Kotlin+KTX

// Get the default bucket from a custom FirebaseApp
val storage = Firebase.storage(customApp!!)

// Get a non-default bucket from a custom FirebaseApp
val customStorage = Firebase.storage(customApp, "gs://my-custom-bucket")

Java

// Get the default bucket from a custom FirebaseApp
FirebaseStorage storage = FirebaseStorage.getInstance(customApp);

// Get a non-default bucket from a custom FirebaseApp
FirebaseStorage customStorage = FirebaseStorage.getInstance(customApp, "gs://my-custom-bucket");

Các bước tiếp theo