Tăng sức mạnh cho các trò chơi C++ của bạn bằng SDK Firebase C++ của chúng tôi. SDK này cung cấp giao diện C++ trên SDK Firebase.
Truy cập Firebase hoàn toàn từ mã C++ của bạn mà không phải viết bất kỳ mã gốc nền tảng nào. SDK Firebase cũng dịch nhiều thành ngữ dành riêng cho ngôn ngữ được Firebase sử dụng thành một giao diện quen thuộc hơn với các nhà phát triển C++.
Tìm hiểu thêm thông tin về cách tăng sức mạnh cho trò chơi của bạn bằng Firebase tại trang trò chơi Firebase của chúng tôi.
Đã thêm Firebase vào dự án C++ của bạn? Đảm bảo rằng bạn đang sử dụng phiên bản SDK Firebase C++ mới nhất.
điều kiện tiên quyết
Cài đặt như sau:
- Xcode 13.3.1 trở lên
- CocoaPods 1.10.0 trở lên
Đảm bảo rằng dự án của bạn nhắm mục tiêu các phiên bản nền tảng sau trở lên:
- iOS 11
- tvOS 12
Thiết lập thiết bị thực hoặc sử dụng trình mô phỏng để chạy ứng dụng của bạn.
Đối với Nhắn tin qua đám mây trên nền tảng Apple, đây là các điều kiện tiên quyết:
- Thiết lập một thiết bị vật lý của Apple .
- Nhận Khóa xác thực thông báo đẩy của Apple cho tài khoản Nhà phát triển Apple của bạn.
- Bật Thông báo đẩy trong Xcode trong Ứng dụng > Khả năng .
Đăng nhập vào Firebase bằng tài khoản Google của bạn.
Bước 2 : Tạo dự án Firebase
Trước khi bạn có thể thêm Firebase vào dự án C++ của mình, bạn cần tạo một dự án Firebase để kết nối với dự án C++ của mình. Truy cập Tìm hiểu các dự án Firebase để tìm hiểu thêm về các dự án Firebase.
Bước 3 : Đăng ký ứng dụng của bạn với Firebase
Để sử dụng Firebase trong ứng dụng Apple của bạn, bạn cần đăng ký ứng dụng của mình với dự án Firebase. Đăng ký ứng dụng của bạn thường được gọi là "thêm" ứng dụng vào dự án của bạn.
Chuyển đến bảng điều khiển Firebase .
Ở giữa trang tổng quan dự án, hãy nhấp vào biểu tượng iOS+ để khởi chạy quy trình thiết lập.
Nếu bạn đã thêm một ứng dụng vào dự án Firebase của mình, hãy nhấp vào Thêm ứng dụng để hiển thị các tùy chọn nền tảng.
Nhập ID gói ứng dụng của bạn vào trường ID gói .
ID gói xác định duy nhất một ứng dụng trong hệ sinh thái của Apple.
Tìm ID gói của bạn: mở dự án của bạn trong Xcode, chọn ứng dụng cấp cao nhất trong trình điều hướng dự án, sau đó chọn tab Chung .
Giá trị của trường Định danh gói là ID gói (ví dụ:
com.yourcompany.yourproject
).Xin lưu ý rằng giá trị ID gói phân biệt chữ hoa chữ thường và không thể thay đổi giá trị này đối với ứng dụng Firebase này sau khi đã đăng ký với dự án Firebase của bạn.
(Tùy chọn) Nhập thông tin ứng dụng khác: Biệt hiệu ứng dụng và ID App Store .
Biệt hiệu của ứng dụng : Mã định danh nội bộ, tiện lợi chỉ hiển thị với bạn trong bảng điều khiển Firebase
ID cửa hàng ứng dụng : Được Firebase Dynamic Links sử dụng để chuyển hướng người dùng đến trang App Store của bạn và được Google Analytics sử dụng để nhập các sự kiện chuyển đổi vào Google Ads . Nếu ứng dụng của bạn chưa có ID App Store, bạn có thể thêm ID sau trong cài đặt Dự án của mình.
Nhấp vào Đăng ký ứng dụng .
Bước 4 : Thêm tệp cấu hình Firebase
Nhấp vào Tải xuống GoogleService-Info.plist để lấy tệp cấu hình nền tảng Apple Firebase của bạn.
Tệp cấu hình Firebase chứa các mã định danh duy nhất nhưng không bí mật cho dự án của bạn. Để tìm hiểu thêm về tệp cấu hình này, hãy truy cập Tìm hiểu các dự án Firebase .
Bạn có thể tải xuống lại tệp cấu hình Firebase của mình bất kỳ lúc nào.
Đảm bảo tên tệp cấu hình không được thêm các ký tự bổ sung, như
(2)
.
Mở dự án C++ của bạn trong IDE, sau đó kéo tệp cấu hình của bạn vào thư mục gốc của dự án C++.
Nếu được nhắc, hãy chọn để thêm tệp cấu hình vào tất cả các mục tiêu.
Bạn đã hoàn tất việc thiết lập các tác vụ trong bảng điều khiển Firebase. Tiếp tục Thêm SDK Firebase C++ bên dưới.
Bước 5 : Thêm SDK Firebase C++
Các bước trong phần này là một ví dụ về cách thêm các sản phẩm Firebase được hỗ trợ vào dự án Firebase C++ của bạn.
Tải xuống SDK Firebase C++ , sau đó giải nén SDK ở một nơi thuận tiện.
SDK Firebase C++ không dành riêng cho nền tảng nhưng có chứa các thư viện dành riêng cho nền tảng.
Thêm nhóm Firebase từ SDK đã giải nén.
Tạo một Podfile nếu bạn chưa có:
cd your-app-directory
pod init
Vào Podfile của bạn, hãy thêm nhóm Firebase mà bạn muốn sử dụng trong ứng dụng của mình.
Đã bật phân tích
# Add the Firebase pod for Google Analytics pod 'FirebaseAnalytics'
# Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'Phân tích không được bật
# Add the pods for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'FirebaseAuth' pod 'FirebaseDatabase'
Cài đặt các nhóm, sau đó mở tệp
.xcworkspace
trong Xcode.pod install
open your-app.xcworkspace
Thêm các khung Firebase từ SDK đã giải nén.
Cách dễ nhất để thêm các khung này thường là kéo trực tiếp chúng từ cửa sổ
Finder
vào ngăn Điều hướng dự án của Xcode (theo mặc định là ngăn ngoài cùng bên trái; hoặc nhấp vào biểu tượng tệp ở trên cùng bên trái của Xcode).Thêm khung Firebase C++
firebase.framework
, cần có để sử dụng bất kỳ sản phẩm Firebase nào.Thêm khung cho từng sản phẩm Firebase mà bạn muốn sử dụng. Ví dụ: để sử dụng Xác thực Firebase, hãy thêm
firebase_auth.framework
.
Quay lại bảng điều khiển Firebase, trong quy trình thiết lập, hãy nhấp vào Tiếp theo .
Nếu bạn đã thêm Analytics, hãy chạy ứng dụng của bạn để gửi xác minh tới Firebase rằng bạn đã tích hợp thành công Firebase. Nếu không, bạn có thể bỏ qua bước xác minh này.
Nhật ký thiết bị của bạn sẽ hiển thị xác minh Firebase rằng quá trình khởi chạy đã hoàn tất. Nếu bạn chạy ứng dụng của mình trên trình mô phỏng có quyền truy cập mạng, bảng điều khiển Firebase sẽ thông báo cho bạn biết rằng kết nối ứng dụng của bạn đã hoàn tất.
Bạn đã sẵn sàng! Ứng dụng C++ của bạn đã được đăng ký và định cấu hình để sử dụng các sản phẩm Firebase.
thư viện có sẵn
Tìm hiểu thêm về các thư viện C++ Firebase trong tài liệu tham khảo và trong bản phát hành SDK nguồn mở của chúng tôi trên GitHub .
Thư viện có sẵn cho nền tảng Apple
Lưu ý rằng các thư viện C++ dành cho Android được liệt kê trên phiên bản Android của trang thiết lập này .
Mỗi sản phẩm Firebase có các phụ thuộc khác nhau. Đảm bảo thêm tất cả các thành phần phụ thuộc được liệt kê cho sản phẩm Firebase mong muốn vào dự án Podfile và C++ của bạn.
Mỗi sản phẩm Firebase chỉ có thể hỗ trợ một số nền tảng Apple OS (iOS, tvOS, v.v.). Kiểm tra nền tảng nào được mỗi thư viện hỗ trợ trong Tìm hiểu thêm về C++ và Firebase .
sản phẩm căn cứ hỏa lực | Framework và Pods |
---|---|
AdMob | (bắt buộc) firebase.framework firebase_admob.framework (bắt buộc) firebase_analytics.framework pod 'FirebaseAdMob', '10.9.0' (bắt buộc) pod 'FirebaseAnalytics', '10.9.0' |
phân tích | (bắt buộc) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.9.0' |
Kiểm tra ứng dụng | (bắt buộc) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '10.9.0' |
xác thực | (bắt buộc) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.9.0' |
Cửa hàng lửa trên đám mây | (bắt buộc) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.9.0' pod 'FirebaseAuth', '10.9.0' |
Chức năng đám mây | (bắt buộc) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.9.0' |
Nhắn tin qua đám mây | (bắt buộc) firebase.framework firebase_messaging.framework (được khuyến nghị) firebase_analytics.framework pod 'FirebaseMessaging', '10.9.0' (được khuyến nghị) pod 'FirebaseAnalytics', '10.9.0' |
Lưu trữ đám mây | (bắt buộc) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.9.0' |
Liên kết động | (bắt buộc) firebase.framework firebase_dynamic_links.framework (được khuyến nghị) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.9.0' (được khuyến nghị) pod 'FirebaseAnalytics', '10.9.0' |
Cơ sở dữ liệu thời gian thực | (bắt buộc) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.9.0' |
Cấu hình từ xa | (bắt buộc) firebase.framework firebase_remote_config.framework (được khuyến nghị) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.9.0' (được khuyến nghị) pod 'FirebaseAnalytics', '10.9.0' |
Thông tin bổ sung cho thiết lập di động
phương pháp xoáy
Trên iOS, một số sự kiện của ứng dụng (chẳng hạn như mở URL và nhận thông báo) yêu cầu ứng dụng của bạn được ủy quyền triển khai các phương pháp cụ thể. Ví dụ: việc nhận thông báo có thể yêu cầu người ủy quyền ứng dụng của bạn triển khai application:didReceiveRemoteNotification:
. Bởi vì mỗi ứng dụng iOS có đại biểu ứng dụng riêng, Firebase sử dụng phương thức swizzling , cho phép thay thế một phương thức này bằng một phương thức khác, để đính kèm các trình xử lý của chính ứng dụng đó ngoài bất kỳ trình xử lý nào mà bạn có thể đã triển khai.
Các thư viện Liên kết động và Nhắn tin qua đám mây cần đính kèm các trình xử lý vào ứng dụng được ủy quyền bằng cách sử dụng phương thức swizzling. Nếu bạn đang sử dụng bất kỳ sản phẩm nào trong số các sản phẩm Firebase này, thì tại thời điểm tải, Firebase sẽ xác định lớp AppDelegate
của bạn và đưa các phương thức cần thiết vào lớp đó, xâu chuỗi lệnh gọi trở lại quá trình triển khai phương thức hiện tại của bạn.
Thiết lập quy trình làm việc trên máy tính để bàn ( beta )
Khi bạn tạo trò chơi, việc thử nghiệm trò chơi của bạn trên nền tảng máy tính để bàn trước, sau đó triển khai và thử nghiệm trên thiết bị di động trong quá trình phát triển sau này sẽ dễ dàng hơn nhiều. Để hỗ trợ quy trình công việc này, chúng tôi cung cấp một tập hợp con SDK Firebase C++ có thể chạy trên Windows, macOS, Linux và từ bên trong trình chỉnh sửa C++.
Đối với quy trình làm việc trên máy tính để bàn, bạn cần hoàn thành những điều sau:
- Định cấu hình dự án C++ của bạn cho CMake.
- Tạo dự án Firebase
- Đăng ký ứng dụng của bạn (iOS hoặc Android) với Firebase
- Thêm tệp cấu hình Firebase nền tảng di động
Tạo phiên bản máy tính để bàn của tệp cấu hình Firebase:
Nếu bạn đã thêm tệp
google-services.json
Android — Khi bạn chạy ứng dụng của mình, Firebase sẽ định vị tệp di động này, sau đó tự động tạo tệp cấu hình Firebase trên máy tính để bàn (google-services-desktop.json
).Nếu bạn đã thêm tệp
GoogleService-Info.plist
của iOS — Trước khi chạy ứng dụng của mình, bạn cần chuyển đổi tệp di động này thành tệp cấu hình Firebase trên máy tính để bàn . Để chuyển đổi tệp, hãy chạy lệnh sau từ cùng thư mục với tệpGoogleService-Info.plist
của bạn:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Tệp cấu hình máy tính để bàn này chứa ID dự án C++ mà bạn đã nhập trong quy trình thiết lập bảng điều khiển Firebase. Truy cập Hiểu các dự án Firebase để tìm hiểu thêm về các tệp cấu hình.
Thêm SDK Firebase vào dự án C++ của bạn.
Các bước dưới đây là ví dụ về cách thêm bất kỳ sản phẩm Firebase được hỗ trợ nào vào dự án C++ của bạn. Trong ví dụ này, chúng tôi hướng dẫn cách thêm Xác thực Firebase và Cơ sở dữ liệu thời gian thực Firebase.
Đặt biến môi trường
FIREBASE_CPP_SDK_DIR
của bạn thành vị trí của SDK Firebase C++ đã giải nén.Vào tệp
CMakeLists.txt
của dự án, hãy thêm nội dung sau, bao gồm các thư viện dành cho sản phẩm Firebase mà bạn muốn sử dụng. Ví dụ: để sử dụng Xác thực Firebase và Cơ sở dữ liệu thời gian thực Firebase:# Add Firebase libraries to the target using the function from the SDK. add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL) # The Firebase C++ library `firebase_app` is required, # and it must always be listed last. # Add the Firebase SDKs for the products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database set(firebase_libs firebase_auth firebase_database firebase_app) target_link_libraries(${target_name} "${firebase_libs}")
Chạy ứng dụng C++ của bạn.
Thư viện có sẵn (máy tính để bàn)
SDK Firebase C++ bao gồm hỗ trợ quy trình làm việc trên máy tính để bàn cho một tập hợp con các tính năng, cho phép sử dụng một số phần nhất định của Firebase trong các bản dựng máy tính để bàn độc lập trên Windows, macOS và Linux.
sản phẩm căn cứ hỏa lực | Thư viện tham khảo (sử dụng CMake) |
---|---|
Kiểm tra ứng dụng | firebase_app_check (bắt buộc) firebase_app |
xác thực | firebase_auth (bắt buộc) firebase_app |
Cửa hàng lửa trên đám mây | firebase_firestore firebase_auth firebase_app |
Chức năng đám mây | firebase_functions (bắt buộc) firebase_app |
Lưu trữ đám mây | firebase_storage (bắt buộc) firebase_app |
Cơ sở dữ liệu thời gian thực | firebase_database (bắt buộc) firebase_app |
Cấu hình từ xa | firebase_remote_config (bắt buộc) firebase_app |
Firebase cung cấp các thư viện máy tính để bàn còn lại dưới dạng triển khai sơ khai (không có chức năng) để thuận tiện khi xây dựng cho Windows, macOS và Linux. Do đó, bạn không cần biên dịch mã có điều kiện để nhắm mục tiêu máy tính để bàn.
Máy tính để bàn Cơ sở dữ liệu thời gian thực
SDK cơ sở dữ liệu thời gian thực dành cho máy tính để bàn sử dụng REST để truy cập cơ sở dữ liệu của bạn, vì vậy, 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 để bàn, nếu không trình nghe của bạn sẽ không thành công.
Thông tin bổ sung cho thiết lập máy tính để bàn
thư viện Windows
Đối với Windows, các phiên bản thư viện được cung cấp dựa trên những điều sau:
- Nền tảng xây dựng: chế độ 32-bit (x86) so với 64-bit (x64)
- Môi trường thời gian chạy Windows: Đa luồng/MT so với DLL đa luồng/MD
- Mục tiêu: Phát hành vs Gỡ lỗi
Lưu ý rằng các thư viện sau đã được kiểm tra bằng Visual Studio 2015 và 2017.
Khi xây dựng các ứng dụng máy tính để bàn C++ trên Windows, hãy liên kết các thư viện SDK Windows sau với dự án của bạn. Tham khảo tài liệu trình biên dịch của bạn để biết thêm thông tin.
Thư viện Firebase C++ | Phụ thuộc thư viện Windows SDK |
---|---|
Kiểm tra ứng dụng | advapi32, ws2_32, crypt32 |
xác thực | advapi32, ws2_32, crypt32 |
Cửa hàng lửa trên đám mây | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
Chức năng đám mây | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Lưu trữ đám mây | advapi32, ws2_32, crypt32 |
Cơ sở dữ liệu thời gian thực | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
Cấu hình từ xa | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
thư viện macOS
Đối với macOS (Darwin), các phiên bản thư viện được cung cấp cho nền tảng 64-bit (x86_64). Các khung cũng được cung cấp để thuận tiện cho bạn.
Lưu ý rằng các thư viện macOS đã được thử nghiệm bằng Xcode 13.3.1.
Khi xây dựng các ứng dụng máy tính để bàn C++ trên macOS, hãy liên kết các mục sau với dự án của bạn:
- thư viện hệ thống
pthread
- Khung hệ thống macOS
CoreFoundation
-
Foundation
hệ thống nền tảng macOS - Khung hệ thống macOS
Security
- Khung hệ thống
GSS
macOS - Khung hệ thống
Kerberos
macOS -
SystemConfiguration
khung hệ thống macOS
Tham khảo tài liệu trình biên dịch của bạn để biết thêm thông tin.
thư viện Linux
Đối với Linux, các phiên bản thư viện được cung cấp cho nền tảng 32-bit (i386) và 64-bit (x86_64).
Lưu ý rằng các thư viện Linux đã được thử nghiệm bằng GCC 4.8.0, GCC 7.2.0 và Clang 5.0 trên Ubuntu.
Khi xây dựng các ứng dụng máy tính để bàn C++ trên Linux, hãy liên kết thư viện hệ thống pthread
với dự án của bạn. Tham khảo tài liệu trình biên dịch của bạn để biết thêm thông tin. Nếu bạn đang xây dựng bằng GCC 5 trở lên, hãy xác định -D_GLIBCXX_USE_CXX11_ABI=0
.
Bước tiếp theo
Khám phá các ứng dụng Firebase mẫu .
Khám phá SDK mã nguồn mở trong GitHub .
Chuẩn bị khởi chạy ứng dụng của bạn:
- Thiết lập cảnh báo ngân sách cho dự án của bạn trong Google Cloud Console.
- Theo dõi bảng điều khiển Sử dụng và thanh toán trong bảng điều khiển Firebase để có được bức tranh tổng thể về việc sử dụng dự án của bạn trên nhiều dịch vụ Firebase.
- Xem lại danh sách kiểm tra khởi chạy Firebase .