Firebase C++ SDK टूल की मदद से, अपने C++ गेम को बेहतर बनाएं. ये टूल, Firebase SDK टूल के साथ C++ इंटरफ़ेस उपलब्ध कराते हैं.
अपने C++ कोड से Firebase को पूरी तरह से ऐक्सेस करें. इसके लिए, आपको प्लैटफ़ॉर्म के लिए कोई नेटिव कोड लिखने की ज़रूरत नहीं है. Firebase SDK टूल, भाषा के हिसाब से कई तरह के идиओम का अनुवाद भी करता है. Firebase इन भाषाओं का इस्तेमाल करता है. ये भाषाएं, C++ डेवलपर के लिए ज़्यादा जाना-पहचाना इंटरफ़ेस होती हैं.
Firebase की मदद से अपने गेम को बेहतर बनाने के बारे में ज़्यादा जानने के लिए, हमारे Firebase गेम पेज पर जाएं.
क्या आपने अपने C++ प्रोजेक्ट में पहले से ही Firebase जोड़ लिया है? पक्का करें कि आपने Firebase C++ SDK टूल का सबसे नया वर्शन इस्तेमाल किया हो.
ज़रूरी शर्तें
अपनी पसंद का एडिटर या आईडीई इंस्टॉल करें. जैसे, Android Studio, IntelliJ या VS Code.
Android SDK टूल पाएं.
पक्का करें कि आपका प्रोजेक्ट इन ज़रूरी शर्तों को पूरा करता हो:
एपीआई लेवल 21 (Lollipop) या उसके बाद के वर्शन को टारगेट करता हो
Gradle का इस्तेमाल करता है और CMake के साथ कॉन्फ़िगर किया गया है
अपना ऐप्लिकेशन चलाने के लिए, कोई फ़िज़िकल डिवाइस सेट अप करें या किसी एमुलेटर का इस्तेमाल करें.
अपने Google खाते का इस्तेमाल करके, Firebase में साइन इन करें.
दूसरा चरण: Firebase प्रोजेक्ट बनाना
C++ प्रोजेक्ट में Firebase जोड़ने से पहले, आपको C++ प्रोजेक्ट से कनेक्ट करने के लिए Firebase प्रोजेक्ट बनाना होगा. Firebase प्रोजेक्ट के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट के बारे में जानकारी पर जाएं.
Firebase प्रोजेक्ट बनाना
-
Firebase कंसोल में, प्रोजेक्ट जोड़ें पर क्लिक करें.
-
मौजूदा Google Cloud प्रोजेक्ट में Firebase संसाधन जोड़ने के लिए, प्रोजेक्ट का नाम डालें या ड्रॉपडाउन मेन्यू से चुनें.
-
नया प्रोजेक्ट बनाने के लिए, प्रोजेक्ट का नाम डालें. आपके पास प्रोजेक्ट के नाम के नीचे दिख रहे प्रोजेक्ट आईडी में भी बदलाव करने का विकल्प होता है. हालांकि, ऐसा करना ज़रूरी नहीं है.
-
-
अगर कहा जाए, तो Firebase की शर्तें पढ़ें और उन्हें स्वीकार करें.
-
जारी रखें पर क्लिक करें.
-
(ज़रूरी नहीं) अपने प्रोजेक्ट के लिए Google Analytics सेट अप करें. इससे, आपको यहां दिए गए Firebase प्रॉडक्ट का बेहतर अनुभव मिलता है:
कोई मौजूदा Google Analytics खाता चुनें या नया खाता बनाएं.
नया खाता बनाने पर, अपनी Analytics रिपोर्टिंग की जगह चुनें. इसके बाद, अपने प्रोजेक्ट के लिए, डेटा शेयर करने की सेटिंग और Google Analytics की शर्तें स्वीकार करें.
-
प्रोजेक्ट बनाएं पर क्लिक करें. अगर किसी मौजूदा Google Cloud प्रोजेक्ट का इस्तेमाल किया जा रहा है, तो Firebase जोड़ें पर क्लिक करें.
Firebase, आपके Firebase प्रोजेक्ट के लिए संसाधनों को अपने-आप उपलब्ध कराता है. प्रोसेस पूरी होने के बाद, आपको Firebase कंसोल में अपने Firebase प्रोजेक्ट की खास जानकारी वाले पेज पर ले जाया जाएगा.
तीसरा चरण: Firebase के साथ अपना ऐप्लिकेशन रजिस्टर करना
अपने Android ऐप्लिकेशन में Firebase का इस्तेमाल करने के लिए, आपको अपने ऐप्लिकेशन को अपने Firebase प्रोजेक्ट के साथ रजिस्टर करना होगा. अपने ऐप्लिकेशन को रजिस्टर करने को, अक्सर अपने प्रोजेक्ट में ऐप्लिकेशन को "जोड़ना" कहा जाता है.
Firebase console पर जाएं.
सेटअप वर्कफ़्लो लॉन्च करने के लिए, प्रोजेक्ट की खास जानकारी वाले पेज के बीच में मौजूद Android आइकॉन (
) या ऐप्लिकेशन जोड़ें पर क्लिक करें.Android पैकेज का नाम फ़ील्ड में, अपने ऐप्लिकेशन का पैकेज नाम डालें.
पैकेज का नाम क्या होता है और यह कहां मिलता है?
पैकेज का नाम, डिवाइस और Google Play Store पर आपके ऐप्लिकेशन की खास तौर से पहचान करता है.
पैकेज के नाम को अक्सर ऐप्लिकेशन आईडी कहा जाता है.
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल में, अपने ऐप्लिकेशन का पैकेज नाम ढूंढें. आम तौर पर, यह
app/build.gradle
होता है. पैकेज के नाम का उदाहरण:com.yourcompany.yourproject
.ध्यान रखें कि पैकेज के नाम की वैल्यू केस-सेंसिटिव होती है. साथ ही, Firebase प्रोजेक्ट में रजिस्टर करने के बाद, इस Firebase Android ऐप्लिकेशन के लिए इसे बदला नहीं जा सकता.
(ज़रूरी नहीं) ऐप्लिकेशन की अन्य जानकारी डालें: ऐप्लिकेशन का कोई दूसरा नाम और डीबग साइनिंग सर्टिफ़िकेट SHA-1.
Firebase में ऐप्लिकेशन का कोई दूसरा नाम और डीबग साइनिंग सर्टिफ़िकेट SHA-1 का इस्तेमाल कैसे किया जाता है?
ऐप्लिकेशन का कोई दूसरा नाम: यह एक इंटरनल आइडेंटिफ़ायर है, जो सिर्फ़ Firebase कंसोल में दिखता है
डीबग साइनिंग सर्टिफ़िकेट SHA-1: Firebase Authentication (Google साइन इन या फ़ोन नंबर से साइन इन का इस्तेमाल करते समय) और Firebase Dynamic Links के लिए, SHA-1 हैश ज़रूरी है.
ऐप्लिकेशन रजिस्टर करें पर क्लिक करें.
चौथा चरण: Firebase कॉन्फ़िगरेशन फ़ाइल जोड़ना
Firebase की Android कॉन्फ़िगरेशन फ़ाइल पाने के लिए, google-services.json डाउनलोड करें पर क्लिक करें.
आपको इस कॉन्फ़िगरेशन फ़ाइल के बारे में क्या जानना चाहिए?
Firebase कॉन्फ़िगरेशन फ़ाइल में आपके प्रोजेक्ट के लिए यूनीक, लेकिन सामान्य आइडेंटिफ़ायर होते हैं. इस कॉन्फ़िगरेशन फ़ाइल के बारे में ज़्यादा जानने के लिए, Firebase प्रोजेक्ट के बारे में जानें पर जाएं.
Firebase कॉन्फ़िगरेशन फ़ाइल को कभी भी फिर से डाउनलोड किया जा सकता है.
पक्का करें कि कॉन्फ़िगरेशन फ़ाइल के नाम में
(2)
जैसे अतिरिक्त वर्ण न हों.
अपने C++ प्रोजेक्ट को किसी आईडीई में खोलें. इसके बाद, अपने प्रोजेक्ट में कॉन्फ़िगरेशन फ़ाइल जोड़ें:
Gradle बिल्ड — अपनी कॉन्फ़िगरेशन फ़ाइल को उसी डायरेक्ट्री में जोड़ें जिसमें आपकी टॉप-लेवल
build.gradle
फ़ाइल है.अन्य बिल्ड सिस्टम — Android स्ट्रिंग रिसॉर्स जनरेट करने के लिए, यहां दिए गए कस्टम बिल्ड सिस्टम देखें.
(सिर्फ़ Gradle बिल्ड के लिए) अपने C++ प्रोजेक्ट में Firebase की सेवाएं चालू करने के लिए, अपनी टॉप-लेवल
build.gradle
फ़ाइल में google-services प्लग इन जोड़ें.Google Services Gradle प्लग इन को शामिल करने के लिए नियम जोड़ें. देखें कि आपके पास Google की मेवन रिपॉज़िटरी भी है या नहीं.
buildscript { repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository } dependencies { // ... // Add the following lines: classpath 'com.google.gms:google-services:4.4.2' // Google Services plugin implementation 'com.google.android.gms:18.5.0' } } allprojects { // ... repositories { // Check that you have the following line (if not, add it): google() // Google's Maven repository // ... } }
Google Services Gradle प्लग इन लागू करें:
apply plugin: 'com.android.application' // Add the following line: apply plugin: 'com.google.gms.google-services' // Google Services plugin android { // ... }
आपने Firebase कंसोल में सेट अप करने के टास्क पूरे कर लिए हैं. यहां Firebase C++ SDK टूल जोड़ें.
पांचवां चरण: Firebase C++ SDK टूल जोड़ना
इस सेक्शन में दिए गए चरणों में, Firebase C++ प्रोजेक्ट में काम करने वाले Firebase प्रॉडक्ट जोड़ने का तरीका बताया गया है.
Firebase C++ SDK डाउनलोड करें. इसके बाद, SDK टूल को किसी सुविधाजनक जगह पर अनज़िप करें.
Firebase C++ SDK टूल, किसी खास प्लैटफ़ॉर्म के लिए नहीं है. हालांकि, इसमें प्लैटफ़ॉर्म के हिसाब से लाइब्रेरी शामिल होती हैं.
अपने प्रोजेक्ट की
gradle.properties
फ़ाइल में, अनज़िप किए गए SDK टूल की जगह की जानकारी दें:systemProp.firebase_cpp_sdk.dir=
full-path-to-SDK अपने प्रोजेक्ट की
settings.gradle
फ़ाइल में, यह कॉन्टेंट जोड़ें:def firebase_cpp_sdk_dir = System.getProperty('firebase_cpp_sdk.dir') gradle.ext.firebase_cpp_sdk_dir = "$firebase_cpp_sdk_dir" includeBuild "$firebase_cpp_sdk_dir"
अपने मॉड्यूल (ऐप्लिकेशन-लेवल) की Gradle फ़ाइल (आम तौर पर
app/build.gradle
) में, यह कॉन्टेंट जोड़ें.
उन Firebase प्रॉडक्ट के लिए लाइब्रेरी डिपेंडेंसी शामिल करें जिनका इस्तेमाल आपको अपने ऐप्लिकेशन में करना है.android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Analytics, Firebase Authentication, and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { analytics auth database }
android.defaultConfig.externalNativeBuild.cmake { arguments "-DFIREBASE_CPP_SDK_DIR=$gradle.firebase_cpp_sdk_dir" } # Add the dependencies for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database apply from: "$gradle.firebase_cpp_sdk_dir/Android/firebase_dependencies.gradle" firebaseCpp.dependencies { auth database }
अपने प्रोजेक्ट की
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 Analytics, Firebase Authentication, and Firebase Realtime Database set(firebase_libs firebase_analytics firebase_auth firebase_database firebase_app ) target_link_libraries(${target_name} "${firebase_libs}")
# 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}")
अपने ऐप्लिकेशन को सिंक करें, ताकि यह पक्का किया जा सके कि सभी डिपेंडेंसी के ज़रूरी वर्शन मौजूद हों.
अगर आपने Analytics जोड़ा है, तो Firebase को पुष्टि भेजने के लिए अपना ऐप्लिकेशन चलाएं कि आपने Firebase को इंटिग्रेट कर लिया है. अगर ऐसा नहीं है, तो पुष्टि करने वाले चरण को छोड़ा जा सकता है.
आपके डिवाइस के लॉग में, Firebase की पुष्टि की जानकारी दिखेगी. इससे पता चलेगा कि इंिशिएलाइज़ेशन की प्रोसेस पूरी हो गई है. अगर आपने अपने ऐप्लिकेशन को नेटवर्क ऐक्सेस वाले किसी एम्युलेटर पर चलाया है, तो Firebase कंसोल आपको सूचना देगा कि आपका ऐप्लिकेशन कनेक्ट हो गया है.
अब इसे इस्तेमाल किया जा सकता है आपका C++ ऐप्लिकेशन, Firebase की सेवाओं का इस्तेमाल करने के लिए रजिस्टर और कॉन्फ़िगर किया गया हो.
(वैकल्पिक विकल्प) SDK टूल जोड़ने के लिए, ndk-build का इस्तेमाल करना
- पक्का करें कि आपके पास Android NDK v10d या उसके बाद का वर्शन हो.
Firebase C++ SDK डाउनलोड करें. इसके बाद, SDK टूल को किसी ऐसी जगह पर अनज़िप करें जहां आपके लिए काम करना आसान हो.
Firebase C++ SDK टूल, किसी खास प्लैटफ़ॉर्म के लिए नहीं है. हालांकि, इसमें प्लैटफ़ॉर्म के हिसाब से लाइब्रेरी शामिल होती हैं.
-
अपनी
local.properties
फ़ाइल खोलें. इसके बाद:firebase_cpp_sdk.dir
वैरिएबल को अनज़िप किए गए Firebase C++ SDK टूल की जगह पर सेट करें.ndk.dir
वैरिएबल को Android NDK की जगह पर सेट करें.
-
Gradle में पहले से मौजूद ndkBuild की सुविधा का इस्तेमाल करने के लिए, अपनी टॉप-लेवल डायरेक्ट्री में
jni
डायरेक्ट्री बनाएं. इसके बाद, येmake
फ़ाइलें बनाएं.-
इनके साथ
jni/Application.mk
फ़ाइल बनाएं:APP_PLATFORM:=android-14 NDK_TOOLCHAIN_VERSION=clang APP_ABI:=armeabi-v7a arm64-v8a x86 x86_64 APP_STL:=c++_static APP_MODULES:=android_main APP_CPPFLAGS+=-std=c++11
-
यहां दिए गए कॉन्टेंट के साथ
jni/Android.mk
फ़ाइल बनाएं.आपको जिस Firebase प्रॉडक्ट का इस्तेमाल करना है उसकी लाइब्रेरी शामिल करें. उदाहरण के लिए, Analytics का इस्तेमाल करने के लिए:
LOCAL_PATH:=$(call my-dir)/.. ifeq ($(FIREBASE_CPP_SDK_DIR),) $(error FIREBASE_CPP_SDK_DIR must specify the Firebase package location.) endif # With Firebase libraries for the selected build configuration (ABI + STL) STL:=$(firstword $(subst _, ,$(APP_STL))) FIREBASE_LIBRARY_PATH:=\ $(FIREBASE_CPP_SDK_DIR)/libs/android/$(TARGET_ARCH_ABI)/$(STL) # The Firebase C++ library `libfirebase_app.a` is required for all Firebase products. include $(CLEAR_VARS) LOCAL_MODULE:=firebase_app LOCAL_SRC_FILES:=$(FIREBASE_LIBRARY_PATH)/libfirebase_app.a LOCAL_EXPORT_C_INCLUDES:=$(FIREBASE_CPP_SDK_DIR)/include include $(PREBUILT_STATIC_LIBRARY) # Include the Firebase library for Google Analytics. # Note: Duplicate this block for each Firebase product that you want # to use in your app, and replace variable values as appropriate. include $(CLEAR_VARS) LOCAL_MODULE:=firebase_analytics LOCAL_SRC_FILES:=$(FIREBASE_LIBRARY_PATH)/libfirebase_analytics.a LOCAL_EXPORT_C_INCLUDES:=$(FIREBASE_CPP_SDK_DIR)/include include $(PREBUILT_STATIC_LIBRARY) include $(CLEAR_VARS) LOCAL_MODULE:=android_main # Reference your project's C++ source files LOCAL_SRC_FILES:=\ $(LOCAL_PATH)/src/common_main.cc \ $(LOCAL_PATH)/src/android/android_main.cc LOCAL_STATIC_LIBRARIES:=\ firebase_analytics \ firebase_app # this library reference must always be listed last LOCAL_WHOLE_STATIC_LIBRARIES:=\ android_native_app_glue LOCAL_C_INCLUDES:=\ $(NDK_ROOT)/sources/android/native_app_glue \ $(LOCAL_PATH)/src LOCAL_LDLIBS:=-llog -landroid -latomic LOCAL_ARM_MODE:=arm LOCAL_LDFLAGS:=-Wl,-z,defs -Wl,--no-undefined include $(BUILD_SHARED_LIBRARY) $(call import-add-path,$(NDK_ROOT)/sources/android) $(call import-module,android/native_app_glue)
-
-
अपनी टॉप-लेवल
build.gradle
फ़ाइल खोलें. इसके बाद, यह तरीका अपनाएं:-
आपको जिन Firebase प्रॉडक्ट का इस्तेमाल करना है उनके लिए, डिपेंडेंसी जोड़ें. उदाहरण के लिए, Analytics का इस्तेमाल करने के लिए:
dependencies { implementation 'com.google.firebase:firebase-analytics:21.0.0' }
-
नीचे दी गई लाइनें जोड़ें, ताकि आपका प्रोजेक्ट, अपनी
jni/Android.mk
फ़ाइल में बताई गई Firebase लाइब्रेरी को शामिल करने के लिए, Gradle की पहले से मौजूद ndk-build सहायता का इस्तेमाल कर सके.android { // ... defaultConfig { // ... externalNativeBuild.ndkBuild { arguments "FIREBASE_CPP_SDK_DIR=${project.ext.firebase_cpp_sdk_dir}", "NDK_APPLICTION_MK=jni/Application.mk", sprintf("APP_PLATFORM=android-%d", android.defaultConfig.minSdkVersion.mApiLevel) } } }
-
Android के लिए उपलब्ध लाइब्रेरी (ndk-build का इस्तेमाल करके)
Firebase के हर प्रॉडक्ट की डिपेंडेंसी अलग-अलग होती हैं. आपको जिन Firebase प्रॉडक्ट का इस्तेमाल करना है उनके लिए, सूची में दी गई सभी डिपेंडेंसी जोड़ना न भूलें.
libfirebase_app.a
जैसी Firebase C++ लाइब्रेरी जोड़ें. इसके लिए, उन्हें टॉप-लेवल jni/Android.mk
फ़ाइल में शामिल करें. com.google.firebase:firebase-auth
जैसी अन्य डिपेंडेंसी के लिए, उन्हें अपनी टॉप-लेवल build.gradle
फ़ाइल में जोड़ें.
Firebase प्रॉडक्ट | लाइब्रेरी और डिपेंडेंसी |
---|---|
AdMob |
libfirebase_admob.a (ज़रूरी है) libfirebase_analytics.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-ads:19.8.0' (ज़रूरी है) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
Analytics |
libfirebase_analytics.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
App Check |
libfirebase_app_check.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-appcheck:17.0.0'
|
Authentication |
libfirebase_auth.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-auth:21.0.5'
|
Cloud Firestore |
libfirebase_firestore.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-firestore:24.1.2'
|
Cloud Functions |
libfirebase_functions.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-functions:20.1.0'
|
Cloud Messaging |
libfirebase_messaging.a (सुझाया गया) libfirebase_analytics.a (ज़रूरी) libfirebase_app.a implementation 'com.google.firebase:firebase-messaging:23.0.5' (सुझाया गया) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
Cloud Storage |
libfirebase_storage.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-storage:20.0.1'
|
Dynamic Links |
ibfirebase_dynamic_links.a (सुझाया गया) libfirebase_analytics.a (ज़रूरी) libfirebase_app.a implementation 'com.google.firebase:firebase-dynamic-links:21.0.1' (सुझाया गया) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
Realtime Database |
libfirebase_database.a (ज़रूरी है) libfirebase_app.a implementation 'com.google.firebase:firebase-database:20.0.5'
|
Remote Config |
libfirebase_remote_config.a (सुझाया गया) libfirebase_analytics.a (ज़रूरी) libfirebase_app.a implementation 'com.google.firebase:firebase-config:21.1.0' (सुझाया गया) implementation 'com.google.firebase:firebase-analytics:21.0.0'
|
उपलब्ध लाइब्रेरी
रेफ़रंस दस्तावेज़ में C++ Firebase लाइब्रेरी के बारे में ज़्यादा जानें. इसके अलावा, GitHub पर मौजूद हमारे ओपन-सोर्स SDK रिलीज़ में भी इस बारे में जानकारी मिल सकती है.
Android के लिए उपलब्ध लाइब्रेरी (CMake का इस्तेमाल करके)
ध्यान दें कि Apple प्लैटफ़ॉर्म के लिए C++ लाइब्रेरी, इस सेटअप पेज के Apple प्लैटफ़ॉर्म (iOS+) वर्शन पर दी गई हैं.
Firebase प्रॉडक्ट | लाइब्रेरी के रेफ़रंस ( build.gradle फ़ाइल के लिए firebaseCpp.dependencies ) |
लाइब्रेरी के रेफ़रंस ( CMakeLists.txt फ़ाइल के लिए firebase_libs ) |
---|---|---|
AdMob | admob |
firebase_admob (ज़रूरी है) firebase_analytics (ज़रूरी है) firebase_app
|
Analytics | analytics |
firebase_analytics (ज़रूरी है) firebase_app
|
App Check | appCheck |
firebase_app_check (ज़रूरी है) firebase_app
|
Authentication | auth |
firebase_auth (ज़रूरी है) firebase_app
|
Cloud Firestore | firestore |
firebase_firestore (ज़रूरी है) firebase_auth (ज़रूरी है) firebase_app
|
Cloud Functions | functions |
firebase_functions (ज़रूरी है) firebase_app
|
Cloud Messaging | messaging |
firebase_messaging (सुझाया गया) firebase_analytics (ज़रूरी) firebase_app
|
Cloud Storage | storage |
firebase_storage (ज़रूरी है) firebase_app
|
Dynamic Links | dynamicLinks |
firebase_dynamic_links (सुझाया गया) firebase_analytics (ज़रूरी) firebase_app
|
Realtime Database | database |
firebase_database (ज़रूरी है) firebase_app
|
Remote Config | remoteConfig |
firebase_remote_config (सुझाया गया) firebase_analytics (ज़रूरी) firebase_app
|
मोबाइल सेटअप के बारे में ज़्यादा जानकारी
NDK क्रैश रिपोर्ट पाना
Firebase Crashlytics, Android की नेटिव लाइब्रेरी का इस्तेमाल करने वाले ऐप्लिकेशन के लिए, क्रैश रिपोर्टिंग की सुविधा देता है. ज़्यादा जानने के लिए, Android NDK क्रैश रिपोर्ट पाना लेख पढ़ें.
कस्टम बिल्ड सिस्टम
google-services.json
को .xml
संसाधनों में बदलने के लिए, Firebase स्क्रिप्ट generate_xml_from_google_services_json.py
उपलब्ध कराता है. इन संसाधनों को अपने प्रोजेक्ट में शामिल किया जा सकता है. यह स्क्रिप्ट वही बदलाव लागू करती है जो Android ऐप्लिकेशन बनाते समय, Google Play services Gradle प्लग इन करता है.
अगर Gradle का इस्तेमाल करके बिल्ड नहीं किया जाता है (उदाहरण के लिए, ndk-build, मेकफ़ाइलें, Visual Studio वगैरह का इस्तेमाल किया जाता है), तो इस स्क्रिप्ट का इस्तेमाल करके Android स्ट्रिंग रिसॉर्स को अपने-आप जनरेट किया जा सकता है.
ProGuard
कई Android बिल्ड सिस्टम, रिलीज़ मोड में बिल्ड के लिए ProGuard का इस्तेमाल करते हैं. इससे ऐप्लिकेशन का साइज़ कम होता है और Java सोर्स कोड को सुरक्षित रखा जाता है.
ProGuard का इस्तेमाल करने पर, आपको libs/android/*.pro
उन Firebase C++ लाइब्रेरी से जुड़ी फ़ाइलें जोड़नी होंगी जिनका इस्तेमाल आपने ProGuard कॉन्फ़िगरेशन में किया है.
उदाहरण के लिए, Gradle में Google Analytics का इस्तेमाल करने पर, आपकी build.gradle
फ़ाइल इस तरह दिखेगी:
android { // ... buildTypes { release { minifyEnabled true proguardFile getDefaultProguardFile('your-project-proguard-config.txt') proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/app.pro") proguardFile file(project.ext.your_local_firebase_sdk_dir + "/libs/android/analytics.pro") // ... and so on, for each Firebase C++ library that you're using } } }
Google Play services की ज़रूरी शर्त
ज़्यादातर Firebase C++ लाइब्रेरी के लिए, क्लाइंट के Android डिवाइस पर Google Play services होना ज़रूरी है. अगर Firebase C++ लाइब्रेरी को शुरू करने पर, kInitResultFailedMissingDependency
दिखता है, तो इसका मतलब है कि क्लाइंट डिवाइस पर Google Play services उपलब्ध नहीं है. इसका मतलब है कि उसे अपडेट करना होगा, फिर से चालू करना होगा, अनुमतियां ठीक करनी होंगी वगैरह. जब तक क्लाइंट डिवाइस की स्थिति ठीक नहीं हो जाती, तब तक Firebase लाइब्रेरी का इस्तेमाल नहीं किया जा सकता.
google_play_services/availability.h
में मौजूद फ़ंक्शन का इस्तेमाल करके, यह पता लगाया जा सकता है कि क्लाइंट डिवाइस पर Google Play services उपलब्ध क्यों नहीं है. साथ ही, इस समस्या को ठीक करने की कोशिश भी की जा सकती है.
नीचे दी गई टेबल में बताया गया है कि काम करने वाले हर Firebase प्रॉडक्ट के लिए, क्लाइंट डिवाइस पर Google Play services की ज़रूरत है या नहीं.
Firebase C++ लाइब्रेरी | क्या क्लाइंट डिवाइस पर Google Play services की ज़रूरत है? |
---|---|
AdMob | आम तौर पर ज़रूरी नहीं है |
Analytics | ज़रूरी नहीं है |
Authentication | ज़रूरी है |
Cloud Firestore | ज़रूरी है |
Cloud Functions | ज़रूरी है |
Cloud Messaging | ज़रूरी है |
Cloud Storage | ज़रूरी है |
Dynamic Links | ज़रूरी है |
Realtime Database | ज़रूरी है |
Remote Config | ज़रूरी है |
AdMob और Google Play services
Google Mobile Ads SDK for Android के ज़्यादातर वर्शन, क्लाइंट डिवाइस पर Google Play services के बिना भी ठीक से काम कर सकते हैं. हालांकि, अगर ऊपर दी गई स्टैंडर्ड com.google.firebase:firebase-ads
डिपेंडेंसी के बजाय, com.google.android.gms:play-services-ads-lite
डिपेंडेंसी का इस्तेमाल किया जा रहा है, तो Google Play services की ज़रूरत होगी.
AdMob को शुरू करने पर, kInitResultFailedMissingDependency
वैल्यू सिर्फ़ तब दिखेगी, जब ये दोनों शर्तें पूरी हों:
- क्लाइंट डिवाइस पर Google Play services उपलब्ध नहीं है.
com.google.android.gms:play-services-ads-lite
का इस्तेमाल किया जा रहा है.
डेस्कटॉप वर्कफ़्लो सेट अप करना (बीटा वर्शन)
गेम बनाते समय, इसे अक्सर डेस्कटॉप प्लैटफ़ॉर्म पर टेस्ट करना बहुत आसान होता है. इसके बाद, डेवलपमेंट के दौरान इसे मोबाइल डिवाइसों पर डिप्लॉय और टेस्ट किया जाता है. इस वर्कफ़्लो के साथ काम करने के लिए, हम 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 Authentication और Firebase Realtime Database को जोड़ने का तरीका बता रहे हैं.
अपने
FIREBASE_CPP_SDK_DIR
एनवायरमेंट वैरिएबल को, अनज़िप किए गए Firebase C++ SDK टूल की जगह पर सेट करें.अपने प्रोजेक्ट की
CMakeLists.txt
फ़ाइल में, यहां दिया गया कॉन्टेंट जोड़ें. इसमें, उन Firebase प्रॉडक्ट के लिए लाइब्रेरी भी शामिल करें जिनका आपको इस्तेमाल करना है. उदाहरण के लिए, 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}")
अपना 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 बनाम मल्टी-थ्रेड डीएलएल /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) प्लैटफ़ॉर्म के लिए उपलब्ध हैं.
ध्यान दें कि 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 कंसोल में, अपने प्रोजेक्ट के लिए बजट से जुड़ी सूचनाएं सेट अप करें.
- Firebase कंसोल में, इस्तेमाल और बिलिंग डैशबोर्ड पर नज़र रखें. इससे आपको Firebase की कई सेवाओं में, अपने प्रोजेक्ट के इस्तेमाल की पूरी जानकारी मिलेगी.
- Firebase लॉन्च चेकलिस्ट देखें.