Google 致力于为黑人社区推动种族平等。查看具体举措

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

हमारे फायरबेस सी++ एसडीके के साथ अपने सी++ गेम्स को सशक्त बनाएं जो आईओएस और एंड्रॉइड के लिए फायरबेस के शीर्ष पर एक सी ++ इंटरफेस प्रदान करते हैं।

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

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

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

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

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

    • एक्सकोड 12 या बाद में
    • CocoaPods 1.10.0 या बाद में
  • सुनिश्चित करें कि आपका प्रोजेक्ट iOS 10 या बाद के संस्करण को लक्षित करता है।

  • एक भौतिक iOS डिवाइस सेट करें या अपना ऐप चलाने के लिए iOS सिम्युलेटर का उपयोग करें।

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

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

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

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

आपके पास Firebase प्रोजेक्ट होने के बाद, आप इसमें अपना iOS ऐप जोड़ सकते हैं।

एक से अधिक बिल्ड वेरिएंट को संभालने के तरीके सहित, किसी Firebase प्रोजेक्ट में ऐप्स जोड़ने के लिए सर्वोत्तम प्रक्रियाओं और विचारों के बारे में अधिक जानने के लिए Firebase प्रोजेक्ट्स को समझें पर जाएं.

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

  2. प्रोजेक्ट ओवरव्यू पेज के केंद्र में, सेटअप वर्कफ़्लो लॉन्च करने के लिए iOS आइकन ( ) पर क्लिक करें।

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

  3. iOS बंडल आईडी फ़ील्ड में अपने ऐप्लिकेशन की बंडल आईडी डालें.

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

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

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

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

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

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

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

चरण 5 : Firebase C++ SDK जोड़ें

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

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

    फायरबेस सी ++ एसडीके प्लेटफॉर्म-विशिष्ट नहीं है, लेकिन इसमें प्लेटफॉर्म-विशिष्ट पुस्तकालय शामिल हैं।

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

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

      cd your-app-directory
      pod init

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

      एनालिटिक्स सक्षम

      # Add the Firebase pod for Google Analytics
      pod 'Firebase/Analytics'
      # 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 'Firebase/Auth' pod 'Firebase/Database'

      एनालिटिक्स सक्षम नहीं है

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

      pod install
      open your-app.xcworkspace

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

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

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

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

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

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

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

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

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

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

आईओएस के लिए उपलब्ध पुस्तकालय

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

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

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

pod 'Firebase/AdMob', '7.11.0'
(आवश्यक) pod 'Firebase/Analytics', '7.11.0'
एनालिटिक्स (आवश्यक) firebase.framework
firebase_analytics.framework

pod 'Firebase/Analytics', '7.11.0'
प्रमाणीकरण (आवश्यक) firebase.framework
firebase_auth.framework

pod 'Firebase/Auth', '7.11.0'
क्लाउड फायरस्टोर (बीटा) (आवश्यक) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'Firebase/Firestore', '7.11.0'
pod 'Firebase/Auth', '7.11.0'
बादल कार्य (आवश्यक) firebase.framework
firebase_functions.framework

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

pod 'Firebase/Messaging', '7.11.0'
(अनुशंसित) pod 'Firebase/Analytics', '7.11.0'
बादल भंडारण (आवश्यक) firebase.framework
firebase_storage.framework

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

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

pod 'Firebase/Database', '7.11.0'
रिमोट कॉन्फिग (आवश्यक) firebase.framework
firebase_remote_config.framework
(अनुशंसित) firebase_analytics.framework

pod 'Firebase/RemoteConfig', '7.11.0'
(अनुशंसित) pod 'Firebase/Analytics', '7.11.0'

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

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

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

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

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

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

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

    1. CMake के लिए अपना C++ प्रोजेक्ट कॉन्फ़िगर करें।
    2. एक फायरबेस प्रोजेक्ट बनाएं
    3. Firebase के साथ अपना ऐप्लिकेशन (iOS या Android) पंजीकृत करें
    4. मोबाइल-प्लेटफ़ॉर्म Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ें
  2. 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 कंसोल सेटअप वर्कफ़्लो में दर्ज किया है। कॉन्फिग फाइलों के बारे में अधिक जानने के लिए फायरबेस प्रोजेक्ट्स को समझें पर जाएं।

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

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

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

    2. अपने प्रोजेक्ट की CMakeLists.txt फ़ाइल में, निम्न सामग्री जोड़ें, जिसमें 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 में सुविधाओं के सबसेट के लिए डेस्कटॉप वर्कफ़्लो समर्थन शामिल है, जिससे Firebase के कुछ हिस्सों को Windows, macOS और Linux पर स्टैंडअलोन डेस्कटॉप बिल्ड में उपयोग करने में सक्षम बनाता है।

फायरबेस उत्पाद पुस्तकालय संदर्भ (सीएमके का उपयोग करके)
प्रमाणीकरण 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

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

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

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

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

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

विंडोज के लिए, पुस्तकालय संस्करण निम्नलिखित के आधार पर प्रदान किए जाते हैं:

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

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

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

फायरबेस सी++ लाइब्रेरी विंडोज एसडीके पुस्तकालय निर्भरता
प्रमाणीकरण 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 (डार्विन) के लिए, 64-बिट (x86_64) प्लेटफॉर्म के लिए लाइब्रेरी संस्करण उपलब्ध कराए गए हैं। आपकी सुविधा के लिए फ्रेमवर्क भी उपलब्ध कराए गए हैं।

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

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

  • pthread सिस्टम लाइब्रेरी
  • CoreFoundation मैकओएस सिस्टम फ्रेमवर्क
  • 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 , pthread सिस्टम लाइब्रेरी को अपने प्रोजेक्ट से लिंक करें। अधिक जानकारी के लिए अपने कंपाइलर दस्तावेज़ीकरण से परामर्श लें। यदि आप GCC 5 या बाद के संस्करण के साथ निर्माण कर रहे हैं, तो -D_GLIBCXX_USE_CXX11_ABI=0 परिभाषित करें।

अगला कदम