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

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

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

Firebase দিয়ে আপনার গেমগুলিকে শক্তিশালী করার বিষয়ে আরও তথ্য আমাদের Firebase গেম পৃষ্ঠায় জানুন।

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


পূর্বশর্ত

  • আপনার পছন্দের এডিটর বা IDE, যেমন Android Studio, IntelliJ, অথবা VS Code ইনস্টল করুন।

  • অ্যান্ড্রয়েড এসডিকে পান।

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

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

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

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

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

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

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

ধাপ ৩ : Firebase-এ আপনার অ্যাপ নিবন্ধন করুন

আপনার অ্যান্ড্রয়েড অ্যাপে Firebase ব্যবহার করার জন্য, আপনাকে আপনার Firebase প্রোজেক্টের সাথে আপনার অ্যাপটি নিবন্ধন করতে হবে। আপনার অ্যাপটি নিবন্ধন করাকে প্রায়শই আপনার প্রোজেক্টে আপনার অ্যাপটি "যোগ করা" বলা হয়।

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

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

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

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

  5. অ্যাপ নিবন্ধন করুন এ ক্লিক করুন।

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

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

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

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

    1. গুগল সার্ভিসেস গ্রেডল প্লাগইন অন্তর্ভুক্ত করার জন্য নিয়ম যোগ করুন। আপনার কাছে গুগলের ম্যাভেন রিপোজিটরি আছে কিনা তা পরীক্ষা করুন।

        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.9.0'
          }
        }
      
        allprojects {
          // ...
      
          repositories {
            // Check that you have the following line (if not, add it):
            google()  // Google's Maven repository
            // ...
          }
        }
      
    2. গুগল সার্ভিসেস গ্রেডল প্লাগইন প্রয়োগ করুন:

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

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

এই বিভাগের ধাপগুলি আপনার 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-এ যাচাইকরণ পাঠাতে আপনার অ্যাপটি চালান যে আপনি সফলভাবে Firebase ইন্টিগ্রেটেড করেছেন। অন্যথায়, আপনি যাচাইকরণের ধাপটি এড়িয়ে যেতে পারেন।

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

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

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

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

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

মনে রাখবেন যে অ্যাপল প্ল্যাটফর্মের জন্য C++ লাইব্রেরিগুলি এই সেটআপ পৃষ্ঠার অ্যাপল প্ল্যাটফর্ম (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 generate_xml_from_google_services_json.py স্ক্রিপ্ট প্রদান করে google-services.json কে .xml রিসোর্সে রূপান্তর করে যা আপনি আপনার প্রকল্পে অন্তর্ভুক্ত করতে পারেন। এই স্ক্রিপ্টটি একই রূপান্তর প্রয়োগ করে যা Google Play services Gradle প্লাগইন অ্যান্ড্রয়েড অ্যাপ্লিকেশন তৈরি করার সময় করে।

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

প্রোগার্ড

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

যদি আপনি 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 পরিষেবা অনুপলব্ধ তা আপনি জানতে পারবেন (এবং এটি ঠিক করার চেষ্টা করবেন) google_play_services/availability.h এর ফাংশনগুলি ব্যবহার করে।

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

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

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

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

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

  • ক্লায়েন্ট ডিভাইসে Google Play পরিষেবা অনুপলব্ধ।
  • তুমি com.google.android.gms:play-services-ads-lite ব্যবহার করছো।

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

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

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

    1. CMake-এর জন্য আপনার C++ প্রজেক্ট কনফিগার করুন।
    2. একটি ফায়ারবেস প্রকল্প তৈরি করুন
    3. Firebase-এ আপনার অ্যাপ (iOS বা Android) নিবন্ধন করুন
    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 কনসোল সেটআপ ওয়ার্কফ্লোতে প্রবেশ করিয়েছিলেন। কনফিগারেশন ফাইল সম্পর্কে আরও জানতে Understand Firebase Projects দেখুন।

  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) মোড
  • উইন্ডোজ রানটাইম পরিবেশ: মাল্টিথ্রেডেড / এমটি বনাম মাল্টিথ্রেডেড ডিএলএল / এমডি
  • লক্ষ্য: রিলিজ বনাম ডিবাগ

মনে রাখবেন যে নিম্নলিখিত লাইব্রেরিগুলি ভিজ্যুয়াল স্টুডিও 2015 এবং 2017 ব্যবহার করে পরীক্ষা করা হয়েছিল।

উইন্ডোজে 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

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

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

মনে রাখবেন যে ম্যাকওএস লাইব্রেরিগুলি এক্সকোড 16.2 ব্যবহার করে পরীক্ষা করা হয়েছে।

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

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

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

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

লিনাক্সের জন্য, লাইব্রেরি সংস্করণগুলি 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 সংজ্ঞায়িত করুন।

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