Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

เริ่มต้นใช้งาน Cloud Storage บน Android

Cloud Storage for Firebase ให้คุณอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น รูปภาพและวิดีโอ ซึ่งช่วยให้คุณสร้างเนื้อหาสื่อสมบูรณ์ลงในแอปของคุณได้ ข้อมูลของคุณจะถูกเก็บไว้ใน การจัดเก็บข้อมูล Google Cloud ถัง - วิธีการแก้ปัญหา Exabyte ขนาดการเก็บรักษาวัตถุมีความพร้อมสูงและความซ้ำซ้อนทั่วโลก Cloud Storage for Firebase ช่วยให้คุณอัปโหลดไฟล์เหล่านี้ได้อย่างปลอดภัยจากอุปกรณ์เคลื่อนที่และเว็บเบราว์เซอร์ จัดการเครือข่ายที่ไม่แน่นอนได้อย่างง่ายดาย

ข้อกำหนดเบื้องต้น

หากคุณยังไม่ได้ เพิ่ม Firebase กับโครงการ Android ของคุณ

สร้างที่เก็บข้อมูล Cloud Storage เริ่มต้น

  1. จากบานหน้าต่างนำทางของ Firebase คอนโซล เลือกการจัดเก็บแล้วคลิกเริ่มต้น

  2. ตรวจสอบข้อความเกี่ยวกับการรักษาความปลอดภัยข้อมูล Cloud Storage โดยใช้กฎความปลอดภัย ในระหว่างการพัฒนาให้พิจารณา ตั้งค่ากฎของคุณสำหรับการเข้าถึงประชาชน

  3. เลือก สถานที่ สำหรับการเริ่มต้นของการจัดเก็บเมฆถังของคุณ

    • การตั้งค่าสถานที่แห่งนี้เป็นโครงการของ แพลทฟอร์มเริ่มต้น Google Cloud (GCP) ที่ตั้งของทรัพยากร โปรดทราบว่าสถานที่แห่งนี้จะถูกใช้สำหรับการให้บริการ GCP ในโครงการของคุณที่ต้องมีการตั้งค่าสถานที่โดยเฉพาะของคุณ เมฆ FireStore ฐานข้อมูลของคุณและ App Engine แอป (ซึ่งเป็นสิ่งจำเป็นถ้าคุณใช้ระบบคลาวด์จัดตารางเวลา)

    • หากคุณเลือกสถานที่ไม่ได้ แสดงว่าโปรเจ็กต์ของคุณมีตำแหน่งทรัพยากร GCP เริ่มต้นอยู่แล้ว มันถูกตั้งค่าระหว่างการสร้างโครงการหรือเมื่อตั้งค่าบริการอื่นที่ต้องมีการตั้งค่าตำแหน่ง

    ถ้าคุณอยู่ในแผน Blaze คุณสามารถ สร้างหลายบุ้งกี๋ แต่ละคนมีของตัวเอง ที่ตั้ง

  4. คลิกเสร็จสิ้น

ตั้งค่าการเข้าถึงสาธารณะ

Cloud Storage for Firebase มีภาษาของกฎการประกาศที่ให้คุณกำหนดว่าข้อมูลของคุณควรมีโครงสร้างอย่างไร ควรจัดทำดัชนีอย่างไร และเมื่อใดที่ข้อมูลของคุณสามารถอ่านและเขียนได้ โดยค่าเริ่มต้น การเข้าถึงแบบอ่านและเขียนใน Cloud Storage จะถูกจำกัด ดังนั้นเฉพาะผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้นจึงจะสามารถอ่านหรือเขียนข้อมูลได้ ในการเริ่มต้นโดยไม่ต้องตั้งค่าการ รับรองความถูกต้อง คุณสามารถ กำหนดค่ากฎของคุณสำหรับการเข้าถึงของประชาชน

การดำเนินการนี้จะทำให้ Cloud Storage เปิดสำหรับทุกคน แม้กระทั่งผู้ที่ไม่ได้ใช้แอปของคุณ ดังนั้นอย่าลืมจำกัด Cloud Storage ของคุณอีกครั้งเมื่อคุณตั้งค่าการตรวจสอบสิทธิ์

เพิ่ม Cloud Storage SDK ให้กับแอปของคุณ

ใช้ Firebase Android BoM ประกาศพึ่งพาสำหรับห้องสมุด Cloud Storage Android ในโมดูลของคุณ (app ระดับ) ไฟล์ Gradle (ปกติ app/build.gradle )

Java

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

    // Declare 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'
}

โดยใช้ Firebase Android BoM แอปของคุณมักจะใช้รุ่นที่รองรับการห้องสมุด Firebase Android

(ทางเลือก) ประกาศ Firebase อ้างอิงห้องสมุดโดยไม่ต้องใช้ BoM

หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดการพึ่งพา

โปรดทราบว่าถ้าคุณใช้ห้องสมุด Firebase หลายรายการในแอปของคุณเราขอแนะนำให้ใช้ BoM การจัดการเวอร์ชันห้องสมุดซึ่งทำให้มั่นใจได้ว่าทุกรุ่นที่เข้ากันได้

