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

हमारे Firebase C++ SDK टूल का इस्तेमाल करके, C++ गेम में बेहतर तरीके से बदलाव करें. इन SDK टूल में, C++ इंटरफ़ेस पर आसानी से काम करता है.

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

Firebase की मदद से अपने गेम को बेहतर बनाने के बारे में ज़्यादा जानने के लिए, यहां जाएं: Firebase गेम पेज.

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


ज़रूरी शर्तें

  • इन्हें इंस्टॉल करें:

    • Xcode 13.3.1 या इसके बाद का वर्शन
    • CocoaPods 1.12.0 या उसके बाद का वर्शन
  • पक्का करें कि आपका प्रोजेक्ट, प्लैटफ़ॉर्म के इन वर्शन या इसके बाद के वर्शन को टारगेट करता हो:

    • iOS 13
    • टीवीओएस 13
  • अपना ऐप्लिकेशन चलाने के लिए, कोई फ़िज़िकल डिवाइस सेट अप करें या सिम्युलेटर का इस्तेमाल करें.

  • Firebase में साइन इन करें Google खाता.

दूसरा चरण: Firebase प्रोजेक्ट बनाना

C++ प्रोजेक्ट में Firebase जोड़ने से पहले, आपको Firebase बनाना होगा आपके C++ प्रोजेक्ट से कनेक्ट करता है. इस लिंक पर जाएँ ज़्यादा जानने के लिए, Firebase प्रोजेक्ट को समझना Firebase प्रोजेक्ट.

तीसरा चरण: अपने ऐप्लिकेशन को Firebase के साथ रजिस्टर करें

Apple ऐप्लिकेशन में Firebase का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को Firebase प्रोजेक्ट. अपने ऐप्लिकेशन को रजिस्टर करने को अक्सर "जोड़ना" कहा जाता है आपका ऐप्लिकेशन प्रोजेक्ट.

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

  2. प्रोजेक्ट की खास जानकारी देने वाले पेज के बीच में, iOS+ आइकॉन पर क्लिक करें सेटअप वर्कफ़्लो लॉन्च करने के लिए.

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

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

  4. (ज़रूरी नहीं) ऐप्लिकेशन के बारे में अन्य जानकारी डालें: ऐप्लिकेशन का कोई दूसरा नाम और App Store आईडी.

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

चौथा चरण: Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना

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

  2. अपने C++ प्रोजेक्ट को किसी IDE में खोलें. इसके बाद, अपनी कॉन्फ़िगरेशन फ़ाइल को रूट में खींचें और छोड़ें आपके C++ प्रोजेक्ट का है.

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

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

पांचवां चरण: Firebase C++ SDK टूल जोड़ना

इस सेक्शन में, एक उदाहरण के तौर पर बताया गया है कि Search Ads 360 के नए वर्शन का इस्तेमाल इस्तेमाल किए जा सकने वाले Firebase प्रॉडक्ट को Firebase पर अपग्रेड किया जा सकता है C++ प्रोजेक्ट.

  1. Firebase C++ SDK टूल डाउनलोड करें. इसके बाद, SDK टूल को किसी दूसरी जगह अनज़िप करें.

    Firebase का C++ SDK टूल, प्लैटफ़ॉर्म के हिसाब से नहीं है. हालांकि, इसमें यह शामिल है अलग-अलग प्लैटफ़ॉर्म के हिसाब से लाइब्रेरी बनाई जा सकती हैं.

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

    1. अगर आपके पास पहले से कोई Podfile नहीं है, तो एक बनाएं:

      cd your-app-directory
      अभी तक किसी भी व्यक्ति ने चेक इन नहीं किया है
      pod init

    2. अपनी 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'
    3. पॉड इंस्टॉल करें. इसके बाद, .xcworkspace फ़ाइल को Xcode में खोलें.

      pod install
      open your-app.xcworkspace

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

    इन फ़्रेमवर्क को जोड़ने का सबसे आसान तरीका है कि आम तौर पर इन्हें किसी Finder विंडो सीधे Xcode के Project Navigator पैनल में ( सबसे बड़ा बायां पैनल, डिफ़ॉल्ट रूप से; या Xcode के ऊपर बाईं ओर मौजूद फ़ाइल आइकॉन पर क्लिक करें).

    1. Firebase C++ फ़्रेमवर्क firebase.framework जोड़ें, जो किसी भी Firebase प्रॉडक्ट का इस्तेमाल करने के लिए ज़रूरी है.

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

  4. Firebase कंसोल में वापस आएं और सेटअप वर्कफ़्लो में, आगे बढ़ें पर क्लिक करें.

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

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

अब इसे इस्तेमाल किया जा सकता है! आपका C++ ऐप्लिकेशन रजिस्टर हो गया है और Firebase के इस्तेमाल के लिए कॉन्फ़िगर किया गया है प्रॉडक्ट.

