हमारे Firebase C++ SDK टूल की मदद से, अपने C++ गेम को बेहतर बनाएं. इन SDK टूल की मदद से, Firebase SDK टूल के साथ C++ इंटरफ़ेस को बेहतर बनाया जा सकता है.
अपने C++ कोड से Firebase को पूरी तरह ऐक्सेस करें. इसके लिए, आपको कोई प्लैटफ़ॉर्म-नेटिव कोड लिखने की ज़रूरत नहीं है. Firebase SDK टूल, भाषा के हिसाब से बने कई मुहावरों का अनुवाद भी करता है. ये मुहावरे, Firebase में इस्तेमाल होते हैं. ऐसे मुहावरों का इस्तेमाल C++ डेवलपर के लिए ज़्यादा जानकारी देने वाले इंटरफ़ेस में किया जाता है.
Firebase की मदद से अपने गेम को बेहतर बनाने के बारे में ज़्यादा जानने के लिए, हमारे Firebase गेम पेज पर जाएं.
क्या आपने C++ प्रोजेक्ट में Firebase पहले ही जोड़ दिया है? पक्का करें कि Firebase C++ SDK टूल के नए वर्शन का इस्तेमाल किया जा रहा हो.
ज़रूरी शर्तें
इन्हें इंस्टॉल करें:
- Xcode 13.3.1 या इसके बाद का वर्शन
- CocoaPods 1.12.0 या उसके बाद का वर्शन
पक्का करें कि आपका प्रोजेक्ट, प्लैटफ़ॉर्म के इन वर्शन या इसके बाद के वर्शन को टारगेट करता हो:
- iOS 11
- TVOS 12
अपना ऐप्लिकेशन चलाने के लिए, कोई फ़िज़िकल डिवाइस सेट अप करें या सिम्युलेटर का इस्तेमाल करें.
अपने Google खाते का इस्तेमाल करके Firebase में साइन इन करें.
दूसरा चरण: Firebase प्रोजेक्ट बनाना
Firebase को C++ प्रोजेक्ट में जोड़ने से पहले, आपको अपने C++ प्रोजेक्ट से कनेक्ट करने के लिए Firebase प्रोजेक्ट बनाना होगा. Firebase प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट के बारे में जानकारी पर जाएं.
तीसरा चरण: अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करें
Apple ऐप्लिकेशन में Firebase का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को Firebase प्रोजेक्ट के साथ रजिस्टर करना होगा. ऐप्लिकेशन को रजिस्टर करने को अक्सर आपके प्रोजेक्ट में "ऐप्लिकेशन जोड़ना" कहा जाता है.
Firebase कंसोल पर जाएं.
सेटअप वर्कफ़्लो लॉन्च करने के लिए, प्रोजेक्ट की खास जानकारी देने वाले पेज के बीच में मौजूद, iOS+ आइकॉन पर क्लिक करें.
अगर आपने पहले ही अपने Firebase प्रोजेक्ट में कोई ऐप्लिकेशन जोड़ लिया है, तो प्लैटफ़ॉर्म के विकल्प देखने के लिए, ऐप्लिकेशन जोड़ें पर क्लिक करें.
बंडल आईडी फ़ील्ड में अपने ऐप्लिकेशन का बंडल आईडी डालें.
(ज़रूरी नहीं) ऐप्लिकेशन की अन्य जानकारी डालें: ऐप्लिकेशन का कोई दूसरा नाम और App Store का आईडी.
ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.
चौथा चरण: Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना
अपनी Firebase Apple Platforms कॉन्फ़िगरेशन फ़ाइल पाने के लिए, GoogleService-Info.plist डाउनलोड करें पर क्लिक करें.
अपने C++ प्रोजेक्ट को किसी IDE में खोलें. इसके बाद, अपनी कॉन्फ़िगरेशन फ़ाइल को अपने C++ प्रोजेक्ट के रूट में खींचें और छोड़ें.
अगर कहा जाए, तो सभी टारगेट में कॉन्फ़िगरेशन फ़ाइल जोड़ने का विकल्प चुनें.
आपने Firebase कंसोल में टास्क सेट अप कर लिया है. नीचे Firebase C++ SDK टूल जोड़ें पर जाएं.
पांचवां चरण: Firebase C++ SDK टूल जोड़ना
इस सेक्शन में, Firebase C++ प्रोजेक्ट में काम करने वाले Firebase प्रॉडक्ट जोड़ने के तरीके का उदाहरण दिया गया है.
Firebase C++ SDK टूल डाउनलोड करें. इसके बाद, SDK टूल को किसी दूसरी जगह पर अनज़िप करें.
Firebase C++ SDK टूल, प्लैटफ़ॉर्म के हिसाब से नहीं है. हालांकि, इसमें प्लैटफ़ॉर्म के हिसाब से लाइब्रेरी शामिल हैं.
अनज़िप किए गए 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'
पॉड इंस्टॉल करें. इसके बाद,
.xcworkspace
फ़ाइल को Xcode में खोलें.pod install
open your-app.xcworkspace
अनज़िप किए गए SDK टूल से Firebase फ़्रेमवर्क जोड़ें.
आम तौर पर, इन फ़्रेमवर्क को जोड़ने का सबसे आसान तरीका यह है कि आप इन्हें किसी
Finder
विंडो से सीधे Xcode के Project Navigator पैनल (डिफ़ॉल्ट रूप से, सबसे बड़ा बाएं पैनल में या Xcode के सबसे ऊपर बाईं ओर मौजूद फ़ाइल आइकॉन पर क्लिक करें) में खींचें और छोड़ें.Firebase C++ फ़्रेमवर्क
firebase.framework
जोड़ें, जो किसी भी Firebase प्रॉडक्ट का इस्तेमाल करने के लिए ज़रूरी है.हर उस Firebase प्रॉडक्ट के लिए फ़्रेमवर्क जोड़ें जिसका आपको इस्तेमाल करना है. उदाहरण के लिए, Firebase से पुष्टि करने की सुविधा का इस्तेमाल करने के लिए,
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 OS प्लैटफ़ॉर्म (iOS, TVOS वगैरह) के साथ काम करे. C++ और Firebase के बारे में ज़्यादा जानें में जाकर, देखें कि हर लाइब्रेरी के साथ कौनसे प्लैटफ़ॉर्म काम करते हैं.
Firebase प्रॉडक्ट | फ़्रेमवर्क और पॉड |
---|---|
AdMob |
(ज़रूरी है) firebase.framework firebase_admob.framework (ज़रूरी है) firebase_analytics.framework pod 'FirebaseAdMob', '10.25.0' (ज़रूरी है) pod 'FirebaseAnalytics', '10.25.0'
|
Analytics |
(ज़रूरी है) firebase.framework firebase_analytics.framework pod 'FirebaseAnalytics', '10.25.0'
|
ऐप्लिकेशन की जांच |
(ज़रूरी है) firebase.framework firebase_app_check.framework pod 'FirebaseAppCheck', '10.25.0'
|
पुष्टि करना |
(ज़रूरी है) firebase.framework firebase_auth.framework pod 'FirebaseAuth', '10.25.0'
|
Cloud Firestore |
(ज़रूरी है) firebase.framework firebase_firestore.framework firebase_auth.framework pod 'FirebaseFirestore', '10.25.0' pod 'FirebaseAuth', '10.25.0'
|
Cloud के फ़ंक्शन |
(ज़रूरी है) firebase.framework firebase_functions.framework pod 'FirebaseFunctions', '10.25.0'
|
क्लाउड से मैसेज |
(ज़रूरी है) firebase.framework firebase_messaging.framework (सुझाया गया) firebase_analytics.framework pod 'FirebaseMessaging', '10.25.0' (सुझाया गया) pod 'FirebaseAnalytics', '10.25.0'
|
क्लाउड स्टोरेज |
(ज़रूरी है) firebase.framework firebase_storage.framework pod 'FirebaseStorage', '10.25.0'
|
डाइनैमिक लिंक |
(ज़रूरी है) firebase.framework firebase_dynamic_links.framework (सुझाया गया) firebase_analytics.framework pod 'FirebaseDynamicLinks', '10.25.0' (सुझाया गया) pod 'FirebaseAnalytics', '10.25.0'
|
रीयलटाइम डेटाबेस |
(ज़रूरी है) firebase.framework firebase_database.framework pod 'FirebaseDatabase', '10.25.0'
|
रिमोट कॉन्फ़िगरेशन |
(ज़रूरी है) firebase.framework firebase_remote_config.framework (सुझाया गया) firebase_analytics.framework pod 'FirebaseRemoteConfig', '10.25.0' (सुझाया गया) pod 'FirebaseAnalytics', '10.25.0'
|
मोबाइल सेटअप के लिए ज़्यादा जानकारी
स्विज़लिंग मेथड
iOS पर, कुछ ऐप्लिकेशन इवेंट (जैसे कि यूआरएल खोलना और सूचनाएं पाना) के लिए, खास तरीके लागू करने के लिए आपके ऐप्लिकेशन प्रतिनिधि की ज़रूरत होती है. उदाहरण के लिए, सूचना पाने के लिए application:didReceiveRemoteNotification:
को लागू करने के लिए आपके ऐप्लिकेशन प्रतिनिधि की ज़रूरत पड़ सकती है. हर iOS ऐप्लिकेशन का अपना ऐप्लिकेशन डेलिगेट होता है. इसलिए, Firebase स्विज़लिंग के मेथड का इस्तेमाल करता है. इससे एक तरीके को दूसरे तरीके से बदलने की सुविधा मिलती है. इससे, उस तरीके के साथ-साथ उसके हैंडलर को भी अटैच किया जा सकता है जिसे आपने लागू किया है.
डाइनैमिक लिंक और क्लाउड से मैसेज लाइब्रेरी को, स्विज़लिंग तरीके का इस्तेमाल करके, ऐप्लिकेशन डेलिगेट के लिए हैंडलर अटैच करना होगा. अगर
इनमें से किसी भी 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 से पुष्टि करने की सुविधा और Firebase रीयल टाइम डेटाबेस को जोड़ने का तरीका बताया है.
अपने
FIREBASE_CPP_SDK_DIR
एनवायरमेंट वैरिएबल को अनज़िप किए गए Firebase C++ SDK टूल की जगह पर सेट करें.अपने प्रोजेक्ट की
CMakeLists.txt
फ़ाइल में, यहां दिया गया कॉन्टेंट जोड़ें. इसमें उन Firebase प्रॉडक्ट की लाइब्रेरी भी शामिल हैं जिनका आपको इस्तेमाल करना है. उदाहरण के लिए, Firebase से पुष्टि करने की सुविधा और 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}")
अपना C++ ऐप्लिकेशन चलाएं.
उपलब्ध लाइब्रेरी (डेस्कटॉप)
Firebase C++ SDK टूल में, सुविधाओं के सबसेट के लिए डेस्कटॉप वर्कफ़्लो सहायता शामिल है. इससे Windows, macOS, और Linux पर स्टैंडअलोन डेस्कटॉप बिल्ड में Firebase के कुछ हिस्सों का इस्तेमाल किया जा सकता है.
Firebase प्रॉडक्ट | लाइब्रेरी के रेफ़रंस (CMake का इस्तेमाल करके) |
---|---|
ऐप्लिकेशन की जांच |
firebase_app_check (ज़रूरी है) firebase_app
|
पुष्टि करना |
firebase_auth (ज़रूरी है) firebase_app
|
Cloud Firestore |
firebase_firestore firebase_auth firebase_app
|
Cloud के फ़ंक्शन |
firebase_functions (ज़रूरी है) firebase_app
|
क्लाउड स्टोरेज |
firebase_storage (ज़रूरी है) firebase_app
|
रीयलटाइम डेटाबेस |
firebase_database (ज़रूरी है) firebase_app
|
रिमोट कॉन्फ़िगरेशन |
firebase_remote_config (ज़रूरी है) firebase_app
|
Firebase, बाकी डेस्कटॉप लाइब्रेरी को स्टब (काम न करने वाले) के तौर पर लागू करने की सुविधा देता है, ताकि Windows, macOS, और Linux के लिए ऐप्लिकेशन बनाते समय उन्हें आसानी से इस्तेमाल किया जा सके. इसलिए, आपको डेस्कटॉप को टारगेट करने के लिए, शर्तों के साथ कोड कंपाइल करने की ज़रूरत नहीं है.
रीयलटाइम डेटाबेस डेस्कटॉप
डेस्कटॉप के लिए रीयल टाइम डेटाबेस SDK, आपके डेटाबेस को ऐक्सेस करने के लिए 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 लाइब्रेरी डिपेंडेंसी |
---|---|
ऐप्लिकेशन चेक | advapi32, ws2_32, crypt32 |
पुष्टि करना | 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 13.3.1 का इस्तेमाल करके की गई है.
macOS पर C++ डेस्कटॉप ऐप्लिकेशन बनाते समय, इन्हें अपने प्रोजेक्ट से लिंक करें:
pthread
सिस्टम लाइब्रेरीCoreFoundation
macOS सिस्टम फ़्रेमवर्कFoundation
macOS सिस्टम फ़्रेमवर्कSecurity
macOS सिस्टम फ़्रेमवर्कGSS
macOS सिस्टम फ़्रेमवर्कKerberos
macOS सिस्टम फ़्रेमवर्कSystemConfiguration
macOS सिस्टम फ़्रेमवर्क
ज़्यादा जानकारी के लिए, अपने कंपाइलर दस्तावेज़ को देखें.
Linux लाइब्रेरी
Linux के लिए, 32-बिट (i386) और 64-बिट (x86_64) प्लैटफ़ॉर्म के लिए लाइब्रेरी वर्शन उपलब्ध कराए जाते हैं.
ध्यान दें कि Ubuntu पर GCC 4.8.0, GCC 7.2.0 और Clang 5.0 के इस्तेमाल से Linux लाइब्रेरी का परीक्षण किया गया था.
Linux पर C++ डेस्कटॉप ऐप्लिकेशन बनाते समय, pthread
सिस्टम लाइब्रेरी को
अपने प्रोजेक्ट से लिंक करें. ज़्यादा जानकारी के लिए, अपने कंपाइलर दस्तावेज़ को देखें. अगर
GCC 5 या उसके बाद के वर्शन के साथ बनाया जा रहा है, तो -D_GLIBCXX_USE_CXX11_ABI=0
की जानकारी दें.
अगले चरण
Firebase ऐप्लिकेशन के सैंपल एक्सप्लोर करें.
GitHub में ओपन सोर्स SDK एक्सप्लोर करें.
अपना ऐप्लिकेशन लॉन्च करने की तैयारी करें:
- Google Cloud Console में, अपने प्रोजेक्ट के लिए बजट से जुड़ी चेतावनियां सेट अप करें.
- Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की अलग-अलग सेवाओं में अपने प्रोजेक्ट के इस्तेमाल से जुड़ी पूरी जानकारी मिलेगी.
- Firebase के लॉन्च की चेकलिस्ट देखें.