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

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

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

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

बाहर हमारे पर Firebase के साथ अपने खेल अप शक्ति के बारे में अधिक जानकारी प्राप्त करें Firebase खेल पृष्ठ

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

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

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

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

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

  • Firebase में प्रवेश करें अपने Google खाते का उपयोग कर।

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

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

चरण 3: Firebase के साथ अपने एप्लिकेशन पंजीकृत

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

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

  1. पर जाएं Firebase कंसोल

  2. परियोजना अवलोकन पृष्ठ के केंद्र में, आईओएस आइकन (क्लिक सेटअप कार्यप्रवाह शुरू करने के लिए)।

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

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

  4. अनुप्रयोग उपनाम और App स्टोर ID: (वैकल्पिक) अन्य एप्लिकेशन जानकारी दर्ज करें।

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

चरण 4: Firebase विन्यास फाइल जोड़े

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

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

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

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

चरण 5: Firebase सी ++ SDKs जोड़े

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

  1. डाउनलोड Firebase सी ++ एसडीके , तो एसडीके कहीं सुविधाजनक अनज़िप।

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

  2. Firebase जोड़े फली अनज़िप एसडीके से।

    1. एक Podfile बनाएं यदि आप पहले से ही एक नहीं है:

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

      pod install
      open your-app.xcworkspace

  3. Firebase जोड़े चौखटे अनज़िप एसडीके से।

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

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

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

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

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

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

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

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

में सी ++ Firebase पुस्तकालयों बारे में और जानें संदर्भ दस्तावेज़ और पर हमारे खुला स्रोत एसडीके विज्ञप्ति में GitHub

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

ध्यान दें कि Android के लिए सी ++ पुस्तकालयों पर सूचीबद्ध हैं इस स्थापना पेज के Android संस्करण

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

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

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

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

pod 'Firebase/Auth', '8.7.0'
बादल Firestore (बीटा) () की आवश्यकता firebase.framework
firebase_firestore.framework
firebase_auth.framework

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

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

pod 'Firebase/Messaging', '8.7.0'
(अनुशंसित) pod 'Firebase/Analytics', '8.7.0'
घन संग्रहण () की आवश्यकता firebase.framework
firebase_storage.framework

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

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

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

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

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

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

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

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

एक डेस्कटॉप कार्यप्रवाह (बीटा) को सेट करें

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

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

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

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

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

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

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

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

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

    1. अपने सेट FIREBASE_CPP_SDK_DIR अनज़िप Firebase सी ++ एसडीके के स्थान पर वातावरण चर।

    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 सी ++ SDK शामिल डेस्कटॉप कार्यप्रवाह समर्थन , सुविधाओं के सबसेट के लिए Firebase के कुछ भागों को सक्षम करने के स्टैंडअलोन डेस्कटॉप में इस्तेमाल किया जा करने के लिए Windows, MacOS, और लिनक्स पर बनाता है।

फायरबेस उत्पाद पुस्तकालय संदर्भ (सीएमके का उपयोग करके)
प्रमाणीकरण firebase_auth
() की आवश्यकता firebase_app
बादल Firestore (बीटा) 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 MacOS प्रणाली ढांचे
  • Foundation MacOS प्रणाली ढांचे
  • Security MacOS प्रणाली ढांचे
  • GSS MacOS प्रणाली ढांचे
  • Kerberos MacOS प्रणाली ढांचे
  • SystemConfiguration MacOS प्रणाली ढांचे

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

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

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

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

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

अगला कदम