Tăng cường sức mạnh cho các trò chơi C++ của bạn bằng SDK C++ của Firebase. SDK này cung cấp một giao diện C++ trên các SDK của Firebase.
Truy cập hoàn toàn vào Firebase từ mã C++ mà không cần viết mã gốc của nền tảng. Firebase SDK cũng dịch nhiều thành ngữ dành riêng cho ngôn ngữ mà Firebase sử dụng thành một giao diện quen thuộc hơn đối với nhà phát triển C++.
Tìm hiểu thêm thông tin về cách tăng cường sức mạnh cho trò chơi bằng Firebase trên trang trò chơi của Firebase.
Bạn đã thêm Firebase vào dự án C++ của mình chưa? Đảm bảo rằng bạn đang sử dụng phiên bản mới nhất của SDK Firebase C++.
Điều kiện tiên quyết
Cài đặt các mục sau:
- Xcode 16.2 trở lên
- CocoaPods 1.12.0 trở lên
Đảm bảo rằng dự án của bạn nhắm đến các phiên bản nền tảng sau đây trở lên:
- iOS 13
- tvOS 13
Thiết lập một thiết bị thực hoặc sử dụng trình mô phỏng để chạy ứng dụng.
Đăng nhập vào Firebase bằng Tài khoản Google của bạn.
Bước 2: Tạo một dự án Firebase
Trước khi có thể thêm Firebase vào dự án C++, bạn cần tạo một dự án Firebase để kết nối với dự án C++ của mình. Hãy truy cập vào trang Tìm hiểu về 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, bạn cần đăng ký ứng dụng với dự án Firebase. Việc đăng ký ứng dụng thường được gọi là "thêm" ứng dụng vào dự án.
Chuyển đến bảng điều khiển Firebase.
Ở giữa trang tổng quan của dự án, hãy nhấp vào biểu tượng iOS+ để 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, hãy nhấp vào Thêm ứng dụng để hiển thị các lựa chọn về nền tảng.
Nhập mã nhận dạng gói của ứng dụng vào trường mã nhận dạng gói.
(Không bắt buộc) Nhập thông tin khác về ứng dụng: Biệt hiệu của ứng dụng và Mã App Store.
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 GoogleService-Info.plist xuống để lấy tệp cấu hình Firebase cho nền tảng Apple.
Mở dự án C++ trong một IDE, sau đó kéo tệp cấu hình vào 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 các việc cần làm trong quá trình thiết lập trên 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 C++ của Firebase
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 được hỗ trợ của Firebase vào dự án Firebase C++ của bạn.
Tải Firebase C++ SDK xuống, 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 pod Firebase từ SDK đã giải nén.
Tạo Podfile nếu bạn chưa có:
cd your-app-directory
pod init
Vào Podfile, hãy thêm các nhóm Firebase mà bạn muốn dùng trong ứng dụng của mình.
Đã bật Analytics
# 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'Chưa bật Analytics
# 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 pod, 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 chúng từ cửa sổ
Finder
trực tiếp vào ngăn Project Navigator (Trình điều hướng dự án) của Xcode (ngăn ở ngoài cùng bên trái theo mặc định; 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 C++ của Firebase
firebase.framework
. Đây là khung bắt buộc để sử dụng bất kỳ sản phẩm nào của Firebase.Thêm khung cho từng sản phẩm của Firebase mà bạn muốn sử dụng. Ví dụ: để sử dụng Firebase Authentication, hãy thêm
firebase_auth.framework
.
Trong 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 để gửi thông tin xác minh đến 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ị quy trình xác minh Firebase rằng quá trình khởi tạo đã hoàn tất. Nếu bạn chạy ứng dụng trên một trình mô phỏng có quyền truy cập vào mạng, thì bảng điều khiển Firebase sẽ thông báo cho bạn rằng ứng dụng của bạn đã kết nối xong.
Bạn đã hoàn tất! Ứ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 của Firebase.
Thư viện có sẵn
Tìm hiểu thêm về các thư viện Firebase C++ 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.
Các thư viện có sẵn cho nền tảng Apple
Xin lưu ý rằng các thư viện C++ 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 của Firebase đều có các phần phụ thuộc khác nhau. Nhớ thêm tất cả các phần phụ thuộc được liệt kê cho sản phẩm Firebase mong muốn vào Podfile và dự án C++.
Mỗi sản phẩm của Firebase chỉ có thể hỗ trợ một số nền tảng hệ điều hành của Apple (iOS, tvOS, v.v.). Hãy xem mỗi thư viện hỗ trợ những nền tảng nào trong phần Tìm hiểu thêm về C++ và Firebase.
Sản phẩm Firebase | Khung và Pod |
---|---|
AdMob |
(bắt buộc) firebase.framework firebase_admob.framework (bắt buộc) firebase_analytics.framework pod 'FirebaseAdMob', '12.0.0' (bắt buộc) pod 'FirebaseAnalytics', '12.0.0'
|
Analytics |
(bắt buộc) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '12.0.0'
|
App Check |
(bắt buộc) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '12.0.0'
|
Authentication |
(bắt buộc) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '12.0.0'
|
Cloud Firestore |
(bắt buộc) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '12.0.0' pod 'FirebaseAuth', '12.0.0'
|
Cloud Functions |
(bắt buộc) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '12.0.0'
|
Cloud Messaging |
(bắt buộc) firebase.framework firebase_messaging.framework (nên dùng) firebase_analytics.framework pod 'FirebaseMessaging', '12.0.0' (nên dùng) pod 'FirebaseAnalytics', '12.0.0'
|
Cloud Storage |
(bắt buộc) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '12.0.0'
|
Dynamic Links |
(bắt buộc) firebase.framework firebase_dynamic_links.framework (nên dùng) firebase_analytics.framework pod 'FirebaseDynamicLinks', '12.0.0' (nên dùng) pod 'FirebaseAnalytics', '12.0.0'
|
Realtime Database |
(bắt buộc) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '12.0.0'
|
Remote Config |
(bắt buộc) firebase.framework firebase_remote_config.framework (nên dùng) firebase_analytics.framework pod 'FirebaseRemoteConfig', '12.0.0' (nên dùng) pod 'FirebaseAnalytics', '12.0.0'
|
Thông tin bổ sung về chế độ thiết lập trên thiết bị di động
Thay đổi phương thức
Trên iOS, một số sự kiện ứng dụng (chẳng hạn như mở URL và nhận thông báo) yêu cầu uỷ quyền ứng dụng của bạn triển khai các phương thức cụ thể. Ví dụ: để nhận được thông báo, có thể bạn cần triển khai application:didReceiveRemoteNotification:
cho uỷ quyền ứng dụng. Vì mỗi ứng dụng iOS đều có uỷ quyền ứng dụng riêng, nên Firebase sử dụng phương thức thay thế (cho phép thay thế một phương thức bằng một phương thức khác) để đính kèm trình xử lý riêng ngoài mọi trình xử lý mà bạn có thể đã triển khai.
Các thư viện Dynamic Links và Cloud Messaging cần đính kèm trình xử lý vào uỷ quyền ứng dụng bằng cách sử dụng phương thức hoán đổi. Nếu bạn đang sử dụng bất kỳ sản phẩm nào trong số này của Firebase, thì vào thời gian tải, Firebase sẽ xác định lớp AppDelegate
của bạn và hoán đổi các phương thức bắt buộc trên lớp đó, liên kết một lệnh gọi trở lại việc triển khai phương thức hiện có của bạn.
Thiết lập quy trình làm việc trên máy tính (bản thử nghiệm)
Khi tạo trò chơi, bạn thường dễ dàng kiểm thử trò chơi trên các nền tảng máy tính trước, sau đó triển khai và kiểm thử trên thiết bị di động sau này trong quá trình phát triển. Để hỗ trợ quy trình này, chúng tôi cung cấp một nhóm nhỏ các SDK Firebase C++ có thể chạy trên Windows, macOS, Linux và 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 cần hoàn tất các bước sau:
- Định cấu hình dự án C++ cho CMake.
- Tạo dự án Firebase
- Đăng ký ứng dụng (iOS hoặc Android) với Firebase
- Thêm tệp cấu hình Firebase cho nền tảng di động
Tạo phiên bản máy tính 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, Firebase sẽ xác định vị trí của tệp thiết bị di động này, sau đó tự động tạo tệp cấu hình Firebase máy tính (google-services-desktop.json
).Nếu đã thêm tệp
GoogleService-Info.plist
iOS – Trước khi chạy ứng dụng, 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. Để chuyển đổi tệp, hãy chạy lệnh sau từ cùng một thư mục với tệpGoogleService-Info.plist
:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
Tệp cấu hình trên máy tính này chứa mã dự án C++ mà bạn đã nhập trong quy trình thiết lập bảng điều khiển Firebase. Hãy truy cập vào trang Tìm hiểu về các dự án Firebase để tìm hiểu thêm về tệp cấu hình.
Thêm các SDK Firebase vào dự án C++.
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 ta sẽ xem xét cách thêm Firebase Authentication và Firebase Realtime Database.
Đặt biến môi trường
FIREBASE_CPP_SDK_DIR
thành vị trí của SDK Firebase C++ chưa 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ác thư viện cho những sản phẩm của Firebase mà bạn muốn sử dụng. Ví dụ: để sử dụng Firebase Authentication và Firebase Realtime Database:# 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ác thư viện có sẵn (máy tính)
Firebase SDK C++ có hỗ trợ quy trình làm việc trên máy tính cho một số tính năng, cho phép sử dụng một số phần của Firebase trong các bản dựng độc lập trên máy tính chạy Windows, macOS và Linux.
Sản phẩm Firebase | Tài liệu tham khảo về thư viện (sử dụng CMake) |
---|---|
App Check |
firebase_app_check (bắt buộc) firebase_app
|
Authentication |
firebase_auth (bắt buộc) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_app
|
Cloud Functions |
firebase_functions (bắt buộc) firebase_app
|
Cloud Storage |
firebase_storage (bắt buộc) firebase_app
|
Realtime Database |
firebase_database (bắt buộc) firebase_app
|
Remote Config |
firebase_remote_config (bắt buộc) firebase_app
|
Firebase cung cấp các thư viện còn lại trên máy tính dưới dạng các triển khai stub (không hoạt động) để thuận tiện khi tạo cho Windows, macOS và Linux. Do đó, bạn không cần biên dịch có điều kiện mã để nhắm đến máy tính.
Realtime Database máy tính
SDK Realtime Database dành cho máy tính sử dụng REST để truy cập vào 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, nếu không, các trình nghe của bạn sẽ không hoạt động.
Thông tin bổ sung về cách thiết lập trên máy tính
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 yếu tố 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 Đa luồng DLL /MD
- Mục tiêu: Phát hành so với gỡ lỗi
Xin lưu ý rằng các thư viện sau đã được kiểm thử bằng Visual Studio 2015 và 2017.
Khi tạo ứng dụng C++ cho máy tính trên Windows, hãy liên kết các thư viện Windows SDK sau đây với dự án của bạn. Hãy tham khảo tài liệu về trình biên dịch để biết thêm thông tin.
Thư viện C++ của Firebase | Phần phụ thuộc thư viện Windows SDK |
---|---|
App Check | advapi32, ws2_32, crypt32 |
Authentication | advapi32, ws2_32, crypt32 |
Cloud Firestore | advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32 |
Cloud Functions | advapi32, ws2_32, crypt32, rpcrt4, ole32 |
Cloud Storage | advapi32, ws2_32, crypt32 |
Realtime Database | advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv |
Remote Config | 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). Chúng tôi cũng cung cấp các khung hình để bạn tiện sử dụng.
Xin lưu ý rằng các thư viện macOS đã được kiểm thử bằng Xcode 16.2.
Khi tạo ứng dụng C++ cho máy tính trên macOS, hãy liên kết những thành phần sau với dự án của bạn:
pthread
thư viện hệ thốngCoreFoundation
Khung hệ thống macOSFoundation
Khung hệ thống macOSSecurity
Khung hệ thống macOSGSS
Khung hệ thống macOSKerberos
Khung hệ thống macOSSystemConfiguration
Khung hệ thống macOS
Hãy tham khảo tài liệu về trình biên dịch để 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).
Xin lưu ý rằng các thư viện Linux đã được kiểm thử bằng GCC 4.8.0, GCC 7.2.0 và Clang 5.0 trên Ubuntu.
Khi tạo ứng dụng C++ dành cho máy tính trên Linux, hãy liên kết thư viện hệ thống pthread
với dự án của bạn. Hãy tham khảo tài liệu về trình biên dịch để biết thêm thông tin. Nếu bạn đang tạo bằng GCC 5 trở lên, hãy xác định -D_GLIBCXX_USE_CXX11_ABI=0
.
Các bước tiếp theo
Khám phá các ứng dụng Firebase mẫu.
Khám phá SDK nguồn mở trong GitHub.
Chuẩn bị ra mắt ứ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.
- Theo dõi bảng điều khiển Mức sử dụng và thanh toán trong bảng điều khiển Firebase để nắm được thông tin tổng quan về mức sử dụng của dự án trên nhiều dịch vụ của Firebase.
- Xem danh sách kiểm tra trước khi phát hành của Firebase.