Android এ Firebase প্রমাণীকরণের সাথে শুরু করুন

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

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

আপনার অ্যাপে Firebase প্রমাণীকরণ যোগ করুন

Firebase Android BoM ব্যবহার করে, আপনার মডিউল (অ্যাপ-লেভেল) গ্রেডল ফাইলে (সাধারণত app/build.gradle ) ফায়ারবেস প্রমাণীকরণ অ্যান্ড্রয়েড লাইব্রেরির জন্য নির্ভরতা ঘোষণা করুন।

জাভা

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

    // Declare the dependency for the Firebase Authentication library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth'
}

Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন

আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন, আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করার জন্য BoM ব্যবহার করার সুপারিশ করি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।

dependencies {
    // Declare the dependency for the Firebase Authentication library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth:21.0.1'
}

কোটলিন+কেটিএক্স

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

    // Declare the dependency for the Firebase Authentication library
    // When using the BoM, you don't specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth-ktx'
}

Firebase Android BoM ব্যবহার করে, আপনার অ্যাপ সবসময় Firebase Android লাইব্রেরির সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

(বিকল্প) BoM ব্যবহার না করে Firebase লাইব্রেরি নির্ভরতা ঘোষণা করুন

আপনি যদি Firebase BoM ব্যবহার না করা বেছে নেন, তাহলে আপনাকে অবশ্যই প্রতিটি Firebase লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে উল্লেখ করতে হবে।

মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক ফায়ারবেস লাইব্রেরি ব্যবহার করেন, আমরা লাইব্রেরি সংস্করণগুলি পরিচালনা করার জন্য BoM ব্যবহার করার সুপারিশ করি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।

dependencies {
    // Declare the dependency for the Firebase Authentication library
    // When NOT using the BoM, you must specify versions in Firebase library dependencies
    implementation 'com.google.firebase:firebase-auth-ktx:21.0.1'
}

একটি প্রমাণীকরণ প্রদানকারী ব্যবহার করতে, আপনাকে এটি Firebase কনসোলে সক্ষম করতে হবে। আপনার অ্যাপের জন্য ইমেল/পাসওয়ার্ড সাইন-ইন এবং অন্য কোনো পরিচয় প্রদানকারীকে সক্ষম করতে Firebase প্রমাণীকরণ বিভাগে সাইন-ইন পদ্ধতি পৃষ্ঠায় যান।

(ঐচ্ছিক) ফায়ারবেস স্থানীয় এমুলেটর স্যুটের সাথে প্রোটোটাইপ এবং পরীক্ষা করুন

আপনার অ্যাপ কীভাবে ব্যবহারকারীদের প্রমাণীকরণ করে সে সম্পর্কে কথা বলার আগে, আসুন প্রমাণীকরণ কার্যকারিতা প্রোটোটাইপ এবং পরীক্ষা করার জন্য আপনি ব্যবহার করতে পারেন এমন সরঞ্জামগুলির একটি সেট উপস্থাপন করা যাক: ফায়ারবেস স্থানীয় এমুলেটর স্যুট। আপনি যদি প্রমাণীকরণ কৌশল এবং প্রদানকারীদের মধ্যে সিদ্ধান্ত নিচ্ছেন, প্রমাণীকরণ এবং ফায়ারবেস সুরক্ষা নিয়ম ব্যবহার করে পাবলিক এবং প্রাইভেট ডেটা সহ বিভিন্ন ডেটা মডেল ব্যবহার করে দেখুন, বা সাইন-ইন UI ডিজাইনের প্রোটোটাইপ করে, লাইভ পরিষেবাগুলি স্থাপন না করে স্থানীয়ভাবে কাজ করতে সক্ষম হওয়া একটি দুর্দান্ত ধারণা হতে পারে। .

একটি প্রমাণীকরণ এমুলেটর হল স্থানীয় এমুলেটর স্যুটের অংশ, যা আপনার অ্যাপকে এমুলেটেড ডাটাবেস সামগ্রী এবং কনফিগারেশনের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে, সেইসাথে ঐচ্ছিকভাবে আপনার অনুকরণ করা প্রকল্প সংস্থানগুলি (ফাংশন, অন্যান্য ডেটাবেস এবং নিরাপত্তা নিয়ম)।

প্রমাণীকরণ এমুলেটর ব্যবহার করার জন্য মাত্র কয়েকটি ধাপ জড়িত:

  1. এমুলেটরের সাথে সংযোগ করতে আপনার অ্যাপের পরীক্ষা কনফিগারে কোডের একটি লাইন যোগ করা হচ্ছে।
  2. আপনার স্থানীয় প্রজেক্ট ডিরেক্টরির রুট থেকে, firebase emulators:start
  3. ইন্টারেক্টিভ প্রোটোটাইপিংয়ের জন্য স্থানীয় এমুলেটর স্যুট UI ব্যবহার করা, অথবা অ-ইন্টারেক্টিভ পরীক্ষার জন্য প্রমাণীকরণ এমুলেটর REST API ব্যবহার করা।

একটি বিস্তারিত নির্দেশিকা Connect your app to Authentication emulator- এ উপলব্ধ। আরও তথ্যের জন্য, স্থানীয় এমুলেটর স্যুটের ভূমিকা দেখুন।

এখন চলুন কিভাবে ব্যবহারকারীদের প্রমাণীকরণ করা যায় তা নিয়ে চলুন।

