Cơ sở dữ liệu theo thời gian thực của Firebase lưu trữ và đồng bộ hoá dữ liệu bằng cơ sở dữ liệu đám mây NoSQL. Dữ liệu được đồng bộ hoá trên tất cả ứng dụng theo thời gian thực và vẫn có sẵn khi ứng dụng của bạn không có kết nối mạng.
Trước khi bạn bắt đầu
Trước khi có thể sử dụng Cơ sở dữ liệu theo thời gian thực của Firebase, bạn cần:
Đăng ký dự án C++ của bạn và định cấu hình dự án đó để sử dụng Firebase.
Nếu dự án C++ của bạn đã sử dụng Firebase, thì tức là dự án đó đã được đăng ký và định cấu hình cho Firebase.
Thêm SDK C++ của Firebase vào dự án C++.
Lưu ý rằng việc thêm Firebase vào dự án C++ sẽ liên quan đến các tác vụ trong cả bảng điều khiển của Firebase và trong dự án C++ đang mở (ví dụ: bạn tải các tệp cấu hình Firebase xuống từ bảng điều khiển, sau đó di chuyển các tệp đó vào dự án C++).
Tạo Cơ sở dữ liệu
Chuyển đến mục Cơ sở dữ liệu theo thời gian thực của bảng điều khiển của Firebase. Bạn sẽ được nhắc chọn một dự án Firebase hiện có. Làm theo quy trình tạo cơ sở dữ liệu.
Chọn chế độ bắt đầu cho Quy tắc bảo mật Firebase của bạn:
- Chế độ thử nghiệm
Phù hợp khi bắt đầu sử dụng thư viện ứng dụng dành cho thiết bị di động và web, nhưng cho phép mọi người đọc và ghi đè dữ liệu của bạn. Sau khi kiểm thử, hãy xem lại phần Tìm hiểu quy tắc cơ sở dữ liệu theo thời gian thực của Firebase.
Để bắt đầu sử dụng web, Apple hoặc SDK Android, hãy chọn chế độ thử nghiệm.
- Chế độ khoá
Từ chối mọi lượt đọc và ghi từ ứng dụng di động và web. Máy chủ ứng dụng đã xác thực của bạn vẫn có thể truy cập cơ sở dữ liệu của bạn.
Chọn vị trí cho cơ sở dữ liệu.
Tuỳ thuộc vào vị trí của cơ sở dữ liệu, URL cho cơ sở dữ liệu mới sẽ có một trong các dạng sau:
(đối với cơ sở dữ liệu trongDATABASE_NAME.firebaseio.com
us-central1
) (đối với cơ sở dữ liệu ở tất cả các vị trí khác)DATABASE_NAME.REGION.firebasedatabase.app
Nhấp vào Xong.
Khi bật Cơ sở dữ liệu theo thời gian thực, bạn cũng sẽ bật API trong Trình quản lý API trên đám mây.
Tạo và khởi chạy firebase::App
Trước khi có thể truy cập vào Cơ sở dữ liệu theo thời gian thực, bạn cần tạo và khởi chạy firebase::App
.
Bao gồm tệp tiêu đề cho firebase::App
:
#include "firebase/app.h"
Android
Tạo firebase::App
, truyền môi trường JNI và một tham chiếu jobject
đến Hoạt động Java dưới dạng các đối số:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);
iOS trở lên
Tạo firebase::App
:
app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));
Truy cập vào firebase::database::Database Class
firebase::database::Database
là điểm truy cập cho SDK C++ cho cơ sở dữ liệu theo thời gian thực của Firebase.
::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);
Nếu đã chọn sử dụng quyền truy cập công khai cho các quy tắc của mình, bạn có thể chuyển sang các phần về lưu và truy xuất dữ liệu.
Thiết lập quyền truy cập bị hạn chế
Nếu không muốn sử dụng quyền truy cập công khai, bạn có thể thêm tính năng Xác thực Firebase vào ứng dụng của mình để kiểm soát quyền truy cập vào cơ sở dữ liệu.
Các bước tiếp theo
Tìm hiểu cách xây dựng cấu trúc dữ liệu cho Cơ sở dữ liệu theo thời gian thực.
Xem cơ sở dữ liệu của bạn trong bảng điều khiển của Firebase.
Chuẩn bị phát hành ứng dụng:
- Thiết lập cảnh báo ngân sách cho dự án của bạn trong bảng điều khiển Google Cloud.
- Hãy theo dõi trang tổng quan về Mức sử dụng và thanh toán trong bảng điều khiển của Firebase để nắm được thông tin tổng thể về mức sử dụng dự án của bạn trên nhiều dịch vụ của Firebase. Bạn cũng có thể truy cập vào trang tổng quan Mức sử dụng cơ sở dữ liệu theo thời gian thực để biết thêm thông tin chi tiết về mức sử dụng.
- Xem danh sách kiểm tra khi phát hành Firebase.
Các vấn đề đã biết
- Trên các nền tảng dành cho máy tính (Windows, Mac, Linux), SDK C++ của Firebase sử dụng REST để truy cập vào cơ sở dữ liệu của bạn. Do đó, bạn phải khai báo các chỉ mục mà bạn sử dụng với Query::OrderByChild() trên máy tính, nếu không trình nghe sẽ không hoạt động.
- Phiên bản quy trình công việc dành cho máy tính của Cơ sở dữ liệu theo thời gian thực không hỗ trợ tính năng ngoại tuyến hoặc dữ liệu cố định.