আপনার C++ প্রকল্পে Firebase যোগ করুন

আমাদের Firebase C++ SDK-গুলির মাধ্যমে আপনার C++ গেমগুলিকে আরও শক্তিশালী করে তুলুন, যা Firebase SDK-গুলির উপরে একটি C++ ইন্টারফেস প্রদান করে।

কোনো প্ল্যাটফর্ম-নেটিভ কোড না লিখেই, আপনার C++ কোড থেকে সম্পূর্ণরূপে Firebase অ্যাক্সেস করুন। Firebase SDK, Firebase-এ ব্যবহৃত অনেক ভাষা-নির্দিষ্ট ইডিওমকেও এমন একটি ইন্টারফেসে অনুবাদ করে যা C++ ডেভেলপারদের কাছে বেশি পরিচিত।

ফায়ারবেসের সাহায্যে আপনার গেমগুলোকে আরও শক্তিশালী করার বিষয়ে আরও তথ্য জানতে আমাদের ফায়ারবেস গেমস পেজটি দেখুন।

আপনার C++ প্রজেক্টে ইতিমধ্যেই Firebase যোগ করেছেন? তাহলে নিশ্চিত করুন যে আপনি Firebase C++ SDK- এর সর্বশেষ সংস্করণটি ব্যবহার করছেন।


পূর্বশর্ত

  • আপনার পছন্দের এডিটর বা আইডিই, যেমন অ্যান্ড্রয়েড স্টুডিও, ইন্টেলিজ বা ভিএস কোড ইনস্টল করুন।

  • অ্যান্ড্রয়েড এসডিকে সংগ্রহ করুন।

  • নিশ্চিত করুন যে আপনার প্রকল্পটি এই প্রয়োজনীয়তাগুলো পূরণ করে:

    • এপিআই লেভেল ২৩ (মার্শমেলো) বা তার উচ্চতর সংস্করণকে লক্ষ্য করে।

    • Gradle ব্যবহার করে এবং CMake দিয়ে কনফিগার করা হয়েছে।

  • আপনার অ্যাপটি চালানোর জন্য একটি ফিজিক্যাল ডিভাইস সেট আপ করুন অথবা একটি এমুলেটর ব্যবহার করুন।

    • এমুলেটরগুলোকে অবশ্যই গুগল প্লে সহ একটি এমুলেটর ইমেজ ব্যবহার করতে হবে।

    • কিছু C++ লাইব্রেরির জন্য ক্লায়েন্ট ডিভাইসে গুগল প্লে সার্ভিসেস প্রয়োজন হয়; এই পৃষ্ঠার তালিকাটি পর্যালোচনা করুন।

  • আপনার গুগল অ্যাকাউন্ট ব্যবহার করে ফায়ারবেসে সাইন ইন করুন

ধাপ ২ : একটি ফায়ারবেস প্রজেক্ট তৈরি করুন।

আপনার C++ প্রজেক্টে Firebase যোগ করার আগে, সেটির সাথে সংযোগ স্থাপনের জন্য আপনাকে একটি Firebase প্রজেক্ট তৈরি করতে হবে। Firebase প্রজেক্ট সম্পর্কে আরও জানতে "Understand Firebase Projects" অংশটি দেখুন।

ধাপ ৩ : ফায়ারবেসে আপনার অ্যাপটি নিবন্ধন করুন।

আপনার অ্যান্ড্রয়েড অ্যাপে ফায়ারবেস ব্যবহার করতে হলে, আপনাকে আপনার ফায়ারবেস প্রজেক্টের সাথে অ্যাপটি রেজিস্টার করতে হবে। অ্যাপ রেজিস্টার করাকে প্রায়শই প্রজেক্টে অ্যাপটি 'অ্যাড' করা বলা হয়।

  1. Firebase কনসোলে যান।

  2. প্রজেক্ট ওভারভিউ পেজের মাঝখানে, সেটআপ ওয়ার্কফ্লো চালু করতে অ্যান্ড্রয়েড আইকনে ( ) অথবা 'Add app'-এ ক্লিক করুন।

  3. অ্যান্ড্রয়েড প্যাকেজ নেম ফিল্ডে আপনার অ্যাপের প্যাকেজ নেমটি লিখুন।

  4. (ঐচ্ছিক) একটি অ্যাপ ডাকনাম দিন, যা একটি অভ্যন্তরীণ ও সুবিধার্থে ব্যবহৃত শনাক্তকারী এবং এটি শুধুমাত্র Firebase কনসোলে আপনার কাছেই দৃশ্যমান থাকবে।

  5. অ্যাপটি রেজিস্টার করতে ক্লিক করুন।