उपलब्ध लाइब्रेरी

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

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

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

हर Firebase प्रॉडक्ट की डिपेंडेंसी अलग-अलग होती है. पक्का करें कि आपने सभी आपकी Podfile में, सही Firebase प्रॉडक्ट के लिए डिपेंडेंसी होनी चाहिए और C++ प्रोजेक्ट.

हो सकता है कि हर Firebase प्रॉडक्ट सिर्फ़ कुछ चुनिंदा Apple OS प्लैटफ़ॉर्म (iOS, tvOS वगैरह). देखें कि हर लाइब्रेरी में कौनसे प्लैटफ़ॉर्म काम करते हैं C++ और Firebase के बारे में ज़्यादा जानें.

Firebase प्रॉडक्ट फ़्रेमवर्क और पॉड
AdMob (ज़रूरी है) firebase.framework
firebase_admob.framework
(ज़रूरी है) firebase_analytics.framework

pod 'FirebaseAdMob', '11.0.0'
(ज़रूरी है) pod 'FirebaseAnalytics', '11.0.0'
Analytics (ज़रूरी है) firebase.framework
firebase_analytics.framework

pod 'FirebaseAnalytics', '11.0.0'
App Check (ज़रूरी है) firebase.framework
firebase_app_check.framework

pod 'FirebaseAppCheck', '11.0.0'
Authentication (ज़रूरी है) firebase.framework
firebase_auth.framework

pod 'FirebaseAuth', '11.0.0'
Cloud Firestore (ज़रूरी है) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'FirebaseFirestore', '11.0.0'
pod 'FirebaseAuth', '11.0.0'
Cloud Functions (ज़रूरी है) firebase.framework
firebase_functions.framework

pod 'FirebaseFunctions', '11.0.0'
Cloud Messaging (ज़रूरी है) firebase.framework
firebase_messaging.framework
(सुझाया गया) firebase_analytics.framework

pod 'FirebaseMessaging', '11.0.0'
(सुझाया गया) pod 'FirebaseAnalytics', '11.0.0'
Cloud Storage (ज़रूरी है) firebase.framework
firebase_storage.framework

pod 'FirebaseStorage', '11.0.0'
Dynamic Links (ज़रूरी है) firebase.framework
firebase_dynamic_links.framework
(सुझाया गया) firebase_analytics.framework

pod 'FirebaseDynamicLinks', '11.0.0'
(सुझाया गया) pod 'FirebaseAnalytics', '11.0.0'
Realtime Database (ज़रूरी है) firebase.framework
firebase_database.framework

pod 'FirebaseDatabase', '11.0.0'
Remote Config (ज़रूरी है) firebase.framework
firebase_remote_config.framework
(सुझाया गया) firebase_analytics.framework

pod 'FirebaseRemoteConfig', '11.0.0'
(सुझाया गया) pod 'FirebaseAnalytics', '11.0.0'

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

स्विज़लिंग मेथड

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

Dynamic Links और Cloud Messaging लाइब्रेरी को चाहिए स्विज़लिंग तरीके का इस्तेमाल करके, ऐप्लिकेशन डेलिगेट में हैंडलर अटैच करने के लिए कहा जाता है. अगर आपने इनमें से किसी भी Firebase प्रॉडक्ट का इस्तेमाल किया है, तो लोड होने के दौरान Firebase अपनी AppDelegate क्लास की पहचान करें और इसके लिए ज़रूरी तरीकों को स्वाइप करें, लागू करने के अपने मौजूदा तरीके को कॉल बैक करके रखना.

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

गेम बनाते समय, डेस्कटॉप पर अपने गेम को टेस्ट करना अक्सर आसान होता है उसे सबसे पहले, अन्य प्लैटफ़ॉर्म पर डिप्लॉय और टेस्ट किया जा सकता है. यहां की यात्रा पर हूं इस वर्कफ़्लो में मदद करते हैं, तो हम Firebase C++ SDK टूल का सबसेट जो इन पर चल सकता है Windows, macOS, Linux, और C++ एडिटर में जाकर.

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

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

  3. अपने C++ प्रोजेक्ट में Firebase SDK टूल जोड़ें.

    नीचे दिए गए चरणों का इस्तेमाल करके, उदाहरण के तौर पर किसी काम करने वाले Firebase प्रॉडक्ट को आपका C++ प्रोजेक्ट होगा. इस उदाहरण में, हमने सिलसिलेवार तरीके से Firebase Authentication और Firebase Realtime Database.

    1. अपने FIREBASE_CPP_SDK_DIR एनवायरमेंट वैरिएबल को इसकी जगह पर सेट करें अनज़िप किया गया Firebase C++ SDK टूल.

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

ध्यान दें कि Linux लाइब्रेरी की जांच GCC 4.8.0, GCC 7.2.0, और Ubuntu पर Clang 5.0.

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

अगले चरण