ฐานข้อมูลเรียลไทม์ของ Firebase จะจัดเก็บและซิงค์ข้อมูลโดยใช้ฐานข้อมูลระบบคลาวด์ NoSQL ข้อมูลจะซิงค์กับไคลเอ็นต์ทั้งหมดแบบเรียลไทม์ และยังคงใช้งานได้เมื่อแอปของคุณออฟไลน์
ก่อนที่คุณจะเริ่มต้น
ก่อนที่จะใช้ฐานข้อมูลเรียลไทม์ของ Firebase ได้ คุณต้องทำสิ่งต่อไปนี้
ลงทะเบียนโปรเจ็กต์ C++ และกําหนดค่าเพื่อใช้ Firebase
หากโปรเจ็กต์ C++ ใช้ Firebase อยู่แล้ว แสดงว่าโปรเจ็กต์ได้รับการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ในโปรเจ็กต์ C++
โปรดทราบว่าการเพิ่ม Firebase ในโปรเจ็กต์ C++ จะเกี่ยวข้องกับงานทั้งในคอนโซล Firebase และในโปรเจ็กต์ C++ ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์การกำหนดค่า Firebase จากคอนโซล จากนั้นจึงย้ายไฟล์เหล่านั้นไปยังโปรเจ็กต์ C++)
สร้างฐานข้อมูล
ไปที่ส่วน Realtime Database ของคอนโซล Firebase ระบบจะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase ที่มีอยู่ ทำตามขั้นตอนการสร้างฐานข้อมูล
เลือกโหมดเริ่มต้นสำหรับกฎความปลอดภัยของ Firebase
- โหมดทดสอบ
เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แต่อนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังการทดสอบ อย่าลืมอ่านส่วนทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ Firebase
หากต้องการเริ่มต้นใช้งาน SDK บนเว็บ, Apple หรือ Android ให้เลือก testmode
- โหมดล็อกขณะคุมสอบ
ปฏิเสธการอ่านและเขียนทั้งหมดจากไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แอปพลิเคชันเซิร์ฟเวอร์ที่มีการตรวจสอบสิทธิ์ของคุณจะยังคงเข้าถึงฐานข้อมูลของคุณได้
เลือกตำแหน่งสำหรับฐานข้อมูล
URL สำหรับฐานข้อมูลใหม่จะอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับตำแหน่งของฐานข้อมูล
(สำหรับ ฐานข้อมูลในDATABASE_NAME.firebaseio.com
us-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
คือจุดแรกเข้าของฐานข้อมูลเรียลไทม์ C++ SDK ของ Firebase
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
หากเลือกใช้การเข้าถึงแบบสาธารณะสำหรับกฎ คุณจะดำเนินการต่อไปยังส่วนเกี่ยวกับการบันทึกและดึงข้อมูลได้
การตั้งค่าการเข้าถึงที่จำกัด
หากไม่ต้องการใช้การเข้าถึงแบบสาธารณะ คุณเพิ่มการตรวจสอบสิทธิ์ Firebase ลงในแอปเพื่อควบคุมการเข้าถึงฐานข้อมูลได้
ขั้นตอนถัดไป
ดูวิธีจัดโครงสร้างข้อมูลสำหรับ Realtime Database
เตรียมเปิดตัวแอป
- ตั้งค่าการแจ้งเตือนงบประมาณสำหรับโปรเจ็กต์ในคอนโซล Google Cloud
- ตรวจสอบหน้าแดชบอร์ดการใช้งานและการเรียกเก็บเงินในคอนโซล Firebase เพื่อดูภาพรวมการใช้งานโปรเจ็กต์ในบริการต่างๆ ของ Firebase นอกจากนี้ คุณยังไปที่หน้าแดชบอร์ดการใช้งาน Realtime Database เพื่อดูข้อมูลการใช้งานโดยละเอียดเพิ่มเติมได้
- ดูรายการตรวจสอบการเปิดตัว Firebase
ปัญหาที่ทราบ
- บนแพลตฟอร์มเดสก์ท็อป (Windows, Mac, Linux) Firebase C++ SDK จะใช้ REST เพื่อเข้าถึงฐานข้อมูล คุณจึงต้องประกาศดัชนีที่คุณใช้กับ Query::OrderByChild() บนเดสก์ท็อป ไม่เช่นนั้น Listener ของคุณจะล้มเหลว
- Realtime Database เวอร์ชันเวิร์กโฟลว์บนเดสก์ท็อปไม่รองรับการทำงานแบบออฟไลน์หรือถาวร