ฐานข้อมูลเรียลไทม์ของ Firebase จัดเก็บและซิงค์ข้อมูลโดยใช้ฐานข้อมูล NoSQL บนระบบคลาวด์ ข้อมูลจะซิงค์กับไคลเอ็นต์ทั้งหมดแบบเรียลไทม์ และยังคงใช้งานได้เมื่อแอปของคุณออฟไลน์
ก่อนที่คุณจะเริ่มต้น
ก่อนที่จะใช้ Firebase Realtime Database, คุณต้องดำเนินการต่อไปนี้
ลงทะเบียนโปรเจ็กต์ C++ และกำหนดค่าให้ใช้ Firebase
หากโปรเจ็กต์ C++ ใช้ Firebase อยู่แล้ว แสดงว่าโปรเจ็กต์ได้ลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ลงในโปรเจ็กต์ C++
โปรดทราบว่าการเพิ่ม Firebase ลงในโปรเจ็กต์ C++ เกี่ยวข้องกับงานทั้งใน Firebaseคอนโซลและในโปรเจ็กต์ C++ ที่เปิดอยู่ (เช่น คุณดาวน์โหลด ไฟล์กำหนดค่า Firebase จากคอนโซล แล้วย้ายไฟล์เหล่านั้นไปยังโปรเจ็กต์ C++)
สร้างฐานข้อมูล
ในคอนโซลFirebase ให้ไปที่ฐานข้อมูลและพื้นที่เก็บข้อมูล > Realtime Database
คลิกสร้างฐานข้อมูล
เลือกโหมดเริ่มต้นสำหรับ Firebase Security Rules
- โหมดทดสอบ
เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แต่จะอนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากทดสอบแล้ว โปรด ตรวจสอบส่วนทำความเข้าใจกฎของฐานข้อมูลเรียลไทม์ของ Firebase
หากต้องการเริ่มต้นใช้งาน SDK สำหรับเว็บ, Apple หรือ Android ให้เลือก testmode
- โหมดล็อกขณะคุมสอบ
ปฏิเสธการอ่านและการเขียนทั้งหมดจากไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ เซิร์ฟเวอร์แอปพลิเคชันที่ได้รับการตรวจสอบสิทธิ์จะยังคงเข้าถึงฐานข้อมูลของคุณได้
เลือกตำแหน่งสำหรับฐานข้อมูล
URL ของฐานข้อมูลใหม่จะมีรูปแบบใดรูปแบบหนึ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับ ตำแหน่งของฐานข้อมูล
(สำหรับ ฐานข้อมูลในDATABASE_NAME.firebaseio.comus-central1) (สำหรับฐานข้อมูลในตำแหน่งอื่นๆ ทั้งหมด)DATABASE_NAME.REGION.firebasedatabase.app
คลิกเสร็จสิ้น
เมื่อคุณเปิดใช้ Realtime Database ระบบจะเปิดใช้ API ใน Cloud API Manager ด้วย
สร้างและเริ่มต้น firebase::App
คุณต้องสร้างและเริ่มต้น
firebase::App ก่อนจึงจะเข้าถึงRealtime Database ได้
ใส่ไฟล์ส่วนหัวสำหรับ firebase::App โดยทำดังนี้
#include "firebase/app.h"
Android
สร้าง firebase::App โดยส่งสภาพแวดล้อม JNI และการอ้างอิง jobject ไปยังกิจกรรม Java เป็นอาร์กิวเมนต์
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS+
สร้าง firebase::App โดยทำดังนี้
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
เข้าถึงคลาส firebase::database::Database
firebase::database::Database
เป็นจุดเริ่มต้นสำหรับ Firebase Realtime Database C++ SDK
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
หากเลือกใช้การเข้าถึงแบบสาธารณะสำหรับกฎ คุณสามารถไปยังส่วนเกี่ยวกับการบันทึกและการดึงข้อมูลได้
การตั้งค่าการเข้าถึงแบบจำกัด
หากไม่ต้องการใช้การเข้าถึงแบบสาธารณะ คุณสามารถเพิ่ม Firebase Authentication ลงใน แอปเพื่อควบคุมการเข้าถึงฐานข้อมูลได้
ขั้นตอนถัดไป
ดูวิธีจัดโครงสร้างข้อมูลสำหรับRealtime Database
เตรียมพร้อมที่จะเปิดตัวแอปโดยทำดังนี้
- ตั้งค่า การแจ้งเตือน งบประมาณ สำหรับโปรเจ็กต์ในคอนโซล Google Cloud
- ตรวจสอบแดชบอร์ด การใช้งานและการเรียกเก็บเงิน ในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ ในบริการ Firebase หลายรายการ นอกจากนี้ คุณยังไปที่แดชบอร์ด Realtime Database การใช้งาน เพื่อดูข้อมูลการใช้งานโดยละเอียดเพิ่มเติมได้ด้วย
- ตรวจสอบรายการตรวจสอบการเปิดตัว Firebase
ปัญหาที่ทราบ
- ในแพลตฟอร์มเดสก์ท็อป (Windows, Mac, Linux) Firebase C++ SDK จะใช้ REST เพื่อเข้าถึงฐานข้อมูล ด้วยเหตุนี้ คุณจึงต้อง ประกาศดัชนีที่ใช้ กับ Query::OrderByChild() บนเดสก์ท็อป ไม่เช่นนั้น Listener จะทำงานไม่สำเร็จ
- ฐานข้อมูลเรียลไทม์เวอร์ชันเวิร์กโฟลว์เดสก์ท็อปของ Realtime Database ไม่รองรับการใช้งานแบบออฟไลน์หรือ การคงอยู่ของข้อมูล