ধাপ ৪ : ফায়ারবেস কনফিগারেশন ফাইলটি যোগ করুন

  1. আপনার Firebase Android কনফিগারেশন ফাইলটি পেতে Download google-services.json-এ ক্লিক করুন।

  2. আপনার C++ প্রজেক্টটি একটি IDE-তে খুলুন, তারপর আপনার প্রজেক্টে কনফিগ ফাইলটি যোগ করুন:

  3. (শুধুমাত্র গ্রেডল বিল্ডের জন্য) আপনার C++ প্রোজেক্টে ফায়ারবেস সার্ভিসগুলো সক্রিয় করতে, আপনার টপ-লেভেল build.gradle ফাইলে google-services প্লাগইনটি যোগ করুন।

    1. 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.4'  // Google Services plugin
            implementation 'com.google.android.gms:18.10.0'
          }
        }
      
        allprojects {
          // ...
      
          repositories {
            // Check that you have the following line (if not, add it):
            google()  // Google's Maven repository
            // ...
          }
        }
      
    2. Google Services Gradle প্লাগইনটি প্রয়োগ করুন:

        apply plugin: 'com.android.application'
        // Add the following line:
        apply plugin: 'com.google.gms.google-services'  // Google Services plugin
      
        android {
          // ...
        }
      
  4. Firebase কনসোলে আপনার সেটআপের কাজ শেষ। নিচে ফায়ারবেস সি++ এসডিকে যোগ করার কাজটি চালিয়ে যান।

ধাপ ৫ : ফায়ারবেস সি++ এসডিকে যোগ করুন

এই বিভাগে বর্ণিত ধাপগুলো আপনার Firebase C++ প্রজেক্টে সমর্থিত Firebase প্রোডাক্টগুলো কীভাবে যুক্ত করবেন তার একটি উদাহরণ।

  1. Firebase C++ SDK ডাউনলোড করুন, তারপর SDK-টি আপনার সুবিধামত কোনো জায়গায় আনজিপ করুন।

    Firebase C++ SDK প্ল্যাটফর্ম-নির্দিষ্ট নয়, তবে এতে প্ল্যাটফর্ম-নির্দিষ্ট লাইব্রেরি রয়েছে।

  2. আপনার প্রোজেক্টের gradle.properties ফাইলে আনজিপ করা SDK-এর অবস্থান উল্লেখ করুন:

    systemProp.firebase_cpp_sdk.dir=full-path-to-SDK
  3. আপনার প্রোজেক্টের 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"
  4. আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) নিম্নলিখিত বিষয়বস্তু যোগ করুন।
    আপনার অ্যাপে ব্যবহার করতে চান এমন Firebase প্রোডাক্টগুলোর লাইব্রেরি নির্ভরতাগুলো অন্তর্ভুক্ত করুন।

    Analytics সক্রিয় করা হয়েছে

    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
    }

    Analytics সক্রিয় করা হয়নি

    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
    }
  5. আপনার প্রোজেক্টের CMakeLists.txt ফাইলে নিম্নলিখিত বিষয়বস্তু যোগ করুন।
    আপনার অ্যাপে ব্যবহার করতে চান এমন Firebase প্রোডাক্টগুলোর লাইব্রেরিগুলো অন্তর্ভুক্ত করুন।

    Analytics সক্রিয় করা হয়েছে

    # 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}")

    Analytics সক্রিয় করা হয়নি

    # 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}")
  6. আপনার অ্যাপটি সিঙ্ক করুন যাতে সমস্ত ডিপেন্ডেন্সিগুলোর প্রয়োজনীয় ভার্সন থাকে।

  7. আপনি যদি Analytics যোগ করে থাকেন, তাহলে ফায়ারবেস সফলভাবে ইন্টিগ্রেট হয়েছে তার যাচাইকরণের জন্য আপনার অ্যাপটি চালান। অন্যথায়, আপনি যাচাইকরণ ধাপটি এড়িয়ে যেতে পারেন।

    আপনার ডিভাইসের লগগুলিতে ফায়ারবেস ভেরিফিকেশন দেখা যাবে, যা নির্দেশ করে যে ইনিশিয়ালাইজেশন সম্পন্ন হয়েছে। আপনি যদি নেটওয়ার্ক অ্যাক্সেস আছে এমন কোনো এমুলেটরে আপনার অ্যাপটি চালান, তাহলে Firebase কনসোল আপনাকে জানিয়ে দেবে যে আপনার অ্যাপের সংযোগ সম্পূর্ণ হয়েছে।

