Cloud Storage for Firebase ช่วยให้คุณสามารถอัปโหลดและแชร์เนื้อหาที่ผู้ใช้สร้างขึ้น เช่น เป็นรูปภาพและวิดีโอ ซึ่งจะช่วยให้คุณสามารถสร้างเนื้อหาสื่อสมบูรณ์ลงใน แอป ข้อมูลของคุณจะเก็บไว้ใน ที่เก็บข้อมูล Google Cloud Storage — โซลูชันพื้นที่เก็บข้อมูลออบเจ็กต์ขนาด Exabytes ที่มีความพร้อมใช้งานสูงและใช้ได้ทั่วโลก การทำซ้ำ Cloud Storage for Firebase ช่วยให้คุณอัปโหลดไฟล์เหล่านี้ได้อย่างปลอดภัย ได้โดยตรงจากโทรศัพท์มือถือและเว็บเบราว์เซอร์ ทำให้ต้องจัดการกับเครือข่ายที่ขาดหายเป็นช่วงๆ ความสะดวก
ข้อกำหนดเบื้องต้น
- ติดตั้ง Firebase SDK
- เพิ่มแอปลงในโปรเจ็กต์ Firebase ในคอนโซล Firebase
สร้างที่เก็บข้อมูล Cloud Storage เริ่มต้น
จากแผงการนำทางของคอนโซล Firebase ให้เลือกพื้นที่เก็บข้อมูล แล้วคลิกเริ่มต้นใช้งาน
ตรวจสอบข้อความเกี่ยวกับการปกป้องข้อมูล Cloud Storage โดยใช้กฎด้านความปลอดภัย ในระหว่างการพัฒนา ให้พิจารณาตั้งค่ากฎสำหรับการเข้าถึงแบบสาธารณะ
เลือกตำแหน่งสำหรับที่เก็บข้อมูล Cloud Storage เริ่มต้น
การตั้งค่าตำแหน่งนี้เป็นตำแหน่งทรัพยากร Google Cloud Platform (GCP) เริ่มต้นของโปรเจ็กต์ โปรดทราบว่าตำแหน่งที่ตั้งนี้จะใช้สำหรับบริการ GCP ในโปรเจ็กต์ของคุณ ที่ต้องการการตั้งค่าตำแหน่งโดยเฉพาะอย่างยิ่ง ฐานข้อมูล Cloud Firestore และ แอป App Engine (ซึ่งจำเป็นหากคุณใช้ Cloud Scheduler)
หากเลือกตำแหน่งไม่ได้ แสดงว่าโปรเจ็กต์ของคุณมีตำแหน่งทรัพยากร GCP เริ่มต้นอยู่แล้ว การตั้งค่านี้เกิดขึ้นระหว่างการสร้างโปรเจ็กต์หรือขณะตั้งค่าบริการอื่นที่ต้องใช้การตั้งค่าตำแหน่ง
หากใช้แพ็กเกจ Blaze คุณจะทำสิ่งต่อไปนี้ได้ สร้างที่เก็บข้อมูลหลายรายการ โดยแต่ละที่เก็บข้อมูลมีของตัวเอง location
คลิกเสร็จสิ้น
ตั้งค่าการเข้าถึงแบบสาธารณะ
Cloud Storage for Firebase มีภาษาของกฎการประกาศที่อนุญาตให้คุณ เพื่อกําหนดโครงสร้างข้อมูล ควรจัดทำดัชนี วิธีใด และเมื่อใด สามารถอ่านและเขียนข้อมูลถึงได้ โดยค่าเริ่มต้น ระบบจะจํากัดการเข้าถึงระดับอ่านและเขียนCloud Storageเพื่อให้มีเพียงผู้ใช้ที่ตรวจสอบสิทธิ์แล้วเท่านั้นที่อ่านหรือเขียนข้อมูลได้ หากต้องการเริ่มต้นใช้งานโดยไม่ตั้งค่า Authentication ให้ทำดังนี้ กำหนดค่ากฎสำหรับการเข้าถึงแบบสาธารณะ
การดำเนินการนี้จะทำให้ Cloud Storage เปิดกว้างสำหรับทุกคน แม้แต่คนที่ไม่ได้ใช้ ดังนั้นอย่าลืมจำกัด Cloud Storage อีกครั้งเมื่อตั้งค่า การตรวจสอบสิทธิ์
เพิ่ม Cloud Storage ลงในแอป
ใช้ Swift Package Manager เพื่อติดตั้งและจัดการทรัพยากร Dependency ของ Firebase
- เปิดโปรเจ็กต์แอปใน Xcode แล้วไปที่ไฟล์ > เพิ่มแพ็กเกจ
- เมื่อได้รับข้อความแจ้ง ให้เพิ่มที่เก็บ Firebase SDK สําหรับแพลตฟอร์ม Apple ดังนี้
- เลือกไลบรารี Cloud Storage
- เพิ่มแฟล็ก
-ObjC
ลงในส่วนแฟล็ก Linker อื่นๆ ของการตั้งค่าบิลด์ของเป้าหมาย - เมื่อเสร็จแล้ว Xcode จะเริ่มแก้ปัญหาและดาวน์โหลด ทรัพยากร Dependency ในเบื้องหลัง
https://github.com/firebase/firebase-ios-sdk.git
ตั้งค่า Cloud Storage
คุณต้องเริ่มต้น Firebase ก่อนที่จะสร้างการอ้างอิง Firebase หรือ หากเคยตั้งค่าแล้วสำหรับฟีเจอร์อื่นของ Firebase ให้ข้าม ขั้นตอนนี้
- นําเข้าโมดูล
FirebaseCore
ในUIApplicationDelegate
รวมถึงโมดูล Firebase อื่นๆ ที่ผู้รับมอบสิทธิ์ของแอปใช้ ตัวอย่างเช่น หากต้องการใช้ Cloud Firestore และ 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; // ...
- กําหนดค่า
FirebaseApp
อินสแตนซ์ที่แชร์ใน เมธอดapplication(_:didFinishLaunchingWithOptions:)
: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];
- หากใช้ SwiftUI คุณต้องสร้างการมอบสิทธิ์แอปพลิเคชันและแนบการมอบสิทธิ์
ไปยังโครงสร้าง
App
ของคุณผ่านUIApplicationDelegateAdaptor
หรือNSApplicationDelegateAdaptor
คุณต้องปิดใช้ SWizzing ที่มอบสิทธิ์ของแอปด้วย สำหรับ สำหรับข้อมูลเพิ่มเติม โปรดดูวิธีการของ SwiftUISwiftUI
@main struct YourApp: App { // register app delegate for Firebase setup @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
-
รับข้อมูลอ้างอิงบริการ Cloud Storage โดยใช้แอป Firebase เริ่มต้น
Swift
let storage = Storage.storage()
Objective-C
FIRStorage *storage = [FIRStorage storage];
คุณพร้อมเริ่มใช้ Cloud Storage แล้ว
ก่อนอื่น มาเรียนรู้วิธีสร้างCloud Storageอ้างอิงกัน
การตั้งค่าขั้นสูง
กรณีการใช้งานบางกรณีต้องมีการตั้งค่าเพิ่มเติม ดังนี้
- การใช้ที่เก็บข้อมูล Cloud Storage ในภูมิภาคทางภูมิศาสตร์หลายแห่ง
- ใช้ที่เก็บข้อมูล Cloud Storage ในคลาสพื้นที่เก็บข้อมูลที่แตกต่างกัน
- การใช้ที่เก็บข้อมูล Cloud Storage ที่มีผู้ใช้ที่ตรวจสอบสิทธิ์แล้วหลายคนในแอปเดียวกัน
กรณีการใช้งานแรกเหมาะอย่างยิ่งหากคุณมีผู้ใช้อยู่ทั่วโลก และต้องการใช้ เก็บข้อมูลไว้ใกล้ตัว เช่น คุณสามารถสร้างที่เก็บข้อมูลในสหรัฐอเมริกา ยุโรปและเอเชียให้จัดเก็บข้อมูลสำหรับผู้ใช้ในภูมิภาคเหล่านั้นเพื่อลดเวลาในการตอบสนอง
Use Case ที่ 2 จะมีประโยชน์หากคุณมีข้อมูลที่มีรูปแบบการเข้าถึงที่แตกต่างกัน เช่น คุณอาจตั้งค่าที่เก็บข้อมูลระดับภูมิภาคหรือหลายภูมิภาคที่จัดเก็บรูปภาพหรือเนื้อหาอื่นๆ ที่เข้าถึงบ่อย และที่เก็บข้อมูล Nearline หรือ Coldline ที่เก็บข้อมูลสำรองของผู้ใช้หรือเนื้อหาอื่นๆ ที่เข้าถึงไม่บ่อย
ไม่ว่าในกรณีใด คุณจะต้องใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ
Use Case ที่สามจะมีประโยชน์หากคุณกำลังสร้างแอป เช่น Google ไดรฟ์ ซึ่งอนุญาตให้ผู้ใช้มีบัญชีที่เข้าสู่ระบบหลายบัญชี (เช่น บัญชีส่วนตัวและบัญชีงาน) คุณสามารถใช้อินสแตนซ์แอป Firebase ที่กําหนดเองเพื่อตรวจสอบสิทธิ์บัญชีเพิ่มเติมแต่ละบัญชี
ใช้ที่เก็บข้อมูล Cloud Storage หลายรายการ
หากคุณต้องการใช้ที่เก็บข้อมูล Cloud Storage ที่ไม่ใช่ที่เก็บข้อมูลเริ่มต้นที่ระบุไว้ด้านบน
หรือใช้ที่เก็บข้อมูล Cloud Storage หลายรายการในแอปเดียว คุณจะสร้างอินสแตนซ์ได้
ของ FIRStorage
ที่อ้างอิงที่เก็บข้อมูลที่กำหนดเอง
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"];
การทำงานกับที่เก็บข้อมูลที่นำเข้า
เมื่อนำเข้าที่เก็บข้อมูล Cloud Storage ที่มีอยู่ไปยัง Firebase คุณจะทำสิ่งต่อไปนี้ได้
ต้องให้สิทธิ์ Firebase ในการเข้าถึงไฟล์เหล่านี้โดยใช้
เครื่องมือ gsutil
ซึ่งรวมอยู่ใน
SDK ของ Google Cloud
gsutil -m acl ch -r -u service-<project number>@gcp-sa-firebasestorage.iam.gserviceaccount.com gs://<your-cloud-storage-bucket>
คุณดูหมายเลขโปรเจ็กต์ได้ตามที่อธิบายไว้ในข้อมูลเบื้องต้นเกี่ยวกับโปรเจ็กต์ Firebase
ซึ่งจะไม่ส่งผลต่อที่เก็บข้อมูลที่สร้างใหม่ เนื่องจากที่เก็บข้อมูลเหล่านั้นมีการตั้งค่าการควบคุมการเข้าถึงเริ่มต้นให้อนุญาต Firebase การดำเนินการนี้เป็นมาตรการชั่วคราวและจะดำเนินการโดยอัตโนมัติในอนาคต
ใช้แอป Firebase ที่กำหนดเอง
หากคุณกำลังสร้างแอปที่ซับซ้อนขึ้นโดยใช้ FirebaseApp
ที่กำหนดเอง คุณจะทำสิ่งต่อไปนี้ได้
สร้างอินสแตนซ์ของ Storage
ที่เริ่มต้นด้วยแอปนั้น
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"];
ขั้นตอนถัดไป
เตรียมเปิดตัวแอป
เปิดใช้ App Check เพื่อให้แน่ใจว่ามีเพียง แอปของคุณเข้าถึงที่เก็บข้อมูลของพื้นที่เก็บข้อมูลได้
ตั้งค่าการแจ้งเตือนเกี่ยวกับงบประมาณสำหรับโปรเจ็กต์ในคอนโซล Google Cloud
ตรวจสอบการใช้งานและการเรียกเก็บเงิน แดชบอร์ด ในคอนโซล Firebase เพื่อดูภาพรวมของโปรเจ็กต์ ในบริการต่างๆ ของ Firebase นอกจากนี้ คุณยังไปที่Cloud Storageแดชบอร์ดการใช้งานเพื่อดูข้อมูลการใช้งานโดยละเอียดได้อีกด้วย