Catch up on everthing we announced at this year's Firebase Summit. Learn more

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

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

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

আমাদের এ Firebase সঙ্গে আপনার গেমস আপ powering সম্পর্কে আরো তথ্য দেখুন Firebase গেম পৃষ্ঠা

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

পূর্বশর্ত

  • নিম্নলিখিত ইনস্টল করুন:

    • Xcode 12 বা তার পরে
    • CocoaPods 1.10.0 বা তার পরে
  • নিশ্চিত করুন যে আপনার প্রকল্পটি নিম্নলিখিত প্ল্যাটফর্ম সংস্করণ বা তার পরে লক্ষ্য করে:

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

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

ধাপ 2: একটি Firebase প্রকল্প তৈরি করুন

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

ধাপ 3: Firebase মাধ্যমে আপনার অ্যাপ্লিকেশন নিবন্ধন

আপনার একটি ফায়ারবেস প্রজেক্ট হওয়ার পরে, আপনি এতে আপনার Apple অ্যাপ যোগ করতে পারেন।

পরিদর্শন বুঝুন Firebase প্রকল্প একটি Firebase প্রকল্পে অ্যাপ্লিকেশান যোগ করে, কীভাবে একাধিক বিল্ড রূপগুলো হ্যান্ডেল করতে সহ সর্বোত্তম কার্যাভ্যাস এবং বিবেচনার সম্পর্কে আরো জানতে।

  1. যান Firebase কনসোল

  2. প্রকল্পের ওভারভিউ পৃষ্ঠায় কেন্দ্রে, সেটআপ কর্মপ্রবাহ আরম্ভ করার জন্য আইওএস + + আইকনে ক্লিক করুন।

    আপনি ইতিমধ্যেই আপনার Firebase প্রকল্পে একটি অ্যাপ্লিকেশন যোগ করে থাকেন, প্ল্যাটফর্ম অপশন প্রদর্শন করে অ্যাপ্লিকেশান যোগ ক্লিক করুন।

  3. বান্ডিল আইডি ক্ষেত্র আপনার অ্যাপ্লিকেশনের বান্ডিল আইডি লিখুন।

  4. অ্যাপ ডাক নাম এবং App স্টোর বা দোকান আইডি: (ঐচ্ছিক) অন্যান্য অ্যাপ্লিকেশনে তথ্য লিখুন।

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

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

  1. আপনার Firebase অ্যাপল প্ল্যাটফর্মের কনফিগ ফাইল প্রাপ্ত করার ডাউনলোড GoogleService-Info.plist ক্লিক করুন।

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

  3. অনুরোধ করা হলে, সমস্ত লক্ষ্যে কনফিগার ফাইল যোগ করতে নির্বাচন করুন।

আপনি Firebase কনসোলে সেট আপ করার কাজগুলি সম্পন্ন করেছেন৷ চালিয়ে যাও Firebase সি ++ SDK আছে যোগ করুন ক্লিক করুন।

পদক্ষেপ 5: Firebase সি ++ SDK আছে যোগ করুন

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

  1. ডাউনলোড Firebase সি ++ SDK এর , তারপর SDK এর কোথাও সুবিধাজনক আনজিপ।

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

  2. Firebase যোগ pods আনজিপ SDK থেকে।

    1. একটি Podfile তৈরী করতে যদি ইতিমধ্যে আপনার একটি না:

      cd your-app-directory
      pod init

    2. আপনার পডফাইলে, ফায়ারবেস পডগুলি যোগ করুন যা আপনি আপনার অ্যাপে ব্যবহার করতে চান।

      বিশ্লেষণ সক্রিয় করা হয়েছে

      # Add the Firebase pod for Google Analytics
      pod 'Firebase/Analytics'
      # Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Firebase Realtime Database pod 'Firebase/Auth' pod 'Firebase/Database'

      অ্যানালিটিক্স সক্ষম করা নেই

      # Add the pods for the Firebase products you want to use in your app
      # For example, to use Firebase Authentication and Firebase Realtime Database
      pod 'Firebase/Auth'
      pod 'Firebase/Database'
    3. Pods ইনস্টল করুন, তারপর ওপেন .xcworkspace Xcode ফাইল।

      pod install
      open your-app.xcworkspace

  3. Firebase যোগ অবকাঠামো আনজিপ SDK থেকে।

    সবচেয়ে সহজ উপায় এই অবকাঠামো যোগ করার জন্য তাদের একটি থেকে টেনে আনতে সাধারণত Finder (; শীর্ষ-বাম Xcode এর অথবা ক্লিক ফাইল আইকন, সুদূর বাম পেইন ডিফল্ট অনুসারে) উইন্ডো Xcode প্রকল্প ন্যাভিগেটর ফলকে সরাসরি।

    1. Firebase সি ++ ফ্রেমওয়ার্ক যোগ firebase.framework , যা কোনো Firebase পণ্য ব্যবহার করা আবশ্যক।

    2. প্রতিটি ফায়ারবেস পণ্যের জন্য ফ্রেমওয়ার্ক যোগ করুন যা আপনি ব্যবহার করতে চান। উদাহরণস্বরূপ, Firebase প্রমাণীকরণ ব্যবহার করতে, যোগ firebase_auth.framework

  4. Firebase কনসোলে পিছনে, সেটআপ কর্মপ্রবাহ মধ্যে, Next ক্লিক করুন।

  5. আপনি অ্যানালিটিক্স যোগ করলে, Firebase-এ যে আপনি সফলভাবে Firebase ইন্টিগ্রেট করেছেন তার যাচাইকরণ পাঠাতে আপনার অ্যাপ চালান। অন্যথায়, আপনি যাচাইকরণের এই ধাপটি এড়িয়ে যেতে পারেন।

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

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

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

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

