Cloud Storage for Firebase ช่วยให้คุณอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น รูปภาพและวิดีโอ ซึ่งจะช่วยให้คุณสร้างเนื้อหาริชมีเดียในแอปได้ ข้อมูลของคุณจะจัดเก็บไว้ในที่เก็บข้อมูล Google Cloud Storage ซึ่งเป็นโซลูชันพื้นที่เก็บข้อมูลออบเจ็กต์ขนาดเอกซะไบต์ที่มีความพร้อมใช้งานสูงและการทำซ้ำทั่วโลก 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 หากคุณเพิ่งเริ่มใช้ Firebase และ Google Cloud ให้ตรวจสอบว่าคุณมีสิทธิ์รับเครดิตมูลค่า $300 หรือไม่
สร้างที่เก็บข้อมูล Cloud Storage เริ่มต้น
จากแผงการนำทางของFirebaseคอนโซล ให้เลือกพื้นที่เก็บข้อมูล
หากโปรเจ็กต์ของคุณยังไม่ใช้แพ็กเกจราคาแบบจ่ายตามการใช้งานของ Blaze ระบบจะแจ้งให้อัปเกรดโปรเจ็กต์
คลิกเริ่มต้นใช้งาน
เลือกตำแหน่งสำหรับที่เก็บข้อมูลเริ่มต้น
ที่เก็บข้อมูลใน
,US-CENTRAL1
และUS-EAST1
สามารถใช้ระดับ "ฟรีตลอด" สำหรับ Google Cloud Storage ส่วนที่เก็บข้อมูลในสถานที่อื่นๆ ทั้งหมดจะใช้ราคาและการใช้งานGoogle Cloud StorageUS-WEST1
หากต้องการ คุณสามารถสร้างที่เก็บข้อมูลหลายรายการในภายหลังได้ โดยให้แต่ละที่เก็บข้อมูลมีตำแหน่งของตนเอง
กำหนดค่า Firebase Security Rules สำหรับที่เก็บข้อมูลเริ่มต้น ในระหว่างการพัฒนา ให้ลองตั้งค่ากฎสำหรับการเข้าถึงแบบสาธารณะ
คลิกเสร็จสิ้น
คุณจะดูที่เก็บข้อมูลได้ในแท็บไฟล์ Cloud Storage
ของคอนโซล Firebase รูปแบบชื่อที่เก็บข้อมูลเริ่มต้นคือ
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 ในภูมิภาคทางภูมิศาสตร์หลายแห่ง
- ใช้ที่เก็บข้อมูล Cloud Storage ในคลาสพื้นที่เก็บข้อมูลที่แตกต่างกัน
- การใช้ที่เก็บข้อมูล Cloud Storage ที่มีผู้ใช้ที่ตรวจสอบสิทธิ์แล้วหลายคนในแอปเดียวกัน
กรณีการใช้งานแรกเหมาะอย่างยิ่งหากคุณมีผู้ใช้ทั่วโลกและต้องการเก็บข้อมูลของผู้ใช้ไว้ใกล้ๆ ผู้ใช้ เช่น คุณสามารถสร้างที่เก็บข้อมูลในสหรัฐอเมริกา ยุโรป และเอเชียเพื่อจัดเก็บข้อมูลของผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาในการตอบสนอง
Use Case ที่ 2 จะมีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงที่แตกต่างกัน เช่น คุณอาจตั้งค่าที่เก็บข้อมูลระดับภูมิภาคหรือหลายภูมิภาคเพื่อจัดเก็บรูปภาพหรือเนื้อหาอื่นๆ ที่เข้าถึงบ่อย และที่เก็บข้อมูล Nearline หรือ Coldline เพื่อจัดเก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาอื่นๆ ที่เข้าถึงไม่บ่อย
ไม่ว่าในกรณีใด คุณจะต้องใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ
กรณีการใช้งานที่ 3 มีประโยชน์หากคุณกำลังสร้างแอปอย่าง Google ไดรฟ์ ซึ่งช่วยให้ผู้ใช้มีบัญชีที่เข้าสู่ระบบหลายบัญชีได้ (เช่น บัญชีส่วนตัวและบัญชีงาน) คุณสามารถใช้อินสแตนซ์แอป Firebase ที่กําหนดเองเพื่อตรวจสอบสิทธิ์บัญชีเพิ่มเติมแต่ละบัญชี
ใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ
หากต้องการใช้ที่เก็บข้อมูล Cloud Storage อื่นที่ไม่ใช่ที่เก็บข้อมูลเริ่มต้นที่ระบุไว้ด้านบน หรือใช้ที่เก็บข้อมูล Cloud Storage หลายรายการในแอปเดียว คุณจะสร้างอินสแตนซ์ของ FirebaseStorage
ที่อ้างอิงที่เก็บข้อมูลที่กำหนดเองได้โดยทำดังนี้
// Get a non-default Storage bucket var storage = FirebaseStorage.GetInstance("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://BUCKET_NAME
คุณดูหมายเลขโปรเจ็กต์ได้ตามที่อธิบายไว้ในข้อมูลเบื้องต้นเกี่ยวกับโปรเจ็กต์ Firebase
การดำเนินการนี้จะไม่ส่งผลต่อที่เก็บข้อมูลที่สร้างใหม่ เนื่องจากที่เก็บข้อมูลเหล่านั้นมีการตั้งค่าการควบคุมการเข้าถึงเริ่มต้นให้อนุญาต Firebase การดำเนินการนี้เป็นมาตรการชั่วคราวและจะดำเนินการโดยอัตโนมัติในอนาคต
ใช้แอป Firebase ที่กำหนดเอง
หากกำลังสร้างแอปที่ซับซ้อนมากขึ้นโดยใช้ 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แดชบอร์ดการใช้งานเพื่อดูข้อมูลการใช้งานโดยละเอียดได้อีกด้วย
- ตรวจสอบรายการตรวจสอบการเปิดตัว Firebase