C++ এর জন্য Firebase রিয়েলটাইম ডেটাবেস দিয়ে শুরু করুন

ফায়ারবেস রিয়েলটাইম ডেটাবেস একটি NoSQL ক্লাউড ডেটাবেস ব্যবহার করে ডেটা সংরক্ষণ ও সিঙ্ক্রোনাইজ করে। সমস্ত ক্লায়েন্টের মধ্যে ডেটা রিয়েলটাইমে সিঙ্ক্রোনাইজ হয় এবং আপনার অ্যাপ অফলাইনে গেলেও তা উপলব্ধ থাকে।

শুরু করার আগে

Firebase Realtime Database ব্যবহার করার আগে, আপনাকে নিম্নলিখিত বিষয়গুলো করতে হবে:

  • আপনার C++ প্রজেক্টটি রেজিস্টার করুন এবং Firebase ব্যবহারের জন্য কনফিগার করুন।

    আপনার C++ প্রজেক্টে যদি আগে থেকেই Firebase ব্যবহার করা হয়, তাহলে এটি Firebase-এর জন্য ইতোমধ্যেই নিবন্ধিত এবং কনফিগার করা আছে।

  • আপনার C++ প্রজেক্টে Firebase C++ SDK যোগ করুন।

মনে রাখবেন যে, আপনার C++ প্রজেক্টে Firebase যোগ করার জন্য Firebase কনসোল এবং আপনার খোলা C++ প্রজেক্ট উভয় স্থানেই কাজ করতে হয় (উদাহরণস্বরূপ, আপনাকে কনসোল থেকে Firebase কনফিগারেশন ফাইলগুলো ডাউনলোড করতে হবে, তারপর সেগুলো আপনার C++ প্রজেক্টে স্থানান্তর করতে হবে)।

একটি ডাটাবেস তৈরি করুন

  1. Firebase কনসোলের Realtime Database বিভাগে যান। আপনাকে একটি বিদ্যমান Firebase প্রজেক্ট বেছে নিতে বলা হবে। ডেটাবেস তৈরির কার্যপ্রবাহ অনুসরণ করুন।

  2. আপনার Firebase Security Rules জন্য একটি প্রারম্ভিক মোড নির্বাচন করুন:

    টেস্ট মোড

    মোবাইল এবং ওয়েব ক্লায়েন্ট লাইব্রেরি দিয়ে কাজ শুরু করার জন্য এটি ভালো, কিন্তু এর মাধ্যমে যে কেউ আপনার ডেটা পড়তে এবং মুছে ফেলতে পারে। পরীক্ষা করার পর, ‘Understand Firebase Realtime Database Rules’ অংশটি অবশ্যই পর্যালোচনা করে নেবেন।

    ওয়েব, অ্যাপল বা অ্যান্ড্রয়েড এসডিকে দিয়ে কাজ শুরু করতে, টেস্টমোড নির্বাচন করুন।

    লকড মোড

    মোবাইল এবং ওয়েব ক্লায়েন্ট থেকে সমস্ত রিড এবং রাইট অ্যাক্সেস নিষিদ্ধ করা হয়েছে। আপনার প্রমাণীকৃত অ্যাপ্লিকেশন সার্ভারগুলো এখনও আপনার ডেটাবেস অ্যাক্সেস করতে পারবে।

  3. ডাটাবেসের জন্য একটি অবস্থান নির্বাচন করুন।

    ডাটাবেসের অবস্থানের উপর নির্ভর করে, নতুন ডাটাবেসের URL-টি নিম্নলিখিত রূপগুলির মধ্যে একটিতে হবে:

    • DATABASE_NAME .firebaseio.com ( us-central1 এর ডাটাবেসগুলোর জন্য)

    • DATABASE_NAME . REGION .firebasedatabase.app (অন্যান্য সকল স্থানের ডেটাবেসের জন্য)

  4. সম্পন্ন ক্লিক করুন।

আপনি যখন Realtime Database সক্রিয় করেন, তখন ক্লাউড এপিআই ম্যানেজারে থাকা এপিআই-টিও সক্রিয় হয়ে যায়।

firebase::App তৈরি এবং প্রারম্ভিকীকরণ করুন

Realtime Database অ্যাক্সেস করার আগে, আপনাকে firebase::App তৈরি এবং ইনিশিয়ালাইজ করতে হবে।

firebase::App এর জন্য হেডার ফাইলটি অন্তর্ভুক্ত করুন:

#include "firebase/app.h"

অ্যান্ড্রয়েড

firebase::App তৈরি করুন এবং আর্গুমেন্ট হিসেবে জাভা অ্যাক্টিভিটিতে JNI এনভায়রনমেন্ট ও একটি jobject রেফারেন্স পাস করুন:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"), jni_env, activity);

iOS+

firebase::App তৈরি করুন:

app = ::firebase::App::Create(::firebase::AppOptions("APPLICATION NAME"));

firebase::database::Database ক্লাস অ্যাক্সেস করুন

` firebase::database::Database হলো Firebase Realtime Database সি++ এসডিকে-এর এন্ট্রি পয়েন্ট।

::firebase::database::Database *database = ::firebase::database::Database::GetInstance(app);

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

সীমাবদ্ধ অ্যাক্সেস সেট আপ করা

আপনি যদি পাবলিক অ্যাক্সেস ব্যবহার করতে না চান, তাহলে ডাটাবেসে অ্যাক্সেস নিয়ন্ত্রণ করতে আপনার অ্যাপে Firebase Authentication যোগ করতে পারেন।

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

পরিচিত সমস্যা

  • ডেস্কটপ প্ল্যাটফর্মে (উইন্ডোজ, ম্যাক, লিনাক্স), Firebase C++ এসডিকে আপনার ডাটাবেস অ্যাক্সেস করার জন্য REST ব্যবহার করে। এই কারণে, ডেস্কটপে Query::OrderByChild() এর সাথে ব্যবহৃত ইনডেক্সগুলো আপনাকে অবশ্যই ডিক্লেয়ার করতে হবে, অন্যথায় আপনার লিসেনারগুলো কাজ করবে না।
  • Realtime Database ডেস্কটপ ওয়ার্কফ্লো সংস্করণ অফলাইন বা ডেটা স্থায়িত্ব সমর্থন করে না।