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 রিয়েলটাইম ডেটাবেস নিয়মাবলী বুঝুন বিভাগটি পর্যালোচনা করতে ভুলবেন না।

    ওয়েব, 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 Class অ্যাক্সেস করুন

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-এর ডেস্কটপ ওয়ার্কফ্লো ভার্সনে অফলাইন বা পারসিস্টেন্স কাজ করে না।