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

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

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

ก่อนที่คุณจะสามารถใช้ Firebase Realtime Database คุณต้อง:

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

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

  • เพิ่ม Firebase C++ SDK ให้กับโปรเจ็กต์ C++ ของคุณ

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

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

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

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

    โหมดทดสอบ

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

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

    โหมดล็อค

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

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

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

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

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

  4. คลิก เสร็จสิ้น

เมื่อคุณเปิดใช้งานฐานข้อมูลเรียลไทม์ จะเป็นการเปิดใช้งาน API ใน Cloud API Manager ด้วย

สร้างและเริ่มต้น firebase::App

ก่อนที่คุณจะสามารถเข้าถึงฐานข้อมูลเรียลไทม์ คุณจะต้องสร้างและเริ่มต้น firebase::App

รวมไฟล์ส่วนหัวสำหรับ firebase::App :

#include "firebase/app.h"

หุ่นยนต์

สร้าง firebase::App ผ่านสภาพแวดล้อม JNI และการอ้างอิง jobject ไปยังกิจกรรม Java เป็นอาร์กิวเมนต์:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

ไอโอเอส+

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

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

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

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