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

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

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

คุณต้องดำเนินการต่อไปนี้ก่อนจึงจะใช้ Firebase Realtime Database ได้

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

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

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

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

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

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

  2. เลือกโหมดเริ่มต้นสำหรับ Firebase Security Rules

    โหมดทดสอบ

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

::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);

หากเลือกใช้การเข้าถึงแบบสาธารณะสําหรับกฎ ให้ไปที่ส่วนการบันทึกและการเรียกข้อมูล

การตั้งค่าการเข้าถึงที่จํากัด

หากไม่ต้องการใช้การเข้าถึงแบบสาธารณะ คุณสามารถเพิ่ม Firebase Authentication ลงในแอปเพื่อควบคุมการเข้าถึงฐานข้อมูลได้

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

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

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