हमारे Firebase C++ SDK टूल की मदद से, अपने C++ गेम को बेहतर बनाएं. ये टूल, Firebase SDK टूल के ऊपर C++ इंटरफ़ेस उपलब्ध कराते हैं.
किसी भी प्लैटफ़ॉर्म-नेटिव कोड को लिखे बिना, अपने C++ कोड से Firebase को पूरी तरह से ऐक्सेस करें. Firebase SDK टूल, Firebase की ओर से इस्तेमाल किए जाने वाले कई मुहावरों का भी अनुवाद करता है. ये मुहावरे, भाषा के हिसाब से अलग-अलग होते हैं. यह अनुवाद, C++ डेवलपर के लिए ज़्यादा जाना-पहचाना इंटरफ़ेस होता है.
हमारे Firebase गेम पेज पर जाकर, Firebase की मदद से अपने गेम को बेहतर बनाने के बारे में ज़्यादा जानें.
क्या आपने पहले ही अपने C++ प्रोजेक्ट में Firebase जोड़ लिया है? पक्का करें कि Firebase C++ SDK का नया वर्शन इस्तेमाल किया जा रहा हो.
ज़रूरी शर्तें
इन्हें इंस्टॉल करें:
- Xcode 16.2 या उसके बाद का वर्शन
- CocoaPods 1.12.0 या उसके बाद का वर्शन
पक्का करें कि आपका प्रोजेक्ट, इन प्लैटफ़ॉर्म वर्शन या इसके बाद के वर्शन को टारगेट करता हो:
- iOS 13
- tvOS 13
अपने ऐप्लिकेशन को चलाने के लिए, किसी फ़िज़िकल डिवाइस को सेट अप करें या सिम्युलेटर का इस्तेमाल करें.
अपने Google खाते का इस्तेमाल करके, Firebase में साइन इन करें.
दूसरा चरण: Firebase प्रोजेक्ट बनाना
अपने C++ प्रोजेक्ट में Firebase जोड़ने से पहले, आपको एक Firebase प्रोजेक्ट बनाना होगा, ताकि उसे अपने C++ प्रोजेक्ट से कनेक्ट किया जा सके. Firebase प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट के बारे में जानकारी पर जाएं.
तीसरा चरण: अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करना
Apple ऐप्लिकेशन में Firebase का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को Firebase प्रोजेक्ट में रजिस्टर करना होगा. ऐप्लिकेशन को रजिस्टर करने को अक्सर, अपने प्रोजेक्ट में ऐप्लिकेशन "जोड़ना" कहा जाता है.
Firebase कंसोल पर जाएं.
सेटअप वर्कफ़्लो लॉन्च करने के लिए, प्रोजेक्ट की खास जानकारी वाले पेज के बीच में मौजूद iOS+ आइकॉन पर क्लिक करें.
अगर आपने पहले से ही अपने Firebase प्रोजेक्ट में कोई ऐप्लिकेशन जोड़ा है, तो प्लैटफ़ॉर्म के विकल्प देखने के लिए, ऐप्लिकेशन जोड़ें पर क्लिक करें.
बंडल आईडी फ़ील्ड में, अपने ऐप्लिकेशन का बंडल आईडी डालें.
(ज़रूरी नहीं) ऐप्लिकेशन की अन्य जानकारी डालें: ऐप्लिकेशन का निकनेम और App Store आईडी.
ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.
चौथा चरण: Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना
Firebase Apple प्लैटफ़ॉर्म की कॉन्फ़िगरेशन फ़ाइल पाने के लिए, GoogleService-Info.plist डाउनलोड करें पर क्लिक करें.
अपने C++ प्रोजेक्ट को किसी IDE में खोलें. इसके बाद, अपनी कॉन्फ़िगरेशन फ़ाइल को C++ प्रोजेक्ट के रूट में खींचकर छोड़ें.
अगर आपसे कहा जाए, तो सभी टारगेट में कॉन्फ़िगरेशन फ़ाइल जोड़ने का विकल्प चुनें.
आपने Firebase कंसोल में सेटअप से जुड़े टास्क पूरे कर लिए हैं. नीचे दिए गए तरीके से, Firebase C++ SDK टूल जोड़ें.
पांचवां चरण: Firebase C++ SDK टूल जोड़ना
इस सेक्शन में दिए गए चरण, आपके Firebase C++ प्रोजेक्ट में Firebase के साथ काम करने वाले प्रॉडक्ट जोड़ने का एक उदाहरण हैं.
Firebase C++ SDK डाउनलोड करें. इसके बाद, SDK को किसी सुविधाजनक जगह पर अनज़िप करें.
Firebase C++ एसडीके, किसी प्लैटफ़ॉर्म के हिसाब से नहीं बनाया गया है. हालांकि, इसमें प्लैटफ़ॉर्म के हिसाब से लाइब्रेरी शामिल होती हैं.
अनज़िप किए गए SDK टूल से, Firebase पॉड जोड़ें.
अगर आपके पास पहले से कोई Podfile नहीं है, तो एक बनाएं:
cd your-app-directory
pod init
अपने Podfile में, वे Firebase पॉड जोड़ें जिनका इस्तेमाल आपको अपने ऐप्लिकेशन में करना है.
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'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'
पॉड इंस्टॉल करें. इसके बाद, Xcode में
.xcworkspaceफ़ाइल खोलें.pod install
open your-app.xcworkspace
अनज़िप किए गए SDK टूल से, Firebase फ़्रेमवर्क जोड़ें.
इन फ़्रेमवर्क को जोड़ने का सबसे आसान तरीका यह है कि उन्हें सीधे तौर पर
Finderविंडो से Xcode के प्रोजेक्ट नेविगेटर पैन में खींचें और छोड़ें. यह पैन, डिफ़ॉल्ट रूप से सबसे बाईं ओर होता है. इसके अलावा, Xcode के सबसे ऊपर बाईं ओर मौजूद फ़ाइल आइकॉन पर क्लिक करके भी इसे ऐक्सेस किया जा सकता है.Firebase C++ फ़्रेमवर्क
firebase.frameworkजोड़ें. Firebase के किसी भी प्रॉडक्ट का इस्तेमाल करने के लिए, यह ज़रूरी है.आपको जिस Firebase प्रॉडक्ट का इस्तेमाल करना है उसके लिए फ़्रेमवर्क जोड़ें. उदाहरण के लिए, Firebase Authentication का इस्तेमाल करने के लिए,
firebase_auth.frameworkजोड़ें.
Firebase कंसोल में वापस जाकर, सेटअप वर्कफ़्लो में आगे बढ़ें पर क्लिक करें.
अगर आपने Analytics जोड़ा है, तो अपने ऐप्लिकेशन को चलाएं, ताकि Firebase को यह पुष्टि की जा सके कि आपने Firebase को इंटिग्रेट कर लिया है. अगर आपको ऐसा नहीं करना है, तो पुष्टि करने का यह चरण छोड़ा जा सकता है.
आपके डिवाइस के लॉग में, Firebase की पुष्टि करने की जानकारी दिखेगी. इससे पता चलेगा कि शुरू करने की प्रोसेस पूरी हो गई है. अगर आपने अपने ऐप्लिकेशन को ऐसे एम्युलेटर पर चलाया है जिसके पास नेटवर्क का ऐक्सेस है, तो Firebase कंसोल आपको सूचना देगा कि आपके ऐप्लिकेशन का कनेक्शन पूरा हो गया है.
आप पूरी तरह तैयार हैं! आपका C++ ऐप्लिकेशन, Firebase प्रॉडक्ट इस्तेमाल करने के लिए रजिस्टर और कॉन्फ़िगर किया गया हो.
उपलब्ध लाइब्रेरी
रेफ़रंस दस्तावेज़ में और GitHub पर ओपन-सोर्स SDK रिलीज़ में, C++ Firebase लाइब्रेरी के बारे में ज़्यादा जानें.
Apple प्लैटफ़ॉर्म के लिए उपलब्ध लाइब्रेरी
ध्यान दें कि Android के लिए C++ लाइब्रेरी, इस सेटअप पेज के Android वर्शन पर दी गई हैं.
Firebase के हर प्रॉडक्ट की अलग-अलग डिपेंडेंसी होती हैं. पक्का करें कि आपने अपने Podfile और C++ प्रोजेक्ट में, Firebase के जिस प्रॉडक्ट का इस्तेमाल करना है उसके लिए बताई गई सभी डिपेंडेंसी जोड़ी हों.
ऐसा हो सकता है कि हर Firebase प्रॉडक्ट, Apple के ओएस प्लैटफ़ॉर्म (iOS, tvOS वगैरह) के सिर्फ़ कुछ वर्शन के साथ काम करे. देखें कि हर लाइब्रेरी किन प्लैटफ़ॉर्म पर काम करती है. इसके लिए, C++ और Firebase के बारे में ज़्यादा जानें.
| Firebase प्रॉडक्ट | फ़्रेमवर्क और पॉड |
|---|---|
| AdMob |
(ज़रूरी है) firebase.frameworkfirebase_admob.framework(ज़रूरी है) firebase_analytics.frameworkpod 'FirebaseAdMob', '12.4.0'(ज़रूरी है) pod 'FirebaseAnalytics', '12.4.0'
|
| Analytics |
(ज़रूरी है) firebase.frameworkfirebase_analytics.frameworkpod 'FirebaseAnalytics', '12.4.0'
|
| App Check |
(ज़रूरी है) firebase.frameworkfirebase_app_check.frameworkpod 'FirebaseAppCheck', '12.4.0'
|
| Authentication |
(ज़रूरी है) firebase.frameworkfirebase_auth.frameworkpod 'FirebaseAuth', '12.4.0'
|
| Cloud Firestore |
(ज़रूरी है) firebase.frameworkfirebase_firestore.frameworkfirebase_auth.frameworkpod 'FirebaseFirestore', '12.4.0'pod 'FirebaseAuth', '12.4.0'
|
| Cloud Functions |
(ज़रूरी है) firebase.frameworkfirebase_functions.frameworkpod 'FirebaseFunctions', '12.4.0'
|
| Cloud Messaging |
(ज़रूरी है) firebase.frameworkfirebase_messaging.framework(सुझाया गया) firebase_analytics.frameworkpod 'FirebaseMessaging', '12.4.0'(सुझाया गया) pod 'FirebaseAnalytics', '12.4.0'
|
| Cloud Storage |
(ज़रूरी है) firebase.frameworkfirebase_storage.frameworkpod 'FirebaseStorage', '12.4.0'
|
| Dynamic Links |
(ज़रूरी है) firebase.frameworkfirebase_dynamic_links.framework(सुझाया गया) firebase_analytics.frameworkpod 'FirebaseDynamicLinks', '12.4.0'(सुझाया गया) pod 'FirebaseAnalytics', '12.4.0'
|
| Realtime Database |
(ज़रूरी है) firebase.frameworkfirebase_database.frameworkpod 'FirebaseDatabase', '12.4.0'
|
| Remote Config |
(ज़रूरी है) firebase.frameworkfirebase_remote_config.framework(सुझाया गया) firebase_analytics.frameworkpod 'FirebaseRemoteConfig', '12.4.0'(सुझाया गया) pod 'FirebaseAnalytics', '12.4.0'
|
मोबाइल पर सेटअप करने के बारे में ज़्यादा जानकारी
मेथड स्विज़लिंग
iOS पर, ऐप्लिकेशन के कुछ इवेंट (जैसे, यूआरएल खोलना और सूचनाएं पाना) के लिए, आपके ऐप्लिकेशन डेलिगेट को कुछ खास तरीके लागू करने होते हैं. उदाहरण के लिए, सूचना पाने के लिए, आपके ऐप्लिकेशन के डेलिगेट को application:didReceiveRemoteNotification: लागू करना पड़ सकता है. हर iOS ऐप्लिकेशन का अपना ऐप्लिकेशन डेलिगेट होता है. इसलिए, Firebase मेथड स्विज़लिंग का इस्तेमाल करता है. इससे एक मेथड को दूसरी मेथड से बदला जा सकता है. ऐसा इसलिए किया जाता है, ताकि Firebase अपने हैंडलर अटैच कर सके. ऐसा उन हैंडलर के अलावा किया जाता है जिन्हें आपने लागू किया है.
Dynamic Links और Cloud Messaging लाइब्रेरी को, मेथड स्विज़लिंग का इस्तेमाल करके ऐप्लिकेशन डेलिगेट से हैंडलर अटैच करने की ज़रूरत होती है. अगर इनमें से किसी Firebase प्रॉडक्ट का इस्तेमाल किया जा रहा है, तो लोड होने के समय Firebase आपके AppDelegate क्लास की पहचान करेगा. साथ ही, ज़रूरी तरीकों को स्विज़ल करेगा. इससे आपके मौजूदा तरीके को वापस कॉल किया जा सकेगा.
डेस्कटॉप वर्कफ़्लो सेट अप करना (बीटा)
जब कोई गेम बनाया जा रहा होता है, तो उसे अक्सर डेस्कटॉप प्लैटफ़ॉर्म पर टेस्ट करना बहुत आसान होता है. फिर, बाद में उसे चलाने के लिए मोबाइल डिवाइसों पर डिप्लॉय और टेस्ट किया जाता है. इस वर्कफ़्लो को सपोर्ट करने के लिए, हम Firebase C++ SDK टूल का एक सबसेट उपलब्ध कराते हैं. यह Windows, macOS, Linux, और C++ एडिटर में काम कर सकता है.
डेस्कटॉप वर्कफ़्लो के लिए, आपको ये काम करने होंगे:
- CMake के लिए, अपने C++ प्रोजेक्ट को कॉन्फ़िगर करें.
- Firebase प्रोजेक्ट बनाना
- अपने ऐप्लिकेशन (iOS या Android) को Firebase के साथ रजिस्टर करना
- मोबाइल प्लैटफ़ॉर्म के लिए Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना
Firebase कॉन्फ़िगरेशन फ़ाइल का डेस्कटॉप वर्शन बनाएं:
अगर आपने Android
google-services.jsonफ़ाइल जोड़ी है — जब ऐप्लिकेशन चलाया जाता है, तब Firebase इस मोबाइल फ़ाइल का पता लगाता है. इसके बाद, डेस्कटॉप के लिए Firebase कॉन्फ़िगरेशन फ़ाइल (google-services-desktop.json) अपने-आप जनरेट करता है.अगर आपने iOS
GoogleService-Info.plistफ़ाइल जोड़ी है — अपने ऐप्लिकेशन को चलाने से पहले, आपको इस मोबाइल फ़ाइल को डेस्कटॉप Firebase कॉन्फ़िगरेशन फ़ाइल में बदलना होगा. फ़ाइल को बदलने के लिए, उसी डायरेक्ट्री से यह कमांड चलाएं जिसमें आपकीGoogleService-Info.plistफ़ाइल मौजूद है:generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist
इस डेस्कटॉप कॉन्फ़िगरेशन फ़ाइल में, वह C++ प्रोजेक्ट आईडी होता है जिसे आपने Firebase कंसोल सेटअप वर्कफ़्लो में डाला था. कॉन्फ़िगरेशन फ़ाइलों के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट के बारे में जानकारी पर जाएं.
अपने C++ प्रोजेक्ट में Firebase SDK टूल जोड़ें.
यहां दिए गए तरीके से, अपने C++ प्रोजेक्ट में Firebase के साथ काम करने वाला कोई भी प्रॉडक्ट जोड़ा जा सकता है. इस उदाहरण में, हम Firebase Authentication और Firebase Realtime Database को जोड़ने का तरीका जानेंगे.
अपने
FIREBASE_CPP_SDK_DIRएनवायरमेंट वैरिएबल को, अनज़िप किए गए Firebase C++ एसडीके टूल की जगह पर सेट करें.अपने प्रोजेक्ट की
CMakeLists.txtफ़ाइल में, यह कॉन्टेंट जोड़ें. इसमें उन Firebase प्रॉडक्ट के लिए लाइब्रेरी शामिल करें जिनका आपको इस्तेमाल करना है. उदाहरण के लिए, Firebase Authentication और 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}")
अपना C++ ऐप्लिकेशन चलाएं.
उपलब्ध लाइब्रेरी (डेस्कटॉप)
Firebase C++ SDK टूल में, कुछ सुविधाओं के लिए डेस्कटॉप वर्कफ़्लो की सुविधा शामिल है. इससे, Firebase के कुछ हिस्सों को Windows, macOS, और Linux पर स्टैंडअलोन डेस्कटॉप बिल्ड में इस्तेमाल किया जा सकता है.
| Firebase प्रॉडक्ट | लाइब्रेरी के रेफ़रंस (CMake का इस्तेमाल करके) |
|---|---|
| App Check |
firebase_app_check(ज़रूरी है) firebase_app
|
| Authentication |
firebase_auth(ज़रूरी है) firebase_app
|
| Cloud Firestore |
firebase_firestorefirebase_authfirebase_app
|
| Cloud Functions |
firebase_functions(ज़रूरी है) firebase_app
|
| Cloud Storage |
firebase_storage(ज़रूरी है) firebase_app
|
| Realtime Database |
firebase_database(ज़रूरी है) firebase_app
|
| Remote Config |
firebase_remote_config(ज़रूरी है) firebase_app
|
Firebase, Windows, macOS, और Linux के लिए ऐप्लिकेशन बनाते समय, बाकी की डेस्कटॉप लाइब्रेरी को स्टब (गैर-फ़ंक्शन वाली) के तौर पर उपलब्ध कराता है, ताकि आपको आसानी हो. इसलिए, डेस्कटॉप को टारगेट करने के लिए, आपको कोड को शर्तों के साथ कंपाइल करने की ज़रूरत नहीं है.
Realtime Database डेस्कटॉप
डेस्कटॉप के लिए Realtime Database एसडीके, आपके डेटाबेस को ऐक्सेस करने के लिए REST का इस्तेमाल करता है. इसलिए, आपको उन इंडेक्स का एलान करना होगा जिनका इस्तेमाल Query::OrderByChild() के साथ डेस्कटॉप पर किया जाता है. ऐसा न करने पर, आपके लिसनर काम नहीं करेंगे.
डेस्कटॉप पर सेटअप करने के बारे में ज़्यादा जानकारी
Windows लाइब्रेरी
Windows के लिए, लाइब्रेरी के वर्शन इनके आधार पर उपलब्ध कराए जाते हैं:
- बिल्ड प्लैटफ़ॉर्म: 32-बिट (x86) बनाम 64-बिट (x64) मोड
- Windows रनटाइम एनवायरमेंट: मल्टीथ्रेड / MT बनाम मल्टीथ्रेड DLL /MD
- टारगेट: रिलीज़ बनाम डीबग
ध्यान दें कि इन लाइब्रेरी की जांच Visual Studio 2015 और 2017 का इस्तेमाल करके की गई थी.
Windows पर C++ डेस्कटॉप ऐप्लिकेशन बनाते समय, अपने प्रोजेक्ट में Windows SDK की इन लाइब्रेरी को लिंक करें. ज़्यादा जानकारी के लिए, अपने कंपाइलर के दस्तावेज़ देखें.
| Firebase C++ लाइब्रेरी | 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 |
macOS लाइब्रेरी
macOS (Darwin) के लिए, लाइब्रेरी के वर्शन 64-बिट (x86_64) प्लैटफ़ॉर्म के लिए उपलब्ध कराए जाते हैं. आपकी सुविधा के लिए, फ़्रेमवर्क भी उपलब्ध कराए गए हैं.
ध्यान दें कि macOS लाइब्रेरी की जांच Xcode 16.2 का इस्तेमाल करके की गई है.
macOS पर C++ डेस्कटॉप ऐप्लिकेशन बनाते समय, अपने प्रोजेक्ट से इन्हें लिंक करें:
pthreadसिस्टम लाइब्रेरीCoreFoundationmacOS सिस्टम फ़्रेमवर्कFoundationmacOS सिस्टम फ़्रेमवर्कSecuritymacOS सिस्टम फ़्रेमवर्कGSSmacOS सिस्टम फ़्रेमवर्कKerberosmacOS सिस्टम फ़्रेमवर्कSystemConfigurationmacOS सिस्टम फ़्रेमवर्क
ज़्यादा जानकारी के लिए, अपने कंपाइलर का दस्तावेज़ देखें.
Linux लाइब्रेरी
Linux के लिए, लाइब्रेरी के वर्शन 32-बिट (i386) और 64-बिट (x86_64) प्लैटफ़ॉर्म के लिए उपलब्ध हैं.
ध्यान दें कि Linux लाइब्रेरी की जांच Ubuntu पर GCC 4.8.0, GCC 7.2.0, और Clang 5.0 का इस्तेमाल करके की गई थी.
Linux पर C++ डेस्कटॉप ऐप्लिकेशन बनाते समय, pthread सिस्टम लाइब्रेरी को अपने प्रोजेक्ट से लिंक करें. ज़्यादा जानकारी के लिए, अपने कंपाइलर का दस्तावेज़ देखें. अगर GCC 5 या इसके बाद के वर्शन का इस्तेमाल किया जा रहा है, तो -D_GLIBCXX_USE_CXX11_ABI=0 को तय करें.
अगले चरण
Firebase के सैंपल ऐप्लिकेशन एक्सप्लोर करें.
GitHub में ओपन सोर्स एसडीके के बारे में जानें.
अपना ऐप्लिकेशन लॉन्च करने के लिए:
- Google Cloud कंसोल में, अपने प्रोजेक्ट के लिए बजट की सूचनाएं सेट अप करें.
- Firebase कंसोल में इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको यह पता चलेगा कि आपके प्रोजेक्ट में, Firebase की अलग-अलग सेवाओं का इस्तेमाल किस तरह किया जा रहा है.
- Firebase लॉन्च करने की चेकलिस्ट देखें.