আপনার অ্যাপটিকে Firebase-এ সংযুক্ত করুন

যদি আপনি ইতিমধ্যেই না করে থাকেন তাহলে আপনার Android প্রকল্পে Firebase যোগ করুন

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

  1. Firebase কনসোলের রিয়েলটাইম ডেটাবেস বিভাগে নেভিগেট করুন। আপনাকে একটি বিদ্যমান ফায়ারবেস প্রকল্প নির্বাচন করতে বলা হবে। ডাটাবেস তৈরির কর্মপ্রবাহ অনুসরণ করুন।

  2. আপনার ফায়ারবেস নিরাপত্তা নিয়মের জন্য একটি প্রারম্ভিক মোড নির্বাচন করুন:

    পরীক্ষা মোড

    মোবাইল এবং ওয়েব ক্লায়েন্ট লাইব্রেরিগুলির সাথে শুরু করার জন্য ভাল, তবে যে কেউ আপনার ডেটা পড়তে এবং ওভাররাইট করতে দেয়৷ পরীক্ষা করার পরে, Firebase রিয়েলটাইম ডেটাবেস নিয়মগুলি বুঝতে ভুলবেন না।

    ওয়েব, Apple বা Android SDK দিয়ে শুরু করতে, testmode নির্বাচন করুন।

    লক করা মোড

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

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

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

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

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

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

আপনি যখন রিয়েলটাইম ডেটাবেস সক্ষম করেন, তখন এটি ক্লাউড এপিআই ম্যানেজারে এপিআইও সক্ষম করে।

আপনার অ্যাপে রিয়েলটাইম ডেটাবেস SDK যোগ করুন

আপনার মডিউলে (অ্যাপ-লেভেল) গ্রেডল ফাইল (সাধারণত <project>/<app-module>/build.gradle.kts বা <project>/<app-module>/build.gradle ), রিয়েলটাইম ডেটাবেসের জন্য নির্ভরতা যোগ করুন অ্যান্ড্রয়েডের জন্য লাইব্রেরি। আমরা লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে Firebase Android BoM ব্যবহার করার পরামর্শ দিই।

dependencies {
    // Import the BoM for the Firebase platform
    implementation(platform("com.google.firebase:firebase-bom:32.8.1"))

    // 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 লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন, আমরা দৃঢ়ভাবে লাইব্রেরি সংস্করণগুলি পরিচালনা করতে 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:20.3.1")
}
একটি কোটলিন-নির্দিষ্ট লাইব্রেরি মডিউল খুঁজছেন? অক্টোবর 2023 থেকে শুরু হচ্ছে (Firebase BoM 32.5.0) , Kotlin এবং Java ডেভেলপাররা প্রধান লাইব্রেরি মডিউলের উপর নির্ভর করতে পারে (বিস্তারিত জানতে, এই উদ্যোগ সম্পর্কে প্রায়শই জিজ্ঞাসিত প্রশ্ন দেখুন)।

রিয়েলটাইম ডেটাবেস নিরাপত্তা নিয়ম কনফিগার করুন

রিয়েলটাইম ডেটাবেস একটি ঘোষণামূলক নিয়মের ভাষা প্রদান করে যা আপনাকে আপনার ডেটা কীভাবে কাঠামোগত করা উচিত, কীভাবে এটি সূচীকরণ করা উচিত এবং কখন আপনার ডেটা থেকে পড়া এবং লেখা যেতে পারে তা নির্ধারণ করতে দেয়।

আপনার ডাটাবেসে লিখুন

getInstance() ব্যবহার করে আপনার ডাটাবেসের একটি উদাহরণ পুনরুদ্ধার করুন এবং আপনি যে অবস্থানে লিখতে চান তা উল্লেখ করুন।

Kotlin+KTX

// 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+KTX

// 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-এর সাথে আপনার অ্যাপে ফায়ারবেস রিয়েলটাইম ডেটাবেস ব্যবহার করার সময়, আপনাকে বিবেচনা করতে হবে যে কীভাবে আপনার মডেল অবজেক্টগুলিকে ক্রমানুসারে করা হবে এবং অস্পষ্ট হওয়ার পরে ডিসিরিয়ালাইজ করা হবে। আপনি যদি ডেটা পড়তে এবং লিখতে 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 কমিউনিটি ফোরামে যান।

লঞ্চের জন্য প্রস্তুত করুন

আপনার অ্যাপ চালু করার আগে, আপনার অ্যাপটি চালু করার জন্য প্রস্তুত কিনা তা নিশ্চিত করতে আমরা আমাদের লঞ্চ চেকলিস্টের মাধ্যমে হাঁটার পরামর্শ দিই!

শুধুমাত্র আপনার অ্যাপগুলি আপনার ডেটাবেস অ্যাক্সেস করতে পারে তা নিশ্চিত করতে সহায়তা করার জন্য অ্যাপ চেক সক্ষম করতে ভুলবেন না।

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