যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার অ্যান্ড্রয়েড প্রজেক্টে Firebase যোগ করুন ।
একটি ডাটাবেস তৈরি করুন
Firebase কনসোলের Realtime Database বিভাগে যান। আপনাকে একটি বিদ্যমান Firebase প্রকল্প নির্বাচন করতে বলা হবে। ডাটাবেস তৈরির কর্মপ্রবাহ অনুসরণ করুন।
আপনার Firebase Security Rules জন্য একটি শুরুর মোড নির্বাচন করুন:
- পরীক্ষা মোড
মোবাইল এবং ওয়েব ক্লায়েন্ট লাইব্রেরি দিয়ে শুরু করার জন্য এটি ভালো, তবে যে কেউ আপনার ডেটা পড়তে এবং ওভাররাইট করতে পারে। পরীক্ষার পরে, "আন্ডারস্ট্যান্ড ফায়ারবেস রিয়েলটাইম ডেটাবেস রুলস" বিভাগটি পর্যালোচনা করতে ভুলবেন না।
ওয়েব, অ্যাপল, অথবা অ্যান্ড্রয়েড SDK ব্যবহার শুরু করতে, টেস্টমোড নির্বাচন করুন।
- লকড মোড
মোবাইল এবং ওয়েব ক্লায়েন্টদের থেকে সমস্ত পঠন এবং লেখা অস্বীকার করে। আপনার প্রমাণীকৃত অ্যাপ্লিকেশন সার্ভারগুলি এখনও আপনার ডাটাবেস অ্যাক্সেস করতে পারে।
ডাটাবেসের জন্য একটি অবস্থান নির্বাচন করুন।
ডাটাবেসের অবস্থানের উপর নির্ভর করে, নতুন ডাটাবেসের URL নিম্নলিখিত ফর্মগুলির মধ্যে একটিতে থাকবে:
DATABASE_NAME .firebaseio.com(us-central1এর ডাটাবেসের জন্য)DATABASE_NAME . REGION .firebasedatabase.app(অন্যান্য সকল স্থানের ডাটাবেসের জন্য)
সম্পন্ন ক্লিক করুন।
যখন আপনি Realtime Database সক্ষম করেন, তখন এটি ক্লাউড এপিআই ম্যানেজারে এপিআইও সক্ষম করে।
আপনার অ্যাপে Realtime Database SDK যোগ করুন
আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (সাধারণত<project>/<app-module>/build.gradle.kts অথবা <project>/<app-module>/build.gradle ), অ্যান্ড্রয়েডের জন্য Realtime Database লাইব্রেরির জন্য নির্ভরতা যোগ করুন। লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে আমরা Firebase Android BoM ব্যবহার করার পরামর্শ দিই।dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.4.0")) // Add the dependency for the Realtime Database library // When using the BoM, you don't specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-database") }
Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সর্বদা Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।
(বিকল্প) BoM ব্যবহার না করেই Firebase লাইব্রেরি নির্ভরতা যোগ করুন
যদি আপনি Firebase BoM ব্যবহার না করার সিদ্ধান্ত নেন, তাহলে আপনাকে প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা দৃঢ়ভাবে লাইব্রেরি সংস্করণগুলি পরিচালনা করার জন্য BoM ব্যবহার করার পরামর্শ দিচ্ছি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।
dependencies { // Add the dependency for the Realtime Database library // When NOT using the BoM, you must specify versions in Firebase library dependencies implementation("com.google.firebase:firebase-database:22.0.1") }
Realtime Database Security Rules কনফিগার করুন
Realtime Database একটি ঘোষণামূলক নিয়ম ভাষা প্রদান করে যা আপনাকে আপনার ডেটা কীভাবে গঠন করা উচিত, কীভাবে এটি সূচীবদ্ধ করা উচিত এবং কখন আপনার ডেটা থেকে পড়া এবং লেখা যেতে পারে তা নির্ধারণ করতে দেয়।
আপনার ডাটাবেসে লিখুন
getInstance() ব্যবহার করে আপনার ডাটাবেসের একটি উদাহরণ পুনরুদ্ধার করুন এবং আপনি যে অবস্থানে লিখতে চান তা উল্লেখ করুন।
Kotlin
// Write a message to the database val database = Firebase.database val myRef = database.getReference("message") myRef.setValue("Hello, World!")
Java
// Write a message to the database FirebaseDatabase database = FirebaseDatabase.getInstance(); DatabaseReference myRef = database.getReference("message"); myRef.setValue("Hello, World!");
এইভাবে আপনি ডাটাবেসে বিভিন্ন ধরণের ডেটা সংরক্ষণ করতে পারেন, যার মধ্যে জাভা অবজেক্টও অন্তর্ভুক্ত। যখন আপনি কোনও অবজেক্ট সংরক্ষণ করেন তখন যেকোনো গেটারের প্রতিক্রিয়া এই অবস্থানের শিশু হিসাবে সংরক্ষণ করা হবে।
আপনার ডাটাবেস থেকে পড়ুন
আপনার অ্যাপ ডেটা রিয়েলটাইমে আপডেট করার জন্য, আপনার তৈরি করা রেফারেন্সে একটি ValueEventListener যোগ করা উচিত।
এই ক্লাসের onDataChange() পদ্ধতিটি শ্রোতা সংযুক্ত করার সময় একবার এবং প্রতিবার ডেটা পরিবর্তনের সময়, শিশু সহ, ট্রিগার হয়।
Kotlin
// Read from the database myRef.addValueEventListener(object : ValueEventListener { override fun onDataChange(dataSnapshot: DataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. val value = dataSnapshot.getValue<String>() Log.d(TAG, "Value is: $value") } override fun onCancelled(error: DatabaseError) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()) } })
Java
// Read from the database myRef.addValueEventListener(new ValueEventListener() { @Override public void onDataChange(@NonNull DataSnapshot dataSnapshot) { // This method is called once with the initial value and again // whenever data at this location is updated. String value = dataSnapshot.getValue(String.class); Log.d(TAG, "Value is: " + value); } @Override public void onCancelled(@NonNull DatabaseError error) { // Failed to read value Log.w(TAG, "Failed to read value.", error.toException()); } });
ঐচ্ছিক: ProGuard কনফিগার করুন
আপনার অ্যাপে ProGuard-এর সাথে Firebase Realtime Database ব্যবহার করার সময়, আপনার মডেল অবজেক্টগুলিকে অস্পষ্ট করার পরে কীভাবে সিরিয়ালাইজ এবং ডিসিরিয়ালাইজ করা হবে তা বিবেচনা করতে হবে। যদি আপনি ডেটা পড়তে এবং লেখার জন্য DataSnapshot.getValue(Class) বা DatabaseReference.setValue(Object) ব্যবহার করেন, তাহলে আপনাকে proguard-rules.pro ফাইলে নিয়ম যোগ করতে হবে:
# Add this global rule
-keepattributes Signature
# This rule will properly ProGuard all the model classes in
# the package com.yourcompany.models.
# Modify this rule to fit the structure of your app.
-keepclassmembers class com.yourcompany.models.** {
*;
}
ProGuard সম্পর্কিত প্রশ্ন বা সমস্যার জন্য সাহায্য পেতে, Guardsquare কমিউনিটি ফোরামে যান এবং একজন বিশেষজ্ঞের কাছ থেকে সহায়তা নিন।
লঞ্চের জন্য প্রস্তুত হও
আপনার অ্যাপ চালু করার আগে, আপনার অ্যাপটি ব্যবহারের জন্য প্রস্তুত কিনা তা নিশ্চিত করার জন্য আমরা আমাদের লঞ্চ চেকলিস্টটি দেখে নেওয়ার পরামর্শ দিচ্ছি!
শুধুমাত্র আপনার অ্যাপগুলি যাতে আপনার ডাটাবেস অ্যাক্সেস করতে পারে তা নিশ্চিত করতে App Check সক্ষম করতে ভুলবেন না।
পরবর্তী পদক্ষেপ
- Realtime Database জন্য ডেটা কীভাবে গঠন করতে হয় তা শিখুন
- একাধিক ডাটাবেস ইনস্ট্যান্স জুড়ে আপনার ডেটা স্কেল করুন ।
- তথ্য পড়া এবং লেখা ।
- Firebase কনসোলে আপনার ডাটাবেস দেখুন ।