সবকিছু প্রস্তুত! আপনার C++ অ্যাপটি ফায়ারবেস পরিষেবাগুলো ব্যবহার করার জন্য নিবন্ধিত এবং কনফিগার করা হয়েছে।

উপলব্ধ লাইব্রেরি

রেফারেন্স ডকুমেন্টেশনে এবং গিটহাবে আমাদের ওপেন-সোর্স এসডিকে রিলিজে সি++ ফায়ারবেস লাইব্রেরিগুলো সম্পর্কে আরও জানুন।

অ্যান্ড্রয়েডের জন্য উপলব্ধ লাইব্রেরি (CMake ব্যবহার করে)

উল্লেখ্য যে, অ্যাপল প্ল্যাটফর্মের জন্য সি++ লাইব্রেরিগুলো এই সেটআপ পেজের অ্যাপল প্ল্যাটফর্ম (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 অ্যান্ড্রয়েড নেটিভ লাইব্রেরি ব্যবহারকারী অ্যাপগুলির জন্য ক্র্যাশ রিপোর্টিং সমর্থন করে। আরও জানতে, “অ্যান্ড্রয়েড এনডিকে ক্র্যাশ রিপোর্ট পান” দেখুন।

কাস্টম বিল্ড সিস্টেম

Firebase, google-services.json ফাইলটিকে .xml রিসোর্সে রূপান্তর করার জন্য generate_xml_from_google_services_json.py স্ক্রিপ্টটি সরবরাহ করে, যা আপনি আপনার প্রজেক্টে অন্তর্ভুক্ত করতে পারেন। এই স্ক্রিপ্টটি সেই একই রূপান্তর প্রয়োগ করে যা Google Play services Gradle প্লাগইন অ্যান্ড্রয়েড অ্যাপ্লিকেশন বিল্ড করার সময় করে থাকে।

যদি আপনি Gradle ব্যবহার করে বিল্ড না করেন (উদাহরণস্বরূপ, আপনি ndk-build, makefiles, Visual Studio, ইত্যাদি ব্যবহার করেন), তাহলে আপনি Android String Resources তৈরি করার প্রক্রিয়াটি স্বয়ংক্রিয় করতে এই স্ক্রিপ্টটি ব্যবহার করতে পারেন।

প্রোগার্ড

অনেক অ্যান্ড্রয়েড বিল্ড সিস্টেম অ্যাপ্লিকেশনের আকার কমাতে এবং জাভা সোর্স কোড সুরক্ষিত রাখতে রিলিজ মোডে বিল্ডের জন্য প্রোগার্ড ব্যবহার করে।

আপনি যদি 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
    }
  }
}

গুগল প্লে পরিষেবার প্রয়োজনীয়তা

বেশিরভাগ Firebase C++ লাইব্রেরি ব্যবহারের জন্য ক্লায়েন্টের অ্যান্ড্রয়েড ডিভাইসে Google Play পরিষেবা থাকা প্রয়োজন। যদি কোনো Firebase C++ লাইব্রেরি চালু হওয়ার সময় kInitResultFailedMissingDependency ত্রুটি দেখায়, তার মানে হলো ক্লায়েন্ট ডিভাইসে Google Play পরিষেবা উপলব্ধ নেই (অর্থাৎ, এটিকে আপডেট, পুনরায় সক্রিয়, অনুমতি ঠিক ইত্যাদি করতে হবে)। ক্লায়েন্ট ডিভাইসের এই সমস্যার সমাধান না হওয়া পর্যন্ত Firebase লাইব্রেরিটি ব্যবহার করা যাবে না।

ক্লায়েন্ট ডিভাইসে গুগল প্লে পরিষেবা কেন অনুপলব্ধ, তা আপনি google_play_services/availability.h ফাইলের ফাংশনগুলো ব্যবহার করে জানতে পারবেন (এবং এর সমাধান করার চেষ্টা করতে পারবেন)।

নিম্নলিখিত সারণিতে তালিকাভুক্ত করা হয়েছে যে প্রতিটি সমর্থিত ফায়ারবেস পণ্যের জন্য ক্লায়েন্ট ডিভাইসে গুগল প্লে পরিষেবা প্রয়োজন কিনা।

