Cloud Storage for Firebase ช่วยให้คุณอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น รูปภาพและวิดีโอ ซึ่งช่วยให้คุณสร้างเนื้อหามัลติมีเดียที่สมบูรณ์ลงใน แอปได้ ระบบจะจัดเก็บข้อมูลของคุณไว้ใน Google Cloud Storage Bucket ซึ่งเป็น โซลูชันพื้นที่เก็บข้อมูลออบเจ็กต์ขนาด exabyte ที่มีความพร้อมใช้งานสูงและมีการ สำรองข้อมูลทั่วโลก Cloud Storage for Firebase ช่วยให้คุณอัปโหลดไฟล์เหล่านี้ จากอุปกรณ์เคลื่อนที่และเว็บเบราว์เซอร์ได้อย่างปลอดภัย และจัดการเครือข่ายที่ไม่เสถียรได้อย่าง ง่ายดาย
ก่อนเริ่มต้น
ก่อนที่จะใช้ Cloud Storage, คุณต้องดำเนินการต่อไปนี้
ลงทะเบียนโปรเจ็กต์ Unity และกำหนดค่าให้ใช้ Firebase
หากโปรเจ็กต์ Unity ใช้ Firebase อยู่แล้ว แสดงว่าโปรเจ็กต์ได้ลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
หากไม่มีโปรเจ็กต์ Unity คุณสามารถดาวน์โหลด แอปตัวอย่างได้
เพิ่ม Firebase Unity SDK (โดยเฉพาะ
FirebaseStorage.unitypackage) ลงใน โปรเจ็กต์ Unity
โปรดทราบว่าการเพิ่ม Firebase ลงในโปรเจ็กต์ Unity เกี่ยวข้องกับงานทั้งใน Firebaseคอนโซลและในโปรเจ็กต์ Unity ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์การกำหนดค่า Firebase จากคอนโซล แล้วย้าย ไฟล์เหล่านั้นไปยังโปรเจ็กต์ Unity)
นอกจากนี้ โปรดตรวจสอบว่าโปรเจ็กต์ Firebase ของคุณใช้แพ็กเกจราคา Blaze แบบ จ่ายเมื่อใช้ ซึ่งเป็นข้อกำหนดในการใช้ Cloud Storage for Firebase หากเพิ่งเคยใช้ Firebase และ Google Cloud ให้ตรวจสอบว่าคุณมีสิทธิ์รับ เครดิตช่วงทดลองใช้ฟรี$300 หรือไม่
สร้าง Bucket เริ่มต้นCloud Storage
ในคอนโซลFirebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > พื้นที่เก็บข้อมูล
หากโปรเจ็กต์ของคุณยังไม่ได้ใช้แพ็กเกจราคา Blaze แบบจ่ายเมื่อใช้ ระบบจะแจ้งให้คุณอัปเกรดโปรเจ็กต์
คลิกเริ่มต้นใช้งาน
เลือกตำแหน่งสำหรับ Bucket เริ่มต้น
Bucket ใน
,US-CENTRAL1 และUS-EAST1 สามารถใช้ประโยชน์จากระดับ "ใช้งานฟรีตลอดไป" สำหรับ Google Cloud Storage ได้ Bucket ในตำแหน่งอื่นๆ ทั้งหมดจะเป็นไปตาม Google Cloud Storage ราคาและการใช้งานUS-WEST1คุณสามารถสร้าง Bucket หลายรายการในภายหลัง โดยแต่ละรายการจะมี ตำแหน่งของตัวเอง
กำหนดค่า Firebase Security Rules สำหรับ Bucket เริ่มต้น ในระหว่างการพัฒนา ให้พิจารณา ตั้งค่ากฎสำหรับการเข้าถึงแบบสาธารณะ
คลิกเสร็จสิ้น
ตอนนี้คุณสามารถดู Bucket ในคอนโซล Firebase ได้แล้ว (ไปที่แท็บ
ฐานข้อมูลและพื้นที่เก็บข้อมูล > พื้นที่เก็บข้อมูล >
ไฟล์)
รูปแบบชื่อ Bucket เริ่มต้นคือ PROJECT_ID.firebasestorage.app
ตั้งค่าการเข้าถึงแบบสาธารณะ
Cloud Storage for Firebase มีภาษาของกฎที่ประกาศไว้ ซึ่งช่วยให้คุณ กำหนดวิธีจัดโครงสร้างข้อมูล วิธีจัดทำดัชนี และเวลาที่ อ่านและเขียนข้อมูลได้ โดยค่าเริ่มต้น ระบบจะจำกัดสิทธิ์อ่านและเขียนไปยัง Cloud Storage เพื่อให้เฉพาะผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์เท่านั้นที่อ่านหรือเขียน ข้อมูลได้ หากต้องการเริ่มต้นใช้งานโดยไม่ต้องตั้งค่า Authentication คุณสามารถ กำหนดค่ากฎสำหรับการเข้าถึงแบบสาธารณะได้
การดำเนินการนี้จะทำให้ Cloud Storage เปิดให้ทุกคนเข้าถึงได้ แม้แต่ผู้ที่ไม่ได้ใช้ แอปของคุณ ดังนั้นโปรดอย่าลืมจำกัด Cloud Storage อีกครั้งเมื่อตั้งค่า การตรวจสอบสิทธิ์
เข้าถึงชั้นเรียน FirebaseStorage
Firebase.Storage.FirebaseStorage
เป็นจุดเริ่มต้นสำหรับ Cloud Storage Unity SDK
// Get a reference to the storage service, using the default Firebase App FirebaseStorage storage = FirebaseStorage.DefaultInstance;
คุณพร้อมที่จะเริ่มใช้ Cloud Storage แล้ว
ขั้นตอนถัดไป ดูวิธีสร้างข้อมูลอ้างอิง Cloud Storage
การตั้งค่าขั้นสูง
มีกรณีการใช้งานบางกรณีที่ต้องมีการตั้งค่าเพิ่มเติม ดังนี้
- การใช้ Cloud Storage Bucket ใน หลายภูมิภาคทางภูมิศาสตร์
- การใช้ Cloud Storage Bucket ใน คลาสพื้นที่เก็บข้อมูลต่างๆ
- การใช้ Cloud Storage Bucket กับผู้ใช้ที่ผ่านการตรวจสอบสิทธิ์หลายรายในแอปเดียวกัน
กรณีการใช้งานแรกเหมาะอย่างยิ่งหากคุณมีผู้ใช้ทั่วโลกและต้องการจัดเก็บข้อมูลของผู้ใช้ไว้ใกล้กับผู้ใช้ ตัวอย่างเช่น คุณสามารถสร้าง Bucket ในสหรัฐอเมริกา ยุโรป และเอเชียเพื่อจัดเก็บข้อมูลสำหรับผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาในการตอบสนอง
กรณีการใช้งานที่ 2 มีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงที่แตกต่างกัน ตัวอย่างเช่น คุณสามารถตั้งค่า Bucket แบบหลายภูมิภาคหรือแบบภูมิภาคที่จัดเก็บรูปภาพหรือเนื้อหาอื่นๆ ที่มีการเข้าถึงบ่อย และ Bucket แบบ Nearline หรือ Coldline ที่จัดเก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาอื่นๆ ที่มีการเข้าถึงไม่บ่อย
ในกรณีการใช้งานเหล่านี้ คุณจะต้องใช้ Bucket หลายรายการCloud Storage
กรณีการใช้งานที่ 3 มีประโยชน์หากคุณกำลังสร้างแอป เช่น Google ไดรฟ์ ซึ่งช่วยให้ผู้ใช้มีบัญชีที่เข้าสู่ระบบหลายบัญชีได้ (เช่น บัญชีส่วนตัวและบัญชีงาน) คุณสามารถใช้อินสแตนซ์ Firebase App ที่กำหนดเอง เพื่อตรวจสอบสิทธิ์บัญชีเพิ่มเติมแต่ละบัญชีได้
ใช้ Bucket หลายรายการCloud Storage
หากต้องการใช้ Bucket ของ Cloud Storage อื่นนอกเหนือจาก Bucket เริ่มต้นที่ระบุไว้ข้างต้น หรือใช้ Bucket ของ Cloud Storage หลายรายการในแอปเดียว คุณสามารถสร้างอินสแตนซ์ของ FirebaseStorage ที่อ้างอิง Bucket ที่กำหนดเองได้โดยทำดังนี้
// Get a non-default Storage bucket var storage = FirebaseStorage.GetInstance("gs://my-custom-bucket");
การทำงานกับ Bucket ที่นำเข้า
เมื่อนำเข้า 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://BUCKET_NAME
คุณสามารถดูหมายเลขโปรเจ็กต์ได้ตามที่อธิบายไว้ใน บทนำเกี่ยวกับโปรเจ็กต์ Firebase
การดำเนินการนี้จะไม่ส่งผลต่อ Bucket ที่สร้างขึ้นใหม่ เนื่องจาก Bucket เหล่านั้นมีการตั้งค่าการควบคุมการเข้าถึงเริ่มต้นเป็นอนุญาต Firebase นี่เป็นมาตรการชั่วคราว และระบบจะดำเนินการโดยอัตโนมัติในอนาคต
ใช้ Firebase App ที่กำหนดเอง
หากคุณกำลังสร้างแอปที่ซับซ้อนมากขึ้นโดยใช้ FirebaseApp ที่กำหนดเอง คุณสามารถสร้างอินสแตนซ์ FirebaseStorage ที่เริ่มต้นด้วยแอปดังกล่าวได้โดยทำดังนี้
// Get the default bucket from a custom FirebaseApp FirebaseStorage storage = FirebaseStorage.GetInstance(customApp); // Get a non-default bucket from a custom FirebaseApp FirebaseStorage storageCustom = FirebaseStorage.GetInstance(customApp, "gs://my-custom-bucket");
ขั้นตอนถัดไป
เตรียมพร้อมเปิดตัวแอปโดยทำดังนี้
- ตั้งค่า การแจ้งเตือน งบประมาณ สำหรับโปรเจ็กต์ในคอนโซล Google Cloud
- ตรวจสอบแดชบอร์ด การใช้งานและการเรียกเก็บเงิน ในคอนโซลFirebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ ในบริการต่างๆ ของ Firebase นอกจากนี้ คุณยังไปที่แดชบอร์ด Cloud Storage การใช้งานของ Cloud Storage เพื่อดูข้อมูลการใช้งานโดยละเอียดเพิ่มเติมได้ด้วย
- ตรวจสอบรายการตรวจสอบการเปิดตัว Firebase