dependencies {
    // Declare 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:20.0.0'
}

คอตลิน+KTX

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

    // Declare 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-ktx'
}

โดยใช้ Firebase Android BoM แอปของคุณมักจะใช้รุ่นที่รองรับการห้องสมุด Firebase Android

(ทางเลือก) ประกาศ Firebase อ้างอิงห้องสมุดโดยไม่ต้องใช้ BoM

หากคุณเลือกที่จะไม่ใช้ Firebase BoM คุณต้องระบุเวอร์ชันไลบรารี Firebase แต่ละเวอร์ชันในบรรทัดการพึ่งพา

โปรดทราบว่าถ้าคุณใช้ห้องสมุด Firebase หลายรายการในแอปของคุณเราขอแนะนำให้ใช้ BoM การจัดการเวอร์ชันห้องสมุดซึ่งทำให้มั่นใจได้ว่าทุกรุ่นที่เข้ากันได้

dependencies {
    // Declare 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-ktx:20.0.0'
}

ตั้งค่าที่เก็บข้อมูลบนคลาวด์

ขั้นตอนแรกในการเข้าถึงถัง Cloud Storage ของคุณคือการสร้างตัวอย่างของ FirebaseStorage :

Java

FirebaseStorage storage = FirebaseStorage.getInstance();

คอตลิน+KTX

storage = Firebase.storage

คุณพร้อมที่จะเริ่มใช้ Cloud Storage แล้ว!

อันดับแรกให้เรียนรู้วิธีการ สร้างการอ้างอิง Cloud Storage

การตั้งค่าขั้นสูง

มีบางกรณีการใช้งานที่ต้องมีการตั้งค่าเพิ่มเติม:

กรณีการใช้งานครั้งแรกจะสมบูรณ์แบบถ้าคุณมีผู้ใช้ทั่วโลก และต้องการจัดเก็บข้อมูลไว้ใกล้พวกเขา ตัวอย่างเช่น คุณสามารถสร้างบัคเก็ตในสหรัฐอเมริกา ยุโรป และเอเชียเพื่อจัดเก็บข้อมูลสำหรับผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาในการตอบสนอง

กรณีการใช้งานที่สองจะมีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงต่างกัน ตัวอย่างเช่น คุณสามารถตั้งค่าบัคเก็ตแบบหลายภูมิภาคหรือระดับภูมิภาคที่เก็บรูปภาพหรือเนื้อหาอื่นๆ ที่เข้าถึงบ่อย และบัคเก็ต Nearline หรือ Coldline ที่เก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาอื่นๆ ที่เข้าถึงไม่บ่อย

ในทั้งสองกรณีการใช้งานเหล่านี้คุณจะต้องการที่จะ ใช้หลายบุ้งกี๋ Cloud Storage

กรณีการใช้งานที่สามมีประโยชน์หากคุณกำลังสร้างแอป เช่น Google ไดรฟ์ ซึ่งให้ผู้ใช้มีหลายบัญชีที่ลงชื่อเข้าใช้ (เช่น บัญชีส่วนตัวและบัญชีงาน) คุณสามารถ ใช้กำหนดเอง Firebase แอป เช่นการตรวจสอบแต่ละบัญชีเพิ่มเติม

ใช้ที่เก็บข้อมูล Cloud Storage หลายอัน

หากคุณต้องการที่จะใช้การจัดเก็บเมฆถังอื่น ๆ นอกเหนือจากที่ระบุไว้ข้างต้นหรือใช้หลายบุ้งกี๋ Cloud Storage ใน app เดียวคุณสามารถสร้างตัวอย่างของ FirebaseStorage ที่อ้างอิงถังของคุณเอง:

Java

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

คอตลิน+KTX

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

การทำงานกับถังนำเข้า

เมื่อนำเข้าที่มีอยู่ถัง Cloud Storage เข้า Firebase คุณจะต้องให้ Firebase สามารถในการเข้าถึงไฟล์เหล่านี้โดยใช้ gsutil เครื่องมือที่รวมอยู่ใน Google Cloud SDK :

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

คุณสามารถค้นหาหมายเลขโครงการของคุณเป็นที่อธิบายไว้ใน เบื้องต้นเกี่ยวกับโครงการ Firebase

การดำเนินการนี้ไม่มีผลกับที่เก็บข้อมูลที่สร้างขึ้นใหม่ เนื่องจากมีการตั้งค่าการควบคุมการเข้าถึงเริ่มต้นให้อนุญาต Firebase นี่เป็นมาตรการชั่วคราวและจะดำเนินการโดยอัตโนมัติในอนาคต

ใช้แอพ Firebase แบบกำหนดเอง

หากคุณกำลังสร้างแอปที่มีความซับซ้อนมากขึ้นโดยใช้ที่กำหนดเอง FirebaseApp คุณสามารถสร้างตัวอย่างของ FirebaseStorage เริ่มต้นได้ด้วย app ที่:

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

คอตลิน+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")

ขั้นตอนถัดไป