เริ่มต้นใช้งานฐานข้อมูลเรียลไทม์ของ Firebase สำหรับ C++

ฐานข้อมูลเรียลไทม์ของ Firebase จะจัดเก็บและซิงค์ข้อมูลโดยใช้ฐานข้อมูลระบบคลาวด์ NoSQL ข้อมูลจะซิงค์กับไคลเอ็นต์ทั้งหมดแบบเรียลไทม์ และยังคงใช้งานได้เมื่อแอปของคุณออฟไลน์

ก่อนที่คุณจะเริ่มต้น

ก่อนที่จะใช้ฐานข้อมูลเรียลไทม์ของ Firebase ได้ คุณต้องทำสิ่งต่อไปนี้

  • ลงทะเบียนโปรเจ็กต์ C++ และกําหนดค่าเพื่อใช้ Firebase

    หากโปรเจ็กต์ C++ ใช้ Firebase อยู่แล้ว แสดงว่าโปรเจ็กต์ได้รับการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว

  • เพิ่ม Firebase C++ SDK ในโปรเจ็กต์ C++

โปรดทราบว่าการเพิ่ม Firebase ในโปรเจ็กต์ C++ จะเกี่ยวข้องกับงานทั้งในคอนโซล Firebase และในโปรเจ็กต์ C++ ที่เปิดอยู่ (เช่น คุณดาวน์โหลดไฟล์การกำหนดค่า Firebase จากคอนโซล จากนั้นจึงย้ายไฟล์เหล่านั้นไปยังโปรเจ็กต์ C++)

สร้างฐานข้อมูล

  1. ไปที่ส่วน Realtime Database ของคอนโซล Firebase ระบบจะแจ้งให้คุณเลือกโปรเจ็กต์ Firebase ที่มีอยู่ ทำตามขั้นตอนการสร้างฐานข้อมูล

  2. เลือกโหมดเริ่มต้นสำหรับกฎความปลอดภัยของ Firebase

    โหมดทดสอบ

    เหมาะสำหรับการเริ่มต้นใช้งานไลบรารีของไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แต่อนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังการทดสอบ อย่าลืมอ่านส่วนทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ Firebase

    หากต้องการเริ่มต้นใช้งาน SDK บนเว็บ, Apple หรือ Android ให้เลือก testmode

    โหมดล็อกขณะคุมสอบ

    ปฏิเสธการอ่านและเขียนทั้งหมดจากไคลเอ็นต์อุปกรณ์เคลื่อนที่และเว็บ แอปพลิเคชันเซิร์ฟเวอร์ที่มีการตรวจสอบสิทธิ์ของคุณจะยังคงเข้าถึงฐานข้อมูลของคุณได้

  3. เลือกตำแหน่งสำหรับฐานข้อมูล

    URL สำหรับฐานข้อมูลใหม่จะอยู่ในรูปแบบใดรูปแบบหนึ่งต่อไปนี้ ทั้งนี้ขึ้นอยู่กับตำแหน่งของฐานข้อมูล

    • DATABASE_NAME.firebaseio.com (สำหรับ ฐานข้อมูลใน us-central1)

    • DATABASE_NAME.REGION.firebasedatabase.app (สำหรับฐานข้อมูลในตำแหน่งอื่นๆ ทั้งหมด)

  4. คลิกเสร็จ

เมื่อคุณเปิดใช้ 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 ลงในแอปเพื่อควบคุมการเข้าถึงฐานข้อมูลได้

ขั้นตอนถัดไป

ปัญหาที่ทราบ

  • บนแพลตฟอร์มเดสก์ท็อป (Windows, Mac, Linux) Firebase C++ SDK จะใช้ REST เพื่อเข้าถึงฐานข้อมูล คุณจึงต้องประกาศดัชนีที่คุณใช้กับ Query::OrderByChild() บนเดสก์ท็อป ไม่เช่นนั้น Listener ของคุณจะล้มเหลว
  • Realtime Database เวอร์ชันเวิร์กโฟลว์บนเดสก์ท็อปไม่รองรับการทำงานแบบออฟไลน์หรือถาวร