iOS এর জন্য উপলব্ধ লাইব্রেরি

লক্ষ্য করুন Android এর জন্য সি ++ লাইব্রেরি তালিকাভুক্ত করা হয় এই সেটআপ পৃষ্ঠার Android সংস্করণ

প্রতিটি ফায়ারবেস পণ্যের বিভিন্ন নির্ভরতা রয়েছে। আপনার Podfile এবং C++ প্রোজেক্টে কাঙ্খিত Firebase পণ্যের জন্য সমস্ত তালিকাভুক্ত নির্ভরতা যোগ করতে ভুলবেন না।

ফায়ারবেস পণ্য ফ্রেমওয়ার্ক এবং পড
AdMob (প্রয়োজন) firebase.framework
firebase_admob.framework
(প্রয়োজন) firebase_analytics.framework

pod 'Firebase/AdMob', '8.10.0'
(প্রয়োজন) pod 'Firebase/Analytics', '8.10.0'
বিশ্লেষণ (প্রয়োজন) firebase.framework
firebase_analytics.framework

pod 'Firebase/Analytics', '8.10.0'
প্রমাণীকরণ (প্রয়োজন) firebase.framework
firebase_auth.framework

pod 'Firebase/Auth', '8.10.0'
ক্লাউড ফায়ারস্টোর (প্রয়োজন) firebase.framework
firebase_firestore.framework
firebase_auth.framework

pod 'Firebase/Firestore', '8.10.0'
pod 'Firebase/Auth', '8.10.0'
ক্লাউড ফাংশন (প্রয়োজন) firebase.framework
firebase_functions.framework

pod 'Firebase/Functions', '8.10.0'
ক্লাউড মেসেজিং (প্রয়োজন) firebase.framework
firebase_messaging.framework
(প্রস্তাবিত) firebase_analytics.framework

pod 'Firebase/Messaging', '8.10.0'
(প্রস্তাবিত) pod 'Firebase/Analytics', '8.10.0'
মেঘ স্টোরেজ (প্রয়োজন) firebase.framework
firebase_storage.framework

pod 'Firebase/Storage', '8.10.0'
ডাইনামিক লিংক (প্রয়োজন) firebase.framework
firebase_dynamic_links.framework
(প্রস্তাবিত) firebase_analytics.framework

pod 'Firebase/DynamicLinks', '8.10.0'
(প্রস্তাবিত) pod 'Firebase/Analytics', '8.10.0'
রিয়েলটাইম ডাটাবেস (প্রয়োজন) firebase.framework
firebase_database.framework

pod 'Firebase/Database', '8.10.0'
রিমোট কনফিগারেশন (প্রয়োজন) firebase.framework
firebase_remote_config.framework
(প্রস্তাবিত) firebase_analytics.framework

pod 'Firebase/RemoteConfig', '8.10.0'
(প্রস্তাবিত) pod 'Firebase/Analytics', '8.10.0'

মোবাইল সেটআপের জন্য অতিরিক্ত তথ্য

পদ্ধতি swizzling

iOS-এ, কিছু অ্যাপ্লিকেশান ইভেন্টের (যেমন ইউআরএল খোলা এবং বিজ্ঞপ্তি প্রাপ্তির জন্য) নির্দিষ্ট পদ্ধতি প্রয়োগ করতে আপনার অ্যাপ্লিকেশন প্রতিনিধির প্রয়োজন হয়। উদাহরণস্বরূপ, একটি বিজ্ঞপ্তিটি পাচ্ছেন বাস্তবায়ন আপনার আবেদন প্রতিনিধি দরকার হবে application:didReceiveRemoteNotification: । কারণ প্রতিটি আইওএস অ্যাপ্লিকেশন নিজস্ব অ্যাপ্লিকেশন প্রতিনিধি আছে, Firebase পদ্ধতি swizzling, যা পরস্পর পদ্ধতি প্রতিস্থাপন, কোন যে আপনার বাস্তবায়িত হতে পারে ছাড়াও নিজস্ব হ্যান্ডেলার সংযুক্ত করতে পারবেন ব্যবহার করে।

