আমাদের Firebase C++ SDK এর সাহায্যে আপনার C++ গেমগুলিকে শক্তিশালী করুন যা Firebase SDK-এর উপরে একটি C++ ইন্টারফেস প্রদান করে।
কোনো প্ল্যাটফর্ম-নেটিভ কোড না লিখেই সম্পূর্ণরূপে আপনার C++ কোড থেকে Firebase অ্যাক্সেস করুন। Firebase SDK এছাড়াও C++ ডেভেলপারদের কাছে পরিচিত একটি ইন্টারফেসে Firebase দ্বারা ব্যবহৃত অনেক ভাষা-নির্দিষ্ট ইডিয়ম অনুবাদ করে।
আমাদের Firebase গেম পৃষ্ঠায় Firebase দিয়ে আপনার গেমগুলিকে শক্তিশালী করার বিষয়ে আরও তথ্য খুঁজুন।
ইতিমধ্যে আপনার C++ প্রকল্পে Firebase যোগ করেছেন? নিশ্চিত করুন যে আপনি Firebase C++ SDK- এর সর্বশেষ সংস্করণ ব্যবহার করছেন।
পূর্বশর্ত
আপনার পছন্দের সম্পাদক বা IDE ইনস্টল করুন, যেমন Android Studio, IntelliJ, বা VS Code।
Android SDK পান।
নিশ্চিত করুন যে আপনার প্রকল্প এই প্রয়োজনীয়তাগুলি পূরণ করে:
লক্ষ্য API স্তর 21 (ললিপপ) বা উচ্চতর
Gradle ব্যবহার করে এবং CMake এর সাথে কনফিগার করা হয়েছে
একটি শারীরিক ডিভাইস সেট আপ করুন বা আপনার অ্যাপ চালানোর জন্য একটি এমুলেটর ব্যবহার করুন।
এমুলেটরদের অবশ্যই Google Play এর সাথে একটি এমুলেটর ছবি ব্যবহার করতে হবে।
কিছু C++ লাইব্রেরির জন্য, ক্লায়েন্ট ডিভাইসে Google Play পরিষেবার প্রয়োজন হয়; এই পৃষ্ঠায় তালিকা পর্যালোচনা করুন.
আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন ।
ধাপ 2 : একটি ফায়ারবেস প্রকল্প তৈরি করুন
আপনার C++ প্রজেক্টে Firebase যোগ করার আগে, আপনার C++ প্রোজেক্টের সাথে সংযোগ করার জন্য আপনাকে একটি Firebase প্রজেক্ট তৈরি করতে হবে। Firebase প্রকল্পগুলি সম্পর্কে আরও জানতে Firebase প্রকল্পগুলি বুঝতে দেখুন৷
একটি ফায়ারবেস প্রকল্প তৈরি করুন
Firebase কনসোলে , প্রজেক্ট যোগ করুন ক্লিক করুন।
একটি বিদ্যমান Google Cloud প্রকল্পে Firebase সংস্থান যোগ করতে, এর প্রকল্পের নাম লিখুন বা ড্রপডাউন মেনু থেকে এটি নির্বাচন করুন৷
একটি নতুন প্রকল্প তৈরি করতে, পছন্দসই প্রকল্পের নাম লিখুন। এছাড়াও আপনি ঐচ্ছিকভাবে প্রকল্পের নামের নীচে প্রদর্শিত প্রকল্প ID সম্পাদনা করতে পারেন৷
অনুরোধ করা হলে, Firebase শর্তাবলী পর্যালোচনা করুন এবং স্বীকার করুন।
অবিরত ক্লিক করুন.
(ঐচ্ছিক) আপনার প্রোজেক্টের জন্য Google Analytics সেট আপ করুন, যা আপনাকে নিম্নলিখিত Firebase পণ্যগুলির যেকোনো একটি ব্যবহার করে সর্বোত্তম অভিজ্ঞতা পেতে সক্ষম করে:
হয় একটি বিদ্যমান Google Analytics অ্যাকাউন্ট নির্বাচন করুন বা একটি নতুন অ্যাকাউন্ট তৈরি করুন৷
আপনি যদি একটি নতুন অ্যাকাউন্ট তৈরি করেন, আপনার Analytics রিপোর্টিং অবস্থান নির্বাচন করুন, তারপর আপনার প্রকল্পের জন্য ডেটা শেয়ারিং সেটিংস এবং Google Analytics শর্তাদি গ্রহণ করুন৷
প্রোজেক্ট তৈরি করুন ক্লিক করুন (বা ফায়ারবেস যোগ করুন , যদি আপনি একটি বিদ্যমান Google Cloud প্রকল্প ব্যবহার করেন)।
Firebase স্বয়ংক্রিয়ভাবে আপনার Firebase প্রকল্পের জন্য সংস্থান সরবরাহ করে। প্রক্রিয়াটি সম্পূর্ণ হলে, আপনাকে Firebase কনসোলে আপনার Firebase প্রকল্পের ওভারভিউ পৃষ্ঠায় নিয়ে যাওয়া হবে।
ধাপ 3 : Firebase-এ আপনার অ্যাপ নিবন্ধন করুন
আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস ব্যবহার করতে, আপনাকে আপনার ফায়ারবেস প্রকল্পের সাথে আপনার অ্যাপটি নিবন্ধন করতে হবে। আপনার অ্যাপ নিবন্ধন করাকে প্রায়ই আপনার প্রকল্পে আপনার অ্যাপকে "সংযোজন" বলা হয়।
Firebase কনসোলে যান।
প্রোজেক্ট ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন (
) বা অ্যাপ যোগ করুন ।অ্যান্ড্রয়েড প্যাকেজ নামের ক্ষেত্রে আপনার অ্যাপের প্যাকেজের নাম লিখুন।
একটি প্যাকেজ নাম কি, এবং আপনি এটি কোথায় পাবেন?
একটি প্যাকেজ নাম অনন্যভাবে ডিভাইসে এবং Google Play স্টোরে আপনার অ্যাপটিকে সনাক্ত করে।
একটি প্যাকেজের নাম প্রায়ই একটি অ্যাপ্লিকেশন আইডি হিসাবে উল্লেখ করা হয়।
আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে আপনার অ্যাপের প্যাকেজের নাম খুঁজুন, সাধারণত
app/build.gradle
(উদাহরণ প্যাকেজের নাম:com.yourcompany.yourproject
)।সচেতন থাকুন যে প্যাকেজ নামের মানটি কেস-সংবেদনশীল, এবং এটি আপনার Firebase প্রোজেক্টে নিবন্ধিত হওয়ার পরে এই Firebase Android অ্যাপের জন্য পরিবর্তন করা যাবে না।
(ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1 ।
ফায়ারবেসের মধ্যে অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1 কীভাবে ব্যবহার করা হয়?
অ্যাপের ডাকনাম : একটি অভ্যন্তরীণ, সুবিধার শনাক্তকারী যা শুধুমাত্র Firebase কনসোলে আপনার কাছে দৃশ্যমান
ডিবাগ সাইনিং সার্টিফিকেট SHA-1 : Firebase Authentication ( Google সাইন ইন বা ফোন নম্বর সাইন ইন ব্যবহার করার সময়) এবং Firebase Dynamic Links একটি SHA-1 হ্যাশ প্রয়োজন।
রেজিস্টার অ্যাপে ক্লিক করুন।
ধাপ 4 : Firebase কনফিগারেশন ফাইল যোগ করুন
আপনার Firebase অ্যান্ড্রয়েড কনফিগারেশন ফাইল পেতে ডাউনলোড google-services.json এ ক্লিক করুন।
এই কনফিগার ফাইল সম্পর্কে আপনার কি জানা দরকার?
Firebase কনফিগারেশন ফাইলটিতে আপনার প্রকল্পের জন্য অনন্য, কিন্তু অ-গোপন শনাক্তকারী রয়েছে। এই কনফিগারেশন ফাইল সম্পর্কে আরও জানতে, Firebase প্রজেক্ট বুঝতে দেখুন।
আপনি যে কোনো সময় আপনার Firebase কনফিগারেশন ফাইলটি আবার ডাউনলোড করতে পারেন।
নিশ্চিত করুন যে কনফিগার ফাইলের নাম অতিরিক্ত অক্ষরের সাথে যুক্ত করা হয়নি, যেমন
(2)
।
একটি IDE-তে আপনার C++ প্রকল্প খুলুন, তারপর আপনার প্রজেক্টে আপনার কনফিগার ফাইল যোগ করুন:
Gradle বিল্ডস — আপনার কনফিগার ফাইলটি আপনার শীর্ষ-স্তরের
build.gradle
ফাইলের মতো একই ডিরেক্টরিতে যুক্ত করুন।অন্যান্য বিল্ড সিস্টেম — অ্যান্ড্রয়েড স্ট্রিং রিসোর্স তৈরি করতে নীচের কাস্টম বিল্ড সিস্টেমগুলি দেখুন৷
(শুধুমাত্র গ্রেডল তৈরি করে) আপনার C++ প্রকল্পে ফায়ারবেস পরিষেবাগুলি সক্ষম করতে, আপনার শীর্ষ-স্তরের
build.gradle
ফাইলে google-services প্লাগইন যোগ করুন।Google Services Gradle প্লাগইন অন্তর্ভুক্ত করতে নিয়ম যোগ করুন। আপনার কাছে Google এর Maven সংগ্রহস্থলও আছে কিনা তা পরীক্ষা করে দেখুন।
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 যোগ করা চালিয়ে যান।
ধাপ 5 : 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"
আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত
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 কনসোল আপনাকে জানায় যে আপনার অ্যাপ সংযোগ সম্পূর্ণ হয়েছে।
আপনি সব প্রস্তুত! আপনার C++ অ্যাপটি ফায়ারবেস পরিষেবা ব্যবহার করার জন্য নিবন্ধিত এবং কনফিগার করা হয়েছে।
(ঐচ্ছিক বিকল্প) SDK যোগ করতে ndk-build ব্যবহার করুন
- নিশ্চিত করুন যে আপনার কাছে Android NDK v10d বা তার পরে আছে।
Firebase C++ SDK ডাউনলোড করুন, তারপর সুবিধাজনক জায়গায় SDK আনজিপ করুন।
Firebase C++ SDK প্ল্যাটফর্ম-নির্দিষ্ট নয়, তবে এতে প্ল্যাটফর্ম-নির্দিষ্ট লাইব্রেরি রয়েছে।
আপনার
local.properties
ফাইল খুলুন, তারপর:-
firebase_cpp_sdk.dir
ভেরিয়েবলটিকে আনজিপ করা Firebase C++ SDK-এর অবস্থানে সেট করুন। - Android NDK- এর অবস্থানে
ndk.dir
ভেরিয়েবল সেট করুন।
-
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) } } }
অ্যান্ড্রয়েডের জন্য উপলব্ধ লাইব্রেরি (এনডিকে-বিল্ড ব্যবহার করে)
প্রতিটি ফায়ারবেস পণ্যের বিভিন্ন নির্ভরতা রয়েছে। আপনি যে Firebase পণ্যগুলি ব্যবহার করতে চান তার জন্য সমস্ত তালিকাভুক্ত নির্ভরতা যোগ করতে ভুলবেন না।
শীর্ষ-স্তরের jni/Android.mk
ফাইলে অন্তর্ভুক্ত করে Firebase C++ লাইব্রেরি (যেমন libfirebase_app.a
) যোগ করুন। অন্যান্য নির্ভরতার জন্য (যেমন com.google.firebase:firebase-auth
), সেগুলিকে আপনার শীর্ষ-স্তরের build.gradle
ফাইলে যোগ করুন।
ফায়ারবেস পণ্য | লাইব্রেরি এবং নির্ভরতা |
---|---|
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' |
উপলব্ধ লাইব্রেরি
রেফারেন্স ডকুমেন্টেশনে এবং GitHub- এ আমাদের ওপেন-সোর্স SDK রিলিজে C++ ফায়ারবেস লাইব্রেরি সম্পর্কে আরও জানুন।
অ্যান্ড্রয়েডের জন্য উপলব্ধ লাইব্রেরি (সিমেক ব্যবহার করে)
মনে রাখবেন যে Apple প্ল্যাটফর্মের জন্য C++ লাইব্রেরিগুলি এই সেটআপ পৃষ্ঠার Apple প্ল্যাটফর্ম (iOS+) সংস্করণে তালিকাভুক্ত করা হয়েছে।
ফায়ারবেস পণ্য | লাইব্রেরি রেফারেন্স ( firebaseCpp.dependencies build.gradle ফাইলের জন্য) | লাইব্রেরি রেফারেন্স ( firebase_libs CMakeLists.txt ফাইলের জন্য) |
---|---|---|
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 NDK ক্র্যাশ রিপোর্ট পান দেখুন।
কাস্টম বিল্ড সিস্টেম
Firebase google-services.json
.xml
রিসোর্সে রূপান্তর করতে generate_xml_from_google_services_json.py
স্ক্রিপ্ট প্রদান করে যা আপনি আপনার প্রকল্পে অন্তর্ভুক্ত করতে পারেন। এই স্ক্রিপ্টটি একই রূপান্তর প্রয়োগ করে যা Google Play পরিষেবা গ্রেডল প্লাগইন অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরি করার সময় সম্পাদন করে।
আপনি যদি Gradle ব্যবহার করে নির্মাণ না করেন (উদাহরণস্বরূপ, আপনি ndk-build, makefiles, Visual Studio, ইত্যাদি ব্যবহার করেন), তাহলে আপনি এই স্ক্রিপ্টটি ব্যবহার করে Android স্ট্রিং রিসোর্স তৈরি করতে পারেন।
প্রোগার্ড
অনেক অ্যান্ড্রয়েড বিল্ড সিস্টেম অ্যাপ্লিকেশন আকার সঙ্কুচিত করতে এবং জাভা সোর্স কোড সুরক্ষিত করতে রিলিজ মোডে বিল্ডের জন্য প্রোগার্ড ব্যবহার করে।
আপনি যদি ProGuard ব্যবহার করেন, তাহলে আপনাকে আপনার ProGuard কনফিগারেশনে যে Firebase C++ লাইব্রেরিগুলি ব্যবহার করছেন তার সাথে সংশ্লিষ্ট libs/android/*.pro
এ ফাইলগুলি যোগ করতে হবে৷
উদাহরণস্বরূপ, 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 পরিষেবার প্রয়োজনীয়তা
বেশিরভাগ ফায়ারবেস সি++ লাইব্রেরিতে ক্লায়েন্টের অ্যান্ড্রয়েড ডিভাইসে Google Play পরিষেবা থাকা প্রয়োজন। যদি একটি ফায়ারবেস C++ লাইব্রেরি আরম্ভ করার সময় kInitResultFailedMissingDependency
ফেরত দেয়, তাহলে এর মানে হল ক্লায়েন্ট ডিভাইসে Google Play পরিষেবা উপলব্ধ নেই (অর্থাৎ এটি আপডেট করা, পুনরায় সক্রিয় করা, অনুমতি স্থির করা ইত্যাদি)। ক্লায়েন্ট ডিভাইসের পরিস্থিতি ঠিক না হওয়া পর্যন্ত Firebase লাইব্রেরি ব্যবহার করা যাবে না।
আপনি google_play_services/availability.h
এর ফাংশনগুলি ব্যবহার করে ক্লায়েন্ট ডিভাইসে কেন Google Play পরিষেবাগুলি অনুপলব্ধ (এবং এটি ঠিক করার চেষ্টা করুন) খুঁজে পেতে পারেন।
প্রতিটি সমর্থিত Firebase পণ্যের জন্য একটি ক্লায়েন্ট ডিভাইসে Google Play পরিষেবার প্রয়োজন কিনা তা নিম্নলিখিত সারণীতে রয়েছে।
ফায়ারবেস সি++ লাইব্রেরি | ক্লায়েন্ট ডিভাইসে Google Play পরিষেবার প্রয়োজন? |
---|---|
AdMob | প্রয়োজন নেই (সাধারণত) |
Analytics | প্রয়োজন নেই |
Authentication | প্রয়োজন |
Cloud Firestore | প্রয়োজন |
Cloud Functions | প্রয়োজন |
Cloud Messaging | প্রয়োজন |
Cloud Storage | প্রয়োজন |
Dynamic Links | প্রয়োজন |
Realtime Database | প্রয়োজন |
Remote Config | প্রয়োজন |
AdMob এবং Google Play পরিষেবা
অ্যান্ড্রয়েডের জন্য Google Mobile Ads SDK-এর বেশিরভাগ সংস্করণ ক্লায়েন্ট ডিভাইসে Google Play পরিষেবা ছাড়াই সঠিকভাবে কাজ করতে পারে। যাইহোক, আপনি যদি উপরে তালিকাভুক্ত স্ট্যান্ডার্ড com.google.firebase:firebase-ads
com.google.android.gms:play-services-ads-lite
নির্ভরতা ব্যবহার করেন, তাহলে Google Play পরিষেবার প্রয়োজন হয় ।
AdMob প্রারম্ভিকতা শুধুমাত্র kInitResultFailedMissingDependency
প্রদান করবে যখন নিম্নলিখিত দুটিই সত্য হবে:
- ক্লায়েন্ট ডিভাইসে Google Play পরিষেবাগুলি অনুপলব্ধ৷
- আপনি
com.google.android.gms:play-services-ads-lite
ব্যবহার করছেন।
একটি ডেস্কটপ ওয়ার্কফ্লো সেট আপ করুন ( বিটা )
আপনি যখন একটি গেম তৈরি করছেন, তখন আপনার গেমটিকে প্রথমে ডেস্কটপ প্ল্যাটফর্মে পরীক্ষা করা অনেক সহজ, তারপর ডেভেলপমেন্টের পরে মোবাইল ডিভাইসে স্থাপন এবং পরীক্ষা করা। এই কর্মপ্রবাহকে সমর্থন করার জন্য, আমরা Firebase C++ SDK-এর একটি উপসেট প্রদান করি যা Windows, macOS, Linux এবং C++ সম্পাদকের মধ্যে থেকে চলতে পারে।
ডেস্কটপ ওয়ার্কফ্লোগুলির জন্য, আপনাকে নিম্নলিখিতগুলি সম্পূর্ণ করতে হবে:
- CMake এর জন্য আপনার C++ প্রকল্প কনফিগার করুন।
- একটি ফায়ারবেস প্রকল্প তৈরি করুন
- Firebase-এর সাথে আপনার অ্যাপ (iOS বা Android) নিবন্ধন করুন
- একটি মোবাইল-প্ল্যাটফর্ম ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন
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 কনসোল সেটআপ ওয়ার্কফ্লোতে প্রবেশ করেছেন। কনফিগার ফাইল সম্পর্কে আরও জানতে ফায়ারবেস প্রজেক্ট বুঝতে ভিজিট করুন।
আপনার C++ প্রকল্পে Firebase SDK যোগ করুন।
নিচের ধাপগুলো আপনার C++ প্রোজেক্টে যেকোনও সমর্থিত ফায়ারবেস প্রোডাক্ট যোগ করার উদাহরণ হিসেবে কাজ করে। এই উদাহরণে, আমরা 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-এ স্বতন্ত্র ডেস্কটপ বিল্ডে ব্যবহার করতে সক্ষম করে।
ফায়ারবেস পণ্য | লাইব্রেরি রেফারেন্স (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 |
Windows, macOS, এবং Linux-এর জন্য তৈরি করার সময় সুবিধার জন্য Firebase অবশিষ্ট ডেস্কটপ লাইব্রেরিগুলিকে স্টাব (নন-ফাংশনাল) বাস্তবায়ন হিসাবে প্রদান করে। অতএব, ডেস্কটপ টার্গেট করার জন্য আপনাকে শর্তসাপেক্ষে কোড কম্পাইল করতে হবে না।
Realtime Database ডেস্কটপ
ডেস্কটপের জন্য Realtime Database SDK আপনার ডাটাবেস অ্যাক্সেস করতে REST ব্যবহার করে, তাই আপনাকে অবশ্যই ডেস্কটপে Query::OrderByChild()
এর সাথে ব্যবহার করা সূচীগুলি ঘোষণা করতে হবে বা আপনার শ্রোতারা ব্যর্থ হবেন৷
ডেস্কটপ সেটআপের জন্য অতিরিক্ত তথ্য
উইন্ডোজ লাইব্রেরি
উইন্ডোজের জন্য, লাইব্রেরি সংস্করণগুলি নিম্নলিখিতগুলির উপর ভিত্তি করে প্রদান করা হয়:
- বিল্ড প্ল্যাটফর্ম: 32-বিট (x86) বনাম 64-বিট (x64) মোড
- উইন্ডোজ রানটাইম পরিবেশ: মাল্টিথ্রেডেড/এমটি বনাম মাল্টিথ্রেডেড ডিএলএল/এমডি
- লক্ষ্য: রিলিজ বনাম ডিবাগ
উল্লেখ্য যে নিম্নলিখিত লাইব্রেরিগুলি ভিজ্যুয়াল স্টুডিও 2015 এবং 2017 ব্যবহার করে পরীক্ষা করা হয়েছিল।
Windows-এ C++ ডেস্কটপ অ্যাপ তৈরি করার সময়, নিম্নলিখিত Windows SDK লাইব্রেরিগুলিকে আপনার প্রোজেক্টে লিঙ্ক করুন। আরও তথ্যের জন্য আপনার কম্পাইলার ডকুমেন্টেশনের সাথে পরামর্শ করুন।
ফায়ারবেস সি++ লাইব্রেরি | উইন্ডোজ 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 (ডারউইনের জন্য), 64-বিট (x86_64) প্ল্যাটফর্মের জন্য লাইব্রেরি সংস্করণ সরবরাহ করা হয়। ফ্রেমওয়ার্ক আপনার সুবিধার জন্য প্রদান করা হয়.
মনে রাখবেন যে macOS লাইব্রেরিগুলি Xcode 13.3.1 ব্যবহার করে পরীক্ষা করা হয়েছে।
macOS-এ C++ ডেস্কটপ অ্যাপ তৈরি করার সময়, আপনার প্রোজেক্টে নিম্নলিখিত লিঙ্ক করুন:
-
pthread
সিস্টেম লাইব্রেরি -
CoreFoundation
ম্যাকোস সিস্টেম ফ্রেমওয়ার্ক -
Foundation
macOS সিস্টেম ফ্রেমওয়ার্ক -
Security
macOS সিস্টেম ফ্রেমওয়ার্ক -
GSS
macOS সিস্টেম ফ্রেমওয়ার্ক -
Kerberos
macOS সিস্টেম ফ্রেমওয়ার্ক -
SystemConfiguration
macOS সিস্টেম ফ্রেমওয়ার্ক
আরও তথ্যের জন্য আপনার কম্পাইলার ডকুমেন্টেশনের সাথে পরামর্শ করুন।
লিনাক্স লাইব্রেরি
লিনাক্সের জন্য, 32-বিট (i386) এবং 64-বিট (x86_64) প্ল্যাটফর্মের জন্য লাইব্রেরি সংস্করণ সরবরাহ করা হয়।
উল্লেখ্য যে লিনাক্স লাইব্রেরিগুলি উবুন্টুতে GCC 4.8.0, GCC 7.2.0, এবং Clang 5.0 ব্যবহার করে পরীক্ষা করা হয়েছিল।
লিনাক্সে C++ ডেস্কটপ অ্যাপ তৈরি করার সময়, আপনার প্রোজেক্টের সাথে pthread
সিস্টেম লাইব্রেরি লিঙ্ক করুন। আরও তথ্যের জন্য আপনার কম্পাইলার ডকুমেন্টেশনের সাথে পরামর্শ করুন। আপনি যদি GCC 5 বা তার পরে তৈরি করেন, -D_GLIBCXX_USE_CXX11_ABI=0
সংজ্ঞায়িত করুন।
পরবর্তী পদক্ষেপ
ফায়ারবেস অ্যাপের নমুনা অন্বেষণ করুন।
GitHub-এ ওপেন সোর্স SDK অন্বেষণ করুন।
আপনার অ্যাপ চালু করার জন্য প্রস্তুত করুন:
- Google Cloud কনসোলে আপনার প্রকল্পের জন্য বাজেট সতর্কতা সেট আপ করুন।
- একাধিক Firebase পরিষেবা জুড়ে আপনার প্রকল্পের ব্যবহারের সামগ্রিক চিত্র পেতে Firebase কনসোলে ব্যবহার এবং বিলিং ড্যাশবোর্ড নিরীক্ষণ করুন৷
- Firebase লঞ্চ চেকলিস্ট পর্যালোচনা করুন।