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