C++-এর জন্য Firebase Realtime Database ব্যবহার শুরু করা

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

আপনি শুরু করার আগে

Firebase Realtime Database ব্যবহার করার আগে, আপনাকে যা করতে হবে:

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

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

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

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

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

  1. Firebase কনসোলে, ডেটাবেস ও স্টোরেজ > রিয়েল-টাইম ডেটাবেস বিকল্পে নেভিগেট করুন।

  2. ডেটাবেস তৈরি করুন বিকল্পে ক্লিক করুন।

  3. আপনার Firebase Security Rules-এর জন্য শুরুর মোড বেছে নিন:

    টেস্ট মোড

    মোবাইল ও ওয়েব ক্লায়েন্ট লাইব্রেরি ব্যবহার শুরু করার জন্য ভাল, তবে এটি যে কাউকে আপনার ডেটা পড়তে ও ওভাররাইট করার অনুমতি দেয়। টেস্ট করার পরে, Firebase Realtime Database-এর নিয়মাবলী বুঝুন বিভাগটি পর্যালোচনা করতে ভুলবেন না।

    ওয়েব, Apple বা Android SDK-এর মাধ্যমে শুরু করতে, testmode বেছে নিন।

    লক করা মোড

    মোবাইল এবং ওয়েব ক্লায়েন্ট থেকে সব রিড ও রাইট করার অনুমতি বাতিল করে। আপনার যাচাই করা অ্যাপ্লিকেশন সার্ভার এখনও আপনার ডেটাবেস অ্যাক্সেস করতে পারবে।

  4. ডেটাবেসের জন্য একটি লোকেশন বেছে নিন।

    ডেটাবেসের লোকেশন অনুযায়ী, নতুন ডেটাবেসের URL নিম্নলিখিত ফর্ম্যাটের মধ্যে কোনও একটি হবে:

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

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

  5. হয়ে গেছে বিকল্পে ক্লিক করুন।

আপনি Realtime Database চালু করলে, এটি Cloud API Manager-এও API চালু করে।

firebase::App তৈরি ও ইনিশিয়ালাইজ করা

Realtime Database অ্যাক্সেস করার আগে, আপনাকে firebase::App তৈরি ও শুরু করতে হবে।

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

#include "firebase/app.h"

Android

firebase::App তৈরি করুন, JNI এনভায়রনমেন্ট এবং আর্গুমেন্ট হিসেবে Java অ্যাক্টিভিটির 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 C++ SDK-এর এন্ট্রি পয়েন্ট।

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

আপনি যদি নিজের নিয়মের জন্য সর্বজনীন অ্যাক্সেস ব্যবহার করার বিকল্প বেছে নেন, তাহলে আপনি ডেটা সেভ ও ফিরিয়ে আনার বিভাগে যেতে পারবেন।

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

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

পরবর্তী ধাপ

জ্ঞাত সমস্যা

  • ডেস্কটপ প্ল্যাটফর্মে (Windows, Mac, Linux), Firebase C++ SDK আপনার ডেটাবেস অ্যাক্সেস করতে REST ব্যবহার করে। এই কারণে, আপনাকে অবশ্যই আপনার ব্যবহার করা ইনডেক্স ঘোষণা করতে হবে ডেস্কটপে Query::OrderByChild() সহ বা আপনার শ্রোতারা ব্যর্থ হবে।
  • Realtime Database-এর ডেস্কটপ ওয়ার্কফ্লো ভার্সনে অফলাইন বা পারসিস্টেন্স কাজ করে না।