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