ডায়নামিক লিঙ্ক এবং ক্লাউড মেসেজিং লাইব্রেরিগুলিকে মেথড সুইজলিং ব্যবহার করে অ্যাপ্লিকেশন প্রতিনিধিদের সাথে হ্যান্ডলারদের সংযুক্ত করতে হবে। এইসব Firebase পণ্য কোন ব্যবহার করেন, তাহলে বোঝা সময়ে Firebase আপনার শনাক্ত করবে AppDelegate বর্গ এবং এটি সম্মুখের দিকে প্রয়োজনীয় পদ্ধতি পাঁচমিশালী মদ্যবিশেষ আপনার বিদ্যমান পদ্ধতি বাস্তবায়ন করার জন্য একটি কল ব্যাক chaining।

একটি ডেস্কটপ কর্মপ্রবাহ (বিটা) সেট আপ করুন

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

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

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

    1. আপনার সেট FIREBASE_CPP_SDK_DIR আনজিপ Firebase সি ++ SDK এর অবস্থান এনভায়রনমেন্ট ভেরিয়েবল।

    2. আপনার প্রকল্পের এর CMakeLists.txt ফাইল, নিম্নলিখিত বিষয়বস্তু যোগ সহ লাইব্রেরি Firebase পণ্য যা আপনি ব্যবহার করতে চান তাদের জন্য। উদাহরণস্বরূপ, ফায়ারবেস প্রমাণীকরণ এবং ফায়ারবেস রিয়েলটাইম ডেটাবেস ব্যবহার করতে:

      # Add Firebase libraries to the target using the function from the SDK.
      add_subdirectory(${FIREBASE_CPP_SDK_DIR} bin/ EXCLUDE_FROM_ALL)
      
      # The Firebase C++ library `firebase_app` is required,
      # and it must always be listed last.
      
      # Add the Firebase SDKs for the products you want to use in your app
      # For example, to use 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 সি ++ SDK এর অন্তর্ভুক্ত ডেস্কটপ কর্মপ্রবাহ সমর্থন , বৈশিষ্ট্য একটি উপসেট জন্য Firebase কিছু অংশে সক্রিয় স্বতন্ত্র ডেস্কটপ ব্যবহৃত হবে উইন্ডোস, MacOS, এবং লিনাক্স তৈরী করে।

ফায়ারবেস পণ্য লাইব্রেরি রেফারেন্স (CMake ব্যবহার করে)
প্রমাণীকরণ firebase_auth
(প্রয়োজন) firebase_app
ক্লাউড ফায়ারস্টোর firebase_firestore
firebase_auth
firebase_app
ক্লাউড ফাংশন firebase_functions
(প্রয়োজন) firebase_app
মেঘ স্টোরেজ firebase_storage
(প্রয়োজন) firebase_app
রিয়েলটাইম ডাটাবেস firebase_database
(প্রয়োজন) firebase_app
রিমোট কনফিগারেশন firebase_remote_config
(প্রয়োজন) firebase_app

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

রিয়েলটাইম ডাটাবেস ডেস্কটপ

ডেস্কটপের জন্য রিয়েলটাইম ডাটাবেস SDK এর সাহায্যে, আপনার ডাটাবেস অ্যাক্সেস বিশ্রাম ব্যবহার যাতে আপনি আবশ্যক ইনডেক্স ঘোষণা যে আপনার সাথে ব্যবহার Query::OrderByChild() ডেস্কটপ বা আপনার শ্রোতাকে ব্যর্থ হবে।

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

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

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

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

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

Windows-এ C++ ডেস্কটপ অ্যাপ তৈরি করার সময়, নিম্নলিখিত Windows SDK লাইব্রেরিগুলিকে আপনার প্রোজেক্টে লিঙ্ক করুন। আরও তথ্যের জন্য আপনার কম্পাইলার ডকুমেন্টেশনের সাথে পরামর্শ করুন।

ফায়ারবেস সি++ লাইব্রেরি উইন্ডোজ SDK লাইব্রেরি নির্ভরতা
প্রমাণীকরণ advapi32, ws2_32, crypt32
ক্লাউড ফায়ারস্টোর advapi32, ws2_32, crypt32, rpcrt4, ole32, shell32
ক্লাউড ফাংশন advapi32, ws2_32, crypt32, rpcrt4, ole32
মেঘ স্টোরেজ advapi32, ws2_32, crypt32
রিয়েলটাইম ডাটাবেস advapi32, ws2_32, crypt32, iphlpapi, psapi, userenv
রিমোট কনফিগারেশন advapi32, ws2_32, crypt32, rpcrt4, ole32

macOS লাইব্রেরি

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

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

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

  • pthread সিস্টেম গ্রন্থাগার
  • CoreFoundation MacOS সিস্টেম কাঠামো
  • 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 ব্যবহার করে পরীক্ষা করা হয়েছিল।

যখন লিনাক্স সি ++ ডেস্কটপ অ্যাপ্লিকেশন নির্মাণ করে, লিংক pthread আপনার প্রকল্পের সিস্টেম গ্রন্থাগার। আরও তথ্যের জন্য আপনার কম্পাইলার ডকুমেন্টেশনের সাথে পরামর্শ করুন। আপনি যদি জিসিসি 5 বা পরে সাথে এসেছেন বিল্ডিং, সংজ্ঞায়িত -D_GLIBCXX_USE_CXX11_ABI=0

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