বর্তমান প্রমাণীকরণ অবস্থা পরীক্ষা করুন

  1. FirebaseAuth এর একটি উদাহরণ ঘোষণা করুন।

    জাভা

    private FirebaseAuth mAuth;

    কোটলিন+কেটিএক্স

    private lateinit var auth: FirebaseAuth
  2. onCreate() পদ্ধতিতে, FirebaseAuth উদাহরণটি শুরু করুন।

    জাভা

    // Initialize Firebase Auth
    mAuth = FirebaseAuth.getInstance();

    কোটলিন+কেটিএক্স

    // Initialize Firebase Auth
    auth = Firebase.auth
  3. আপনার কার্যকলাপ শুরু করার সময়, ব্যবহারকারী বর্তমানে সাইন ইন করা আছে কিনা তা পরীক্ষা করে দেখুন।

    জাভা

    @Override
    public void onStart() {
        super.onStart();
        // Check if user is signed in (non-null) and update UI accordingly.
        FirebaseUser currentUser = mAuth.getCurrentUser();
        if(currentUser != null){
            reload();
        }
    }

    কোটলিন+কেটিএক্স

    public override fun onStart() {
        super.onStart()
        // Check if user is signed in (non-null) and update UI accordingly.
        val currentUser = auth.currentUser
        if(currentUser != null){
            reload();
        }
    }

নতুন ব্যবহারকারীদের সাইন আপ করুন

একটি নতুন createAccount পদ্ধতি তৈরি করুন যা একটি ইমেল ঠিকানা এবং পাসওয়ার্ড নেয়, সেগুলিকে যাচাই করে এবং তারপর createUserWithEmailAndPassword পদ্ধতিতে একটি নতুন ব্যবহারকারী তৈরি করে৷

জাভা

mAuth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "createUserWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "createUserWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                }
            }
        });

কোটলিন+কেটিএক্স

auth.createUserWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "createUserWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "createUserWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }
        }

নতুন ব্যবহারকারীদের তাদের ইমেল এবং পাসওয়ার্ড দিয়ে নিবন্ধন করতে একটি ফর্ম যোগ করুন এবং যখন এটি জমা দেওয়া হয় তখন এই নতুন পদ্ধতিতে কল করুন। আপনি আমাদের কুইকস্টার্ট নমুনায় একটি উদাহরণ দেখতে পারেন।

বিদ্যমান ব্যবহারকারীদের সাইন ইন করুন

একটি নতুন signIn পদ্ধতি তৈরি করুন যা একটি ইমেল ঠিকানা এবং পাসওয়ার্ড গ্রহণ করে, সেগুলিকে যাচাই করে এবং তারপর একটি ব্যবহারকারীকে signInWithEmailAndPassword পদ্ধতিতে সাইন ইন করে৷

জাভা

mAuth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
            @Override
            public void onComplete(@NonNull Task<AuthResult> task) {
                if (task.isSuccessful()) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "signInWithEmail:success");
                    FirebaseUser user = mAuth.getCurrentUser();
                    updateUI(user);
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "signInWithEmail:failure", task.getException());
                    Toast.makeText(EmailPasswordActivity.this, "Authentication failed.",
                            Toast.LENGTH_SHORT).show();
                    updateUI(null);
                }
            }
        });

কোটলিন+কেটিএক্স

auth.signInWithEmailAndPassword(email, password)
        .addOnCompleteListener(this) { task ->
            if (task.isSuccessful) {
                // Sign in success, update UI with the signed-in user's information
                Log.d(TAG, "signInWithEmail:success")
                val user = auth.currentUser
                updateUI(user)
            } else {
                // If sign in fails, display a message to the user.
                Log.w(TAG, "signInWithEmail:failure", task.exception)
                Toast.makeText(baseContext, "Authentication failed.",
                        Toast.LENGTH_SHORT).show()
                updateUI(null)
            }
        }

ব্যবহারকারীদের তাদের ইমেল এবং পাসওয়ার্ড দিয়ে সাইন ইন করার জন্য একটি ফর্ম যোগ করুন এবং যখন এটি জমা দেওয়া হয় তখন এই নতুন পদ্ধতিতে কল করুন। আপনি আমাদের কুইকস্টার্ট নমুনায় একটি উদাহরণ দেখতে পারেন।

ব্যবহারকারীর তথ্য অ্যাক্সেস করুন

যদি কোনো ব্যবহারকারী সফলভাবে সাইন ইন করে থাকেন তাহলে আপনি getCurrentUser পদ্ধতির মাধ্যমে যেকোনো সময়ে তাদের অ্যাকাউন্টের ডেটা পেতে পারেন।

জাভা

FirebaseUser user = FirebaseAuth.getInstance().getCurrentUser();
if (user != null) {
    // Name, email address, and profile photo Url
    String name = user.getDisplayName();
    String email = user.getEmail();
    Uri photoUrl = user.getPhotoUrl();

    // Check if user's email is verified
    boolean emailVerified = user.isEmailVerified();

    // The user's ID, unique to the Firebase project. Do NOT use this value to
    // authenticate with your backend server, if you have one. Use
    // FirebaseUser.getIdToken() instead.
    String uid = user.getUid();
}

কোটলিন+কেটিএক্স

val user = Firebase.auth.currentUser
user?.let {
    // Name, email address, and profile photo Url
    val name = user.displayName
    val email = user.email
    val photoUrl = user.photoUrl

    // Check if user's email is verified
    val emailVerified = user.isEmailVerified

    // The user's ID, unique to the Firebase project. Do NOT use this value to
    // authenticate with your backend server, if you have one. Use
    // FirebaseUser.getToken() instead.
    val uid = user.uid
}

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

অন্যান্য পরিচয় এবং প্রমাণীকরণ পরিষেবাগুলি যোগ করার জন্য গাইডগুলি অন্বেষণ করুন: