Catch up on highlights from Firebase at Google I/O 2023. Learn more

अपने C++ प्रोजेक्ट में Firebase जोड़ें

हमारे फायरबेस सी++ एसडीके के साथ अपने सी++ गेम्स को पावर अप करें जो फायरबेस एसडीके के शीर्ष पर सी++ इंटरफेस प्रदान करते हैं।

किसी भी प्लेटफ़ॉर्म-देशी कोड को लिखे बिना, अपने C++ कोड से पूरी तरह से Firebase तक पहुँचें। फायरबेस एसडीके फायरबेस द्वारा उपयोग किए जाने वाले कई भाषा-विशिष्ट मुहावरों का अनुवाद सी ++ डेवलपर्स से अधिक परिचित इंटरफ़ेस में भी करता है।

हमारे फायरबेस गेम पेज पर फायरबेस के साथ अपने गेम को सशक्त बनाने के बारे में अधिक जानकारी प्राप्त करें।

आपके C++ प्रोजेक्ट में पहले से ही Firebase जोड़ा गया है? सुनिश्चित करें कि आप Firebase C++ SDK के नवीनतम संस्करण का उपयोग कर रहे हैं।

आवश्यक शर्तें

  • निम्नलिखित स्थापित करें:

    • एक्सकोड 13.3.1 या बाद में
    • कोकोपोड्स 1.10.0 या बाद का
  • सुनिश्चित करें कि आपकी परियोजना निम्न प्लेटफ़ॉर्म संस्करणों या बाद के संस्करणों को लक्षित करती है:

    • आईओएस 11
    • टीवीओएस 12
  • एक भौतिक उपकरण सेट करें या अपने ऐप को चलाने के लिए सिम्युलेटर का उपयोग करें।

  • अपने Google खाते का उपयोग करके फायरबेस में साइन इन करें

चरण 2 : एक फायरबेस प्रोजेक्ट बनाएं

इससे पहले कि आप अपने C++ प्रोजेक्ट में Firebase जोड़ सकें, आपको अपने C++ प्रोजेक्ट से कनेक्ट करने के लिए एक Firebase प्रोजेक्ट बनाना होगा। फायरबेस प्रोजेक्ट्स के बारे में अधिक जानने के लिए अंडरस्टैंड फायरबेस प्रोजेक्ट्स पर जाएं।

चरण 3 : अपने ऐप को फायरबेस के साथ पंजीकृत करें

अपने Apple ऐप में Firebase का उपयोग करने के लिए, आपको अपने ऐप को अपने Firebase प्रोजेक्ट के साथ पंजीकृत करना होगा। अपने ऐप को पंजीकृत करने को अक्सर आपके ऐप को आपके प्रोजेक्ट में "जोड़ना" कहा जाता है।

  1. फायरबेस कंसोल पर जाएं।

  2. प्रोजेक्ट अवलोकन पृष्ठ के केंद्र में, सेटअप वर्कफ़्लो लॉन्च करने के लिए iOS+ आइकन पर क्लिक करें।

    यदि आप पहले से ही अपने फायरबेस प्रोजेक्ट में एक ऐप जोड़ चुके हैं, तो प्लेटफ़ॉर्म विकल्प प्रदर्शित करने के लिए ऐप जोड़ें पर क्लिक करें।

  3. बंडल आईडी फ़ील्ड में अपने ऐप की बंडल आईडी दर्ज करें।

  4. (वैकल्पिक) अन्य ऐप जानकारी दर्ज करें: ऐप उपनाम और ऐप स्टोर आईडी

  5. रजिस्टर ऐप पर क्लिक करें।

चरण 4 : फायरबेस कॉन्फ़िगरेशन फ़ाइल जोड़ें

  1. अपनी Firebase Apple प्लेटफ़ॉर्म कॉन्फ़िगरेशन फ़ाइल प्राप्त करने के लिए GoogleService-Info.plist डाउनलोड करें पर क्लिक करें।

  2. अपने C++ प्रोजेक्ट को एक IDE में खोलें, फिर अपनी कॉन्फ़िग फ़ाइल को अपने C++ प्रोजेक्ट के रूट में खींचें।

  3. यदि संकेत दिया जाता है, तो सभी लक्ष्यों में कॉन्फ़िग फ़ाइल जोड़ने के लिए चयन करें।

आपने Firebase कंसोल में सेट अप कार्यों को पूरा कर लिया है। नीचे Firebase C++ SDK जोड़ना जारी रखें।

चरण 5 : फायरबेस सी++ एसडीके जोड़ें

इस अनुभाग में दिए गए चरण इसका एक उदाहरण हैं कि कैसे अपने Firebase C++ प्रोजेक्ट में समर्थित Firebase उत्पादों को जोड़ा जाए।

  1. Firebase C++ SDK डाउनलोड करें, फिर SDK को कहीं सुविधाजनक स्थान पर अनज़िप करें।

    Firebase C++ SDK प्लेटफ़ॉर्म-विशिष्ट नहीं है, लेकिन इसमें प्लेटफ़ॉर्म-विशिष्ट लाइब्रेरी शामिल हैं।

  2. अनज़िप किए गए SDK से Firebase पॉड जोड़ें।

    1. यदि आपके पास पहले से एक नहीं है तो एक पॉडफाइल बनाएं:

      cd your-app-directory
      pod init

    2. अपने पॉडफाइल में, फायरबेस पॉड जोड़ें जिसे आप अपने ऐप में उपयोग करना चाहते हैं।

      विश्लेषिकी सक्षम

      # 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'

      विश्लेषिकी सक्षम नहीं है

      # 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'
    3. पॉड स्थापित करें, फिर Xcode में .xcworkspace फ़ाइल खोलें।

      pod install
      open your-app.xcworkspace

  3. अनज़िप किए गए SDK से Firebase फ़्रेमवर्क जोड़ें।

    इन रूपरेखाओं को जोड़ने का सबसे आसान तरीका आमतौर पर उन्हें Finder विंडो से सीधे एक्सकोड के प्रोजेक्ट नेविगेटर फलक (दूर-बाएं फलक, डिफ़ॉल्ट रूप से; या एक्सकोड के ऊपरी-बाएं फ़ाइल आइकन पर क्लिक करें) में खींचें।

    1. Firebase C++ फ्रेमवर्क जोड़ें firebase.framework , जो किसी भी Firebase उत्पाद का उपयोग करने के लिए आवश्यक है।

    2. आप जिस भी Firebase उत्पाद का उपयोग करना चाहते हैं, उसके लिए रूपरेखा जोड़ें। उदाहरण के लिए, Firebase प्रमाणीकरण का उपयोग करने के लिए, firebase_auth.framework जोड़ें।

  4. Firebase कंसोल में वापस, सेटअप वर्कफ़्लो में, अगला क्लिक करें।

  5. यदि आपने एनालिटिक्स जोड़ा है, तो फायरबेस को सत्यापन भेजने के लिए अपना ऐप चलाएं कि आपने फायरबेस को सफलतापूर्वक एकीकृत कर लिया है। अन्यथा, आप इस सत्यापन चरण को छोड़ सकते हैं।

    आपका डिवाइस लॉग फायरबेस सत्यापन प्रदर्शित करेगा कि आरंभीकरण पूरा हो गया है। यदि आप अपने ऐप को किसी ऐसे एमुलेटर पर चलाते हैं जिसके पास नेटवर्क एक्सेस है, तो फायरबेस कंसोल आपको सूचित करता है कि आपका ऐप कनेक्शन पूरा हो गया है।

तुम सब सेट हो! आपका C++ ऐप पंजीकृत है और Firebase उत्पादों का उपयोग करने के लिए कॉन्फ़िगर किया गया है।

उपलब्ध पुस्तकालय

C++ Firebase लाइब्रेरी के बारे में संदर्भ दस्तावेज़ में और GitHub पर हमारे ओपन-सोर्स SDK रिलीज़ में और जानें।

Apple प्लेटफॉर्म के लिए उपलब्ध लाइब्रेरी

ध्यान दें कि Android के लिए C++ लाइब्रेरी इस सेटअप पृष्ठ के Android संस्करण पर सूचीबद्ध हैं।

प्रत्येक फायरबेस उत्पाद की अलग-अलग निर्भरताएँ होती हैं। वांछित Firebase उत्पाद के लिए अपने Podfile और C++ प्रोजेक्ट में सभी सूचीबद्ध निर्भरताओं को जोड़ना सुनिश्चित करें।

प्रत्येक Firebase उत्पाद केवल Apple OS प्लेटफ़ॉर्म (iOS, tvOS, आदि) के चयन का समर्थन कर सकता है। C++ और Firebase के बारे में अधिक जानें में देखें कि कौन-से प्लेटफ़ॉर्म प्रत्येक लाइब्रेरी द्वारा समर्थित हैं।

फायरबेस उत्पाद चौखटे और पॉड्स
AdMob (आवश्यक) firebase.framework
firebase_admob.framework
(आवश्यक) firebase_analytics.framework

pod 'FirebaseAdMob', '10.9.0'
(आवश्यक) pod 'FirebaseAnalytics', '10.9.0'
एनालिटिक्स (आवश्यक) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '10.9.0'
ऐप चेक (आवश्यक) firebase.framework
firebase_app_check.framework

pod 'FirebaseAppCheck', '10.9.0'
प्रमाणीकरण (आवश्यक) firebase.framework
firebase_auth.framework

pod 'FirebaseAuth', '10.9.0'
क्लाउड फायरस्टोर (आवश्यक) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'FirebaseFirestore', '10.9.0'
pod 'FirebaseAuth', '10.9.0'
क्लाउड फ़ंक्शंस (आवश्यक) firebase.framework
firebase_functions.framework

pod 'FirebaseFunctions', '10.9.0'
क्लाउड मैसेजिंग (आवश्यक) firebase.framework
firebase_messaging.framework
(अनुशंसित) firebase_analytics.framework

pod 'FirebaseMessaging', '10.9.0'
(अनुशंसित) pod 'FirebaseAnalytics', '10.9.0'
घन संग्रहण (आवश्यक) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '10.9.0'
गतिशील लिंक (आवश्यक) firebase.framework
firebase_dynamic_links.framework
(अनुशंसित) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '10.9.0'
(अनुशंसित) pod 'FirebaseAnalytics', '10.9.0'
रीयलटाइम डेटाबेस (आवश्यक) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '10.9.0'
दूरस्थ विन्यास (आवश्यक) firebase.framework
firebase_remote_config.framework
(अनुशंसित) firebase_analytics.framework

pod 'FirebaseRemoteConfig', '10.9.0'
(अनुशंसित) pod 'FirebaseAnalytics', '10.9.0'

मोबाइल सेटअप के लिए अतिरिक्त जानकारी

विधि स्विज़लिंग

आईओएस पर, कुछ एप्लिकेशन इवेंट्स (जैसे यूआरएल खोलना और नोटिफिकेशन प्राप्त करना) के लिए आपके एप्लिकेशन प्रतिनिधि को विशिष्ट तरीकों को लागू करने की आवश्यकता होती है। उदाहरण के लिए, अधिसूचना प्राप्त करने के लिए आपके आवेदन प्रतिनिधि को application:didReceiveRemoteNotification: लागू करने की आवश्यकता हो सकती है। क्योंकि प्रत्येक आईओएस एप्लिकेशन का अपना ऐप प्रतिनिधि होता है, फायरबेस विधि स्विजलिंग का उपयोग करता है, जो आपके द्वारा लागू किए गए किसी भी हैंडलर के अलावा अपने स्वयं के हैंडलर को संलग्न करने के लिए एक विधि को दूसरे के साथ बदलने की अनुमति देता है।

डायनेमिक लिंक्स और क्लाउड मैसेजिंग लाइब्रेरी को विधि स्विज़लिंग का उपयोग करके हैंडलर को एप्लिकेशन प्रतिनिधि से जोड़ने की आवश्यकता होती है। यदि आप इनमें से किसी भी Firebase उत्पाद का उपयोग कर रहे हैं, तो लोड समय पर, Firebase आपके AppDelegate वर्ग की पहचान करेगा और उस पर आवश्यक विधियों को स्विज़ल करेगा, आपके मौजूदा विधि कार्यान्वयन के लिए कॉल बैक करेगा।

एक डेस्कटॉप वर्कफ़्लो सेट करें ( बीटा )

जब आप कोई गेम बना रहे होते हैं, तो पहले डेस्कटॉप प्लेटफॉर्म पर अपने गेम का परीक्षण करना बहुत आसान होता है, फिर बाद में विकास में मोबाइल उपकरणों पर परिनियोजन और परीक्षण करना। इस कार्यप्रवाह का समर्थन करने के लिए, हम Firebase C++ SDKs का एक सबसेट प्रदान करते हैं जो Windows, macOS, Linux और C++ संपादक के भीतर से चल सकता है।

  1. डेस्कटॉप कार्यप्रवाहों के लिए, आपको निम्नलिखित को पूरा करना होगा:

    1. CMake के लिए अपने C++ प्रोजेक्ट को कॉन्फ़िगर करें।
    2. एक फायरबेस प्रोजेक्ट बनाएं
    3. अपने ऐप (iOS या Android) को Firebase के साथ पंजीकृत करें
    4. एक मोबाइल-प्लेटफ़ॉर्म Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ें
  2. Firebase कॉन्फ़िगरेशन फ़ाइल का डेस्कटॉप संस्करण बनाएँ:

    • यदि आपने Android google-services.json फ़ाइल जोड़ी है — जब आप अपना ऐप चलाते हैं, तो Firebase इस मोबाइल फ़ाइल का पता लगाता है, फिर स्वचालित रूप से डेस्कटॉप Firebase कॉन्फ़िगरेशन फ़ाइल ( google-services-desktop.json ) बनाता है।

    • यदि आपने iOS GoogleService-Info.plist फ़ाइल जोड़ी है — इससे पहले कि आप अपना ऐप चलाएँ, आपको इस मोबाइल फ़ाइल को डेस्कटॉप फ़ायरबेस कॉन्फ़िगरेशन फ़ाइल में बदलना होगा। फ़ाइल को रूपांतरित करने के लिए, अपनी GoogleService-Info.plist फ़ाइल की निर्देशिका से निम्न कमांड चलाएँ:

      generate_xml_from_google_services_json.py --plist -i GoogleService-Info.plist

    इस डेस्कटॉप कॉन्फ़िगरेशन फ़ाइल में C++ प्रोजेक्ट आईडी है जिसे आपने फायरबेस कंसोल सेटअप वर्कफ़्लो में दर्ज किया था। कॉन्फिग फाइलों के बारे में अधिक जानने के लिए फायरबेस प्रोजेक्ट्स को समझें पर जाएं।

  3. अपने सी++ प्रोजेक्ट में फायरबेस एसडीके जोड़ें।

    नीचे दिए गए चरण आपके C++ प्रोजेक्ट में किसी भी समर्थित Firebase उत्पाद को जोड़ने के तरीके के उदाहरण के रूप में काम करते हैं। इस उदाहरण में, हम फायरबेस ऑथेंटिकेशन और फायरबेस रियलटाइम डेटाबेस को जोड़कर चलते हैं।

    1. अपने FIREBASE_CPP_SDK_DIR पर्यावरण चर को अनज़िप किए गए Firebase C++ SDK के स्थान पर सेट करें।

    2. अपने प्रोजेक्ट की CMakeLists.txt फ़ाइल में, निम्न सामग्री जोड़ें, जिसमें उन फायरबेस उत्पादों के लिए लाइब्रेरी शामिल हैं जिनका आप उपयोग करना चाहते हैं। उदाहरण के लिए, 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}")
      
  4. अपना सी ++ ऐप चलाएं।

उपलब्ध पुस्तकालय (डेस्कटॉप)

Firebase C++ SDK में सुविधाओं के एक सबसेट के लिए डेस्कटॉप वर्कफ़्लो समर्थन शामिल है, जो Windows, macOS, और Linux पर स्टैंडअलोन डेस्कटॉप बिल्ड में उपयोग किए जाने वाले Firebase के कुछ हिस्सों को सक्षम बनाता है।

फायरबेस उत्पाद लाइब्रेरी संदर्भ (सीएमके का उपयोग करके)
ऐप चेक firebase_app_check
(आवश्यक) firebase_app
प्रमाणीकरण firebase_auth
(आवश्यक) firebase_app
क्लाउड फायरस्टोर firebase_firestore
firebase_auth
firebase_app
क्लाउड फ़ंक्शंस firebase_functions
(आवश्यक) firebase_app
घन संग्रहण firebase_storage
(आवश्यक) firebase_app
रीयलटाइम डेटाबेस firebase_database
(आवश्यक) firebase_app
दूरस्थ विन्यास firebase_remote_config
(आवश्यक) firebase_app

फायरबेस विंडोज, मैकओएस और लिनक्स के लिए निर्माण करते समय सुविधा के लिए स्टब (गैर-कार्यात्मक) कार्यान्वयन के रूप में शेष डेस्कटॉप लाइब्रेरी प्रदान करता है। इसलिए, आपको डेस्कटॉप को लक्षित करने के लिए सशर्त रूप से कोड संकलित करने की आवश्यकता नहीं है।

रीयलटाइम डेटाबेस डेस्कटॉप

डेस्कटॉप के लिए रीयलटाइम डेटाबेस SDK आपके डेटाबेस तक पहुँचने के लिए REST का उपयोग करता है, इसलिए आपको डेस्कटॉप पर Query::OrderByChild() के साथ उपयोग किए जाने वाले इंडेक्स को घोषित करना होगा या आपके श्रोता विफल हो जाएंगे।

डेस्कटॉप सेटअप के लिए अतिरिक्त जानकारी

विंडोज़ पुस्तकालय

Windows के लिए, लाइब्रेरी संस्करण निम्न के आधार पर प्रदान किए जाते हैं:

  • बिल्ड प्लेटफॉर्म: 32-बिट (x86) बनाम 64-बिट (x64) मोड
  • विंडोज रनटाइम वातावरण: मल्टीथ्रेडेड / एमटी बनाम मल्टीथ्रेडेड डीएलएल / एमडी
  • लक्ष्य: रिलीज बनाम डीबग

ध्यान दें कि विजुअल स्टूडियो 2015 और 2017 का उपयोग करके निम्नलिखित पुस्तकालयों का परीक्षण किया गया था।

Windows पर C++ डेस्कटॉप ऐप्स बनाते समय, निम्न Windows SDK लाइब्रेरी को अपने प्रोजेक्ट से लिंक करें। अधिक जानकारी के लिए अपने कंपाइलर दस्तावेज़ से परामर्श लें।

फायरबेस सी ++ लाइब्रेरी विंडोज एसडीके पुस्तकालय निर्भरता
ऐप चेक advapi32, ws2_32, crypt32
प्रमाणीकरण advapi32, ws2_32, crypt32
क्लाउड फायरस्टोर advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
क्लाउड फ़ंक्शंस advapi32, ws2_32, crypt32, rpcrt4, ole32
घन संग्रहण advapi32, ws2_32, crypt32
रीयलटाइम डेटाबेस advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
दूरस्थ विन्यास advapi32, ws2_32, crypt32, rpcrt4, ole32

macOS पुस्तकालय

MacOS (डार्विन) के लिए, लाइब्रेरी संस्करण 64-बिट (x86_64) प्लेटफॉर्म के लिए प्रदान किए जाते हैं। आपकी सुविधा के लिए रूपरेखा भी प्रदान की जाती है।

ध्यान दें कि macOS लाइब्रेरी का परीक्षण Xcode 13.3.1 का उपयोग करके किया गया है।

MacOS पर C++ डेस्कटॉप ऐप बनाते समय, निम्नलिखित को अपने प्रोजेक्ट से लिंक करें:

  • pthread सिस्टम लाइब्रेरी
  • CoreFoundation macOS सिस्टम फ्रेमवर्क
  • Foundation macOS सिस्टम फ्रेमवर्क
  • Security macOS सिस्टम फ्रेमवर्क
  • GSS macOS सिस्टम फ्रेमवर्क
  • Kerberos macOS सिस्टम फ्रेमवर्क
  • SystemConfiguration macOS सिस्टम फ्रेमवर्क

अधिक जानकारी के लिए अपने कंपाइलर दस्तावेज़ से परामर्श लें।

लिनक्स पुस्तकालय

लिनक्स के लिए, लाइब्रेरी संस्करण 32-बिट (i386) और 64-बिट (x86_64) प्लेटफॉर्म के लिए प्रदान किए जाते हैं।

ध्यान दें कि उबंटू पर जीसीसी 4.8.0, जीसीसी 7.2.0 और क्लैंग 5.0 का उपयोग करके लिनक्स पुस्तकालयों का परीक्षण किया गया था।

Linux पर C++ डेस्कटॉप ऐप्स बनाते समय, pthread सिस्टम लाइब्रेरी को अपने प्रोजेक्ट से लिंक करें। अधिक जानकारी के लिए अपने कंपाइलर दस्तावेज़ से परामर्श लें। यदि आप GCC 5 या उसके बाद का निर्माण कर रहे हैं, तो -D_GLIBCXX_USE_CXX11_ABI=0 परिभाषित करें।

अगले कदम