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

আমাদের 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 পান।

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

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

    • এমুলেটরদের অবশ্যই Google Play এর সাথে একটি এমুলেটর ছবি ব্যবহার করতে হবে।

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

  • আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন

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

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

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

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

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

  2. প্রোজেক্ট ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন ( ) বা অ্যাপ যোগ করুন

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

  4. (ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1

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

ধাপ 4 : Firebase কনফিগারেশন ফাইল যোগ করুন

  1. আপনার Firebase অ্যান্ড্রয়েড কনফিগারেশন ফাইল পেতে ডাউনলোড google-services.json এ ক্লিক করুন।

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

  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.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
            // ...
          }
        }
      
    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++ SDK যোগ করা চালিয়ে যান।

ধাপ 5 : 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++ অ্যাপটি ফায়ারবেস পরিষেবা ব্যবহার করার জন্য নিবন্ধিত এবং কনফিগার করা হয়েছে।

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

রেফারেন্স ডকুমেন্টেশনে এবং 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++ সম্পাদকের মধ্যে থেকে চলতে পারে।

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

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

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

    নিচের ধাপগুলো আপনার C++ প্রোজেক্টে যেকোনও সমর্থিত ফায়ারবেস প্রোডাক্ট যোগ করার উদাহরণ হিসেবে কাজ করে। এই উদাহরণে, আমরা 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

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 সংজ্ঞায়িত করুন।

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

,

আমাদের 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 পান।

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

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

    • এমুলেটরদের অবশ্যই Google Play এর সাথে একটি এমুলেটর ছবি ব্যবহার করতে হবে।

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

  • আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন

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

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

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

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

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

  2. প্রোজেক্ট ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন ( ) বা অ্যাপ যোগ করুন

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

  4. (ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1

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

ধাপ 4 : Firebase কনফিগারেশন ফাইল যোগ করুন

  1. আপনার Firebase অ্যান্ড্রয়েড কনফিগারেশন ফাইল পেতে ডাউনলোড google-services.json এ ক্লিক করুন।

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

  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.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
            // ...
          }
        }
      
    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++ SDK যোগ করা চালিয়ে যান।

ধাপ 5 : 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++ অ্যাপটি ফায়ারবেস পরিষেবা ব্যবহার করার জন্য নিবন্ধিত এবং কনফিগার করা হয়েছে।

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

রেফারেন্স ডকুমেন্টেশনে এবং 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++ সম্পাদকের মধ্যে থেকে চলতে পারে।

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

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

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

    নিচের ধাপগুলো আপনার C++ প্রোজেক্টে যেকোনও সমর্থিত ফায়ারবেস প্রোডাক্ট যোগ করার উদাহরণ হিসেবে কাজ করে। এই উদাহরণে, আমরা 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

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 সংজ্ঞায়িত করুন।

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

,

আমাদের 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 পান।

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

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

    • এমুলেটরদের অবশ্যই Google Play এর সাথে একটি এমুলেটর ছবি ব্যবহার করতে হবে।

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

  • আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন

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

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

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

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

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

  2. প্রোজেক্ট ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন ( ) বা অ্যাপ যোগ করুন

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

  4. (ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1

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

ধাপ 4 : Firebase কনফিগারেশন ফাইল যোগ করুন

  1. আপনার Firebase অ্যান্ড্রয়েড কনফিগারেশন ফাইল পেতে ডাউনলোড google-services.json এ ক্লিক করুন।

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

  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.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
            // ...
          }
        }
      
    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++ SDK যোগ করা চালিয়ে যান।

ধাপ 5 : 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++ অ্যাপটি ফায়ারবেস পরিষেবা ব্যবহার করার জন্য নিবন্ধিত এবং কনফিগার করা হয়েছে।

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

রেফারেন্স ডকুমেন্টেশনে এবং 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++ সম্পাদকের মধ্যে থেকে চলতে পারে।

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

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

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

    নিচের ধাপগুলো আপনার C++ প্রোজেক্টে যেকোনও সমর্থিত ফায়ারবেস প্রোডাক্ট যোগ করার উদাহরণ হিসেবে কাজ করে। এই উদাহরণে, আমরা 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

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 সংজ্ঞায়িত করুন।

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

,

আমাদের 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 পান।

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

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

    • এমুলেটরদের অবশ্যই Google Play এর সাথে একটি এমুলেটর ছবি ব্যবহার করতে হবে।

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

  • আপনার Google অ্যাকাউন্ট ব্যবহার করে Firebase-এ সাইন ইন করুন

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

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

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

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

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

  2. প্রোজেক্ট ওভারভিউ পৃষ্ঠার কেন্দ্রে, সেটআপ ওয়ার্কফ্লো চালু করতে Android আইকনে ক্লিক করুন ( ) বা অ্যাপ যোগ করুন

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

  4. (ঐচ্ছিক) অন্যান্য অ্যাপের তথ্য লিখুন: অ্যাপের ডাকনাম এবং ডিবাগ সাইনিং সার্টিফিকেট SHA-1

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

ধাপ 4 : Firebase কনফিগারেশন ফাইল যোগ করুন

  1. আপনার Firebase অ্যান্ড্রয়েড কনফিগারেশন ফাইল পেতে ডাউনলোড google-services.json এ ক্লিক করুন।

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

  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.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
            // ...
          }
        }
      
    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++ SDK যোগ করা চালিয়ে যান।

ধাপ 5 : 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++ অ্যাপটি ফায়ারবেস পরিষেবা ব্যবহার করার জন্য নিবন্ধিত এবং কনফিগার করা হয়েছে।

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

রেফারেন্স ডকুমেন্টেশনে এবং 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++ সম্পাদকের মধ্যে থেকে চলতে পারে।

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

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

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

    নিচের ধাপগুলো আপনার C++ প্রোজেক্টে যেকোনও সমর্থিত ফায়ারবেস প্রোডাক্ট যোগ করার উদাহরণ হিসেবে কাজ করে। এই উদাহরণে, আমরা 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

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 সংজ্ঞায়িত করুন।

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