ফায়ারবেস সি++ লাইব্রেরি ক্লায়েন্ট ডিভাইসে গুগল প্লে পরিষেবা প্রয়োজন?
AdMob প্রয়োজন নেই (সাধারণত)
Analytics প্রয়োজন নেই
Authentication প্রয়োজনীয়
Cloud Firestore প্রয়োজনীয়
Cloud Functions প্রয়োজনীয়
Cloud Messaging প্রয়োজনীয়
Cloud Storage প্রয়োজনীয়
Dynamic Links প্রয়োজনীয়
Realtime Database প্রয়োজনীয়
Remote Config প্রয়োজনীয়

AdMob এবং Google Play পরিষেবাগুলি

অ্যান্ড্রয়েডের জন্য Google Mobile Ads এসডিকে-র বেশিরভাগ সংস্করণ ক্লায়েন্ট ডিভাইসে গুগল প্লে সার্ভিসেস ছাড়াই সঠিকভাবে কাজ করতে পারে। তবে, আপনি যদি উপরে উল্লিখিত স্ট্যান্ডার্ড com.google.firebase:firebase-ads ডিপেন্ডেন্সির পরিবর্তে com.google.android.gms:play-services-ads-lite ডিপেন্ডেন্সিটি ব্যবহার করেন, তাহলে গুগল প্লে সার্ভিসেস প্রয়োজন হবে

AdMob ইনিশিয়ালাইজেশন শুধুমাত্র তখনই kInitResultFailedMissingDependency রিটার্ন করবে যখন নিম্নলিখিত দুটিই সত্য হবে:

  • ক্লায়েন্ট ডিভাইসে গুগল প্লে পরিষেবা উপলব্ধ নেই।
  • আপনি com.google.android.gms:play-services-ads-lite ব্যবহার করছেন।

ডেস্কটপ ওয়ার্কফ্লো সেট আপ করুন ( বিটা )

যখন আপনি একটি গেম তৈরি করেন, তখন প্রায়শই প্রথমে ডেস্কটপ প্ল্যাটফর্মে আপনার গেমটি পরীক্ষা করা এবং পরে ডেভেলপমেন্টের পরবর্তী পর্যায়ে মোবাইল ডিভাইসে তা স্থাপন ও পরীক্ষা করা অনেক সহজ হয়। এই কর্মপ্রবাহকে সমর্থন করার জন্য, আমরা Firebase C++ SDK-এর একটি উপসেট সরবরাহ করি যা Windows, macOS, Linux-এ এবং C++ এডিটরের ভেতর থেকে চালানো যায়।

  1. ডেস্কটপ ওয়ার্কফ্লোর জন্য, আপনাকে নিম্নলিখিতগুলি সম্পন্ন করতে হবে:

    1. আপনার C++ প্রজেক্টটি CMake-এর জন্য কনফিগার করুন।
    2. একটি ফায়ারবেস প্রজেক্ট তৈরি করুন
    3. আপনার অ্যাপ (iOS বা Android) Firebase-এ রেজিস্টার করুন।
    4. একটি মোবাইল-প্ল্যাটফর্ম ফায়ারবেস কনফিগারেশন ফাইল যোগ করুন
  2. ফায়ারবেস কনফিগারেশন ফাইলের একটি ডেস্কটপ সংস্করণ তৈরি করুন:

    • আপনি যদি অ্যান্ড্রয়েড 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 SDK যোগ করুন।

    আপনার C++ প্রজেক্টে যেকোনো সমর্থিত Firebase প্রোডাক্ট কীভাবে যুক্ত করবেন, তার একটি উদাহরণ হিসেবে নিচের ধাপগুলো দেওয়া হলো। এই উদাহরণে, আমরা Firebase Authentication এবং Firebase Realtime Database যুক্ত করার প্রক্রিয়াটি আলোচনা করব।

    1. আপনার FIREBASE_CPP_SDK_DIR এনভায়রনমেন্ট ভেরিয়েবলটি আনজিপ করা Firebase C++ SDK-এর লোকেশনে সেট করুন।

    2. আপনার প্রোজেক্টের 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}")
  4. আপনার 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

উইন্ডোজ, ম্যাকওএস এবং লিনাক্সের জন্য বিল্ড করার সুবিধার জন্য ফায়ারবেস অবশিষ্ট ডেস্কটপ লাইব্রেরিগুলোকে স্টাব (নন-ফাংশনাল) ইমপ্লিমেন্টেশন হিসেবে প্রদান করে। তাই, ডেস্কটপকে টার্গেট করার জন্য আপনাকে শর্তসাপেক্ষে কোড কম্পাইল করার প্রয়োজন নেই।

Realtime Database ডেস্কটপ

ডেস্কটপের জন্য Realtime Database SDK আপনার ডেটাবেস অ্যাক্সেস করার জন্য REST ব্যবহার করে, তাই ডেস্কটপে Query::OrderByChild() এর সাথে ব্যবহৃত ইনডেক্সগুলো আপনাকে অবশ্যই ডিক্লেয়ার করতে হবে, অন্যথায় আপনার লিসেনারগুলো ব্যর্থ হবে।

ডেস্কটপ সেটআপের জন্য অতিরিক্ত তথ্য

উইন্ডোজ লাইব্রেরি

উইন্ডোজের জন্য লাইব্রেরি সংস্করণগুলো নিম্নলিখিত বিষয়ের উপর ভিত্তি করে প্রদান করা হয়:

  • বিল্ড প্ল্যাটফর্ম: ৩২-বিট (x86) বনাম ৬৪-বিট (x64) মোড
  • উইন্ডোজ রানটাইম পরিবেশ: মাল্টিথ্রেডেড / এমটি বনাম মাল্টিথ্রেডেড ডিএলএল / এমডি
  • লক্ষ্য: রিলিজ বনাম ডিবাগ

উল্লেখ্য যে, নিম্নলিখিত লাইব্রেরিগুলো ভিজ্যুয়াল স্টুডিও ২০১৫ এবং ২০১৭ ব্যবহার করে পরীক্ষা করা হয়েছিল।

উইন্ডোজে C++ ডেস্কটপ অ্যাপ তৈরি করার সময়, নিম্নলিখিত উইন্ডোজ 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

ম্যাকওএস লাইব্রেরি

ম্যাকওএস (ডারউইন)-এর জন্য ৬৪-বিট (x86_64) প্ল্যাটফর্মের লাইব্রেরি সংস্করণ সরবরাহ করা হয়েছে। আপনার সুবিধার জন্য ফ্রেমওয়ার্কও দেওয়া হয়েছে।

উল্লেখ্য যে, macOS লাইব্রেরিগুলো Xcode 16.2 ব্যবহার করে পরীক্ষা করা হয়েছে।

macOS-এ C++ ডেস্কটপ অ্যাপ তৈরি করার সময়, নিম্নলিখিত বিষয়গুলো আপনার প্রোজেক্টের সাথে লিঙ্ক করুন:

  • pthread সিস্টেম লাইব্রেরি
  • CoreFoundation ম্যাকওএস সিস্টেম ফ্রেমওয়ার্ক
  • Foundation ম্যাকওএস সিস্টেম ফ্রেমওয়ার্ক
  • Security ম্যাকওএস সিস্টেম ফ্রেমওয়ার্ক
  • GSS ম্যাকওএস সিস্টেম ফ্রেমওয়ার্ক
  • Kerberos ম্যাকওএস সিস্টেম ফ্রেমওয়ার্ক
  • SystemConfiguration ম্যাকওএস সিস্টেম ফ্রেমওয়ার্ক

আরও তথ্যের জন্য আপনার কম্পাইলারের ডকুমেন্টেশন দেখুন।

লিনাক্স লাইব্রেরি

লিনাক্সের জন্য ৩২-বিট (i386) এবং ৬৪-বিট (x86_64) প্ল্যাটফর্মের জন্য লাইব্রেরি সংস্করণ সরবরাহ করা হয়।

উল্লেখ্য যে, লিনাক্স লাইব্রেরিগুলো উবুন্টুতে GCC 4.8.0, GCC 7.2.0 এবং Clang 5.0 ব্যবহার করে পরীক্ষা করা হয়েছিল।

লিনাক্সে C++ ডেস্কটপ অ্যাপ তৈরি করার সময়, আপনার প্রোজেক্টের সাথে pthread সিস্টেম লাইব্রেরিটি লিঙ্ক করুন। আরও তথ্যের জন্য আপনার কম্পাইলারের ডকুমেন্টেশন দেখুন। আপনি যদি GCC 5 বা তার পরবর্তী সংস্করণ দিয়ে বিল্ড করেন, তাহলে -D_GLIBCXX_USE_CXX11_ABI=0 ডিফাইন করুন।

পরবর্তী পদক্ষেপ