Firebase Realtime Database จัดเก็บและซิงโครไนซ์ข้อมูลโดยใช้ฐานข้อมูล NoSQL บนคลาวด์ ข้อมูลจะซิงโครไนซ์กับไคลเอนต์ทั้งหมดแบบเรียลไทม์และยังคงใช้งานได้เมื่อแอปของคุณออฟไลน์
ก่อนเริ่มต้น
ก่อนจะใช้ ฐานข้อมูลเรียลไทม์ของ Firebase ได้คุณต้อง:
ลงทะเบียนโปรเจ็กต์ C ++ ของคุณและกำหนดค่าให้ใช้ Firebase
หากโครงการ C ++ ของคุณใช้ Firebase อยู่แล้วแสดงว่ามีการลงทะเบียนและกำหนดค่าสำหรับ Firebase แล้ว
เพิ่ม Firebase C ++ SDK ในโปรเจ็กต์ C ++ ของคุณ
โปรดทราบว่าการเพิ่ม Firebase ไปยังโปรเจ็กต์ C ++ เกี่ยวข้องกับงานทั้งใน คอนโซล Firebase และในโปรเจ็กต์ C ++ ที่เปิดอยู่ (เช่นคุณดาวน์โหลดไฟล์กำหนดค่า Firebase จากคอนโซลจากนั้นย้ายไปยังโปรเจ็กต์ C ++)
สร้างฐานข้อมูล
สร้างโปรเจ็กต์ Firebase ใน คอนโซล Firebase คลิก เพิ่มโปรเจ็ก ต์จากนั้นทำตามคำแนะนำบนหน้าจอเพื่อสร้างโปรเจ็กต์ Firebase หรือเพิ่มบริการ Firebase ในโปรเจ็กต์ Google Cloud ที่มีอยู่
ไปที่ส่วน Realtime Database ของ คอนโซล Firebase คุณจะได้รับแจ้งให้เลือกโครงการ Firebase ที่มีอยู่ ทำตามขั้นตอนการสร้างฐานข้อมูล
เลือกโหมดเริ่มต้นสำหรับกฎความปลอดภัย Firebase ของคุณ:
- โหมดทดสอบ
เหมาะสำหรับการเริ่มต้นกับไลบรารีไคลเอ็นต์บนอุปกรณ์เคลื่อนที่และเว็บ แต่อนุญาตให้ทุกคนอ่านและเขียนทับข้อมูลของคุณได้ หลังจากการทดสอบโปรด อ่านส่วน ทำความเข้าใจกฎฐานข้อมูลเรียลไทม์ของ Firebase
ในการเริ่มต้นกับเว็บ, iOS หรือ Android SDK ให้เลือกโหมดทดสอบ
- โหมดล็อค
ปฏิเสธการอ่านและเขียนทั้งหมดจากไคลเอนต์มือถือและเว็บ แอ็พพลิเคชันเซิร์ฟเวอร์ที่ได้รับการพิสูจน์ตัวตนของคุณยังสามารถเข้าถึงฐานข้อมูลของคุณได้
เลือกภูมิภาคสำหรับฐานข้อมูล ขึ้นอยู่กับพื้นที่ที่คุณเลือกเนมสเปซฐานข้อมูลจะอยู่ในรูปแบบ
<dbname>.firebaseio.com
หรือ<dbname>.<regioncode>.firebasedatabase.app
สำหรับข้อมูลเพิ่มเติมโปรดดูที่ เลือกสถานที่สำหรับโครงการของคุณคลิก เสร็จสิ้น
เมื่อคุณเปิดใช้ฐานข้อมูลแบบเรียลไทม์จะเป็นการเปิดใช้ API ใน Cloud API Manager ด้วย
สร้างและเริ่มต้น firebase :: App
ก่อนที่คุณจะสามารถเข้าถึงฐานข้อมูลแบบเรียลไทม์คุณจะต้องสร้างและเริ่มต้น firebase::App
รวมไฟล์ส่วนหัวสำหรับ firebase::App
:
#include "firebase/app.h"
Android
สร้าง firebase::App
ส่งผ่านสภาพแวดล้อม JNI และการอ้างอิง jobject
ไปยัง Java Activity เป็นอาร์กิวเมนต์:
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 ในแอปของคุณเพื่อควบคุมการเข้าถึงฐานข้อมูล
ขั้นตอนถัดไป
เรียนรู้วิธี จัดโครงสร้างข้อมูล สำหรับ Realtime Database
เตรียมเปิดตัวแอปของคุณ:
- ตั้งค่าการ แจ้งเตือนงบประมาณ สำหรับโครงการของคุณใน Google Cloud Console
- ตรวจสอบ การใช้งานและแดชบอร์ดการเรียกเก็บเงิน ของคุณในคอนโซล Firebase คุณยังสามารถตรวจสอบ แดชบอร์ดการใช้ฐานข้อมูลแบบเรียลไทม์ ของคุณ
- ตรวจ สอบรายการตรวจสอบการเปิดตัว Firebase
ปัญหาที่ทราบ
- บนแพลตฟอร์มเดสก์ท็อป (Windows, Mac, Linux) Firebase C ++ SDK จะใช้ REST เพื่อเข้าถึงฐานข้อมูลของคุณ ด้วยเหตุนี้คุณต้อง ประกาศดัชนีที่คุณใช้ กับ Query :: OrderByChild () บนเดสก์ท็อปมิฉะนั้นผู้ฟังของคุณจะล้มเหลว
- ฐานข้อมูลเรียลไทม์เวอร์ชันเวิร์กโฟลว์บนเดสก์ท็อปไม่รองรับการทำงานแบบออฟไลน์หรือการคงอยู่