ฐานข้อมูลเรียลไทม์ของ Firebase จัดเก็บและซิงค์ข้อมูลโดยใช้ระบบคลาวด์ NoSQL ฐานข้อมูล ข้อมูลจะซิงค์ในไคลเอ็นต์ทั้งหมดแบบเรียลไทม์และยังคงอยู่ พร้อมใช้งานเมื่อแอปของคุณออฟไลน์
ก่อนที่คุณจะเริ่มต้น
ก่อนที่จะใช้งานได้ Firebase Realtime Database คุณต้องทำดังนี้
ลงทะเบียนโปรเจ็กต์ C++ และกําหนดค่าเพื่อใช้ Firebase
หากโปรเจ็กต์ C++ ของคุณใช้ Firebase อยู่แล้ว แสดงว่ามีการลงทะเบียนโปรเจ็กต์แล้วและ กำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C++ SDK ลงในโปรเจ็กต์ C++
โปรดทราบว่าการเพิ่ม Firebase ไปยังโปรเจ็กต์ C++ จะเกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโปรเจ็กต์ C++ ที่เปิดอยู่ (เช่น เมื่อคุณดาวน์โหลด ไฟล์การกำหนดค่า Firebase จากคอนโซล แล้วย้ายไฟล์ไปยังโปรเจ็กต์ C++)
สร้างฐานข้อมูล
ไปที่ส่วนRealtime Databaseของ คอนโซล Firebase ระบบจะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase ที่มีอยู่ ทำตามขั้นตอนการสร้างฐานข้อมูล
เลือกโหมดเริ่มต้นสำหรับ Firebase Security Rules
- โหมดทดสอบ
เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แต่อนุญาตให้ทุกคนสามารถอ่านและเขียนทับข้อมูลของคุณ หลังการทดสอบ ให้ โปรดอ่านทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ 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
ก่อนจะเข้าถึง Realtime Database ได้ คุณจะต้องสร้างและเริ่มต้น
firebase::App
รวมไฟล์ส่วนหัวสำหรับ 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 ไม่รองรับการออฟไลน์หรือ การคงอยู่