Firebase রিয়েলটাইম ডেটাবেস NoSQL ক্লাউড ডেটাবেস ব্যবহার করে ডেটা স্টোর ও সিঙ্ক করে। রিয়েল-টাইমে সব ক্লায়েন্ট জুড়ে ডেটা সিঙ্ক্রোনাইজ করা হয় এবং আপনার অ্যাপ অফলাইন হয়ে গেলেও উপলভ্য থাকে।
আপনি শুরু করার আগে
Firebase Realtime Database ব্যবহার করার আগে, আপনাকে যা করতে হবে:
আপনার C++ প্রোজেক্ট রেজিস্টার করুন এবং Firebase ব্যবহার করার জন্য এটি কনফিগার করুন।
আপনার C++ প্রোজেক্ট আগে থেকেই Firebase ব্যবহার করলে, এটি আগে থেকেই রেজিস্টার করা আছে এবং Firebase-এর জন্য কনফিগার করা আছে।
আপনার C++ প্রোজেক্টে Firebase C++ SDK যোগ করুন।
মনে রাখবেন যে আপনার C++ প্রোজেক্টে Firebase যোগ করার জন্য Firebase কনসোল এবং আপনার খোলা C++ প্রোজেক্ট (যেমন, আপনি কনসোল থেকে Firebase কনফিগারেশন ফাইল ডাউনলোড করেন, তারপর সেগুলিকে আপনার C++ প্রোজেক্টে সরান) দুটিতেই টাস্ক থাকে।
ডেটাবেস তৈরি করুন
Firebase কনসোলে, ডেটাবেস ও স্টোরেজ > রিয়েল-টাইম ডেটাবেস বিকল্পে যান।
ডেটাবেস তৈরি করুন বিকল্পে ক্লিক করুন।
আপনার Firebase Security Rules-এর জন্য একটি স্টার্টিং মোড বেছে নিন:
- টেস্ট মোড
মোবাইল ও ওয়েব ক্লায়েন্ট লাইব্রেরি ব্যবহার শুরু করার জন্য ভাল, তবে এটি যে কাউকে আপনার ডেটা পড়তে ও ওভাররাইট করতে দেয়। টেস্ট করার পরে, Firebase রিয়েলটাইম ডেটাবেস নিয়মাবলী বুঝুন বিভাগটি পর্যালোচনা করতে ভুলবেন না।
ওয়েব, Apple বা Android SDK ব্যবহার শুরু করতে, testmode বেছে নিন।
- লক করা মোড
মোবাইল ও ওয়েব ক্লায়েন্ট থেকে সব রিড ও রাইট অ্যাক্সেস বাতিল করে। আপনার যাচাই করা অ্যাপ্লিকেশন সার্ভার এখনও আপনার ডেটাবেস অ্যাক্সেস করতে পারবে।
ডেটাবেসের জন্য একটি লোকেশন বেছে নিন।
ডেটাবেসের লোকেশন-এর উপর নির্ভর করে, নতুন ডেটাবেসের URL নিম্নলিখিত ফর্মগুলির মধ্যে একটিতে থাকবে:
(DATABASE_NAME.firebaseio.comus-central1-এ ডেটাবেসের জন্য) (অন্যান্য সব লোকেশনে ডেটাবেসের জন্য)DATABASE_NAME.REGION.firebasedatabase.app
হয়ে গেছে বিকল্পে ক্লিক করুন।
আপনি 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 যোগ করতে পারেন।
পরবর্তী ধাপ
Realtime Database-এর জন্য কীভাবে ডেটা স্ট্রাকচার করতে হয় তা জানুন।
আপনার অ্যাপ লঞ্চ করার জন্য প্রস্তুত হন:
- Google Cloud কনসোলে আপনার প্রোজেক্টের জন্য বাজেট সংক্রান্ত সতর্কতা সেট-আপ করুন।
- Firebase কনসোলে ব্যবহার ও বিলিং ড্যাশবোর্ড মনিটর করুন যাতে একাধিক Firebase পরিষেবা জুড়ে আপনার প্রোজেক্টের ব্যবহারের সামগ্রিক ছবি পেতে পারেন। এছাড়াও, ব্যবহারের তথ্য আরও বিস্তারিতভাবে জানতে, আপনি Realtime Database ব্যবহার ড্যাশবোর্ড দেখতে পারেন।
- Firebase লঞ্চ চেকলিস্ট পর্যালোচনা করুন।
জ্ঞাত সমস্যা
- ডেস্কটপ প্ল্যাটফর্মে (Windows, Mac, Linux), Firebase C++ SDK আপনার ডেটাবেস অ্যাক্সেস করতে REST ব্যবহার করে। এই কারণে, আপনাকে অবশ্যই আপনার ব্যবহার করা ইনডেক্স ঘোষণা করতে হবে ডেস্কটপে Query::OrderByChild() সহ, অন্যথায় আপনার লিসেনার কাজ করবে না।
- Realtime Database-এর ডেস্কটপ ওয়ার্কফ্লো ভার্সনে অফলাইন বা পারসিস্টেন্স কাজ করে না।