আপনার অ্যাপটি Firebase-এর সাথে সংযুক্ত করুন
যদি আপনি ইতিমধ্যেই না করে থাকেন, তাহলে আপনার অ্যান্ড্রয়েড প্রজেক্টে Firebase যোগ করুন ।
আপনার অ্যাপে Firebase Authentication যোগ করুন
আপনার মডিউল (অ্যাপ-লেভেল) গ্র্যাডেল ফাইলে (সাধারণত
<project>/<app-module>/build.gradle.ktsঅথবা<project>/<app-module>/build.gradle), Android এর জন্য Firebase Authentication লাইব্রেরির জন্য নির্ভরতা যোগ করুন। লাইব্রেরি সংস্করণ নিয়ন্ত্রণ করতে আমরা Firebase Android BoM ব্যবহার করার পরামর্শ দিই।dependencies { // Import the BoM for the Firebase platform implementation(platform("com.google.firebase:firebase-bom:34.9.0")) // Add 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 লাইব্রেরি সংস্করণ তার নির্ভরতা লাইনে নির্দিষ্ট করতে হবে।
মনে রাখবেন যে আপনি যদি আপনার অ্যাপে একাধিক Firebase লাইব্রেরি ব্যবহার করেন, তাহলে আমরা দৃঢ়ভাবে লাইব্রেরি সংস্করণগুলি পরিচালনা করার জন্য BoM ব্যবহার করার পরামর্শ দিচ্ছি, যা নিশ্চিত করে যে সমস্ত সংস্করণ সামঞ্জস্যপূর্ণ।
dependencies { // Add 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:24.0.1") }
একটি প্রমাণীকরণ প্রদানকারী ব্যবহার করতে, আপনাকে Firebase কনসোলে এটি সক্ষম করতে হবে। আপনার অ্যাপের জন্য ইমেল/পাসওয়ার্ড সাইন-ইন এবং আপনার পছন্দের অন্য যেকোনো পরিচয় প্রদানকারী সক্ষম করতে Firebase Authentication বিভাগের সাইন-ইন পদ্ধতি পৃষ্ঠায় যান।
(ঐচ্ছিক) Firebase Local Emulator Suite দিয়ে প্রোটোটাইপ এবং পরীক্ষা করুন
আপনার অ্যাপ ব্যবহারকারীদের কীভাবে প্রমাণীকরণ করে তা নিয়ে কথা বলার আগে, আসুন Authentication কার্যকারিতা প্রোটোটাইপ এবং পরীক্ষা করার জন্য আপনি যে সরঞ্জামগুলি ব্যবহার করতে পারেন তার একটি সেট পরিচয় করিয়ে দেই: Firebase Local Emulator Suite । যদি আপনি প্রমাণীকরণ কৌশল এবং সরবরাহকারীদের মধ্যে একটি বেছে নিচ্ছেন, Authentication এবং Firebase Security Rules ব্যবহার করে পাবলিক এবং প্রাইভেট ডেটা সহ বিভিন্ন ডেটা মডেল চেষ্টা করে দেখুন, অথবা সাইন-ইন UI ডিজাইন প্রোটোটাইপ করুন, তাহলে লাইভ পরিষেবা স্থাপন না করে স্থানীয়ভাবে কাজ করতে সক্ষম হওয়া একটি দুর্দান্ত ধারণা হতে পারে।
একটি Authentication এমুলেটর হল Local Emulator Suite অংশ, যা আপনার অ্যাপকে এমুলেটেড ডাটাবেস কন্টেন্ট এবং কনফিগারেশনের সাথে ইন্টারঅ্যাক্ট করতে সক্ষম করে, সেইসাথে ঐচ্ছিকভাবে আপনার এমুলেটেড প্রকল্প সংস্থানগুলির (ফাংশন, অন্যান্য ডাটাবেস এবং নিরাপত্তা নিয়ম) সাথেও।
Authentication এমুলেটর ব্যবহার করতে মাত্র কয়েকটি ধাপ জড়িত:
- এমুলেটরের সাথে সংযোগ স্থাপনের জন্য আপনার অ্যাপের টেস্ট কনফিগারেশনে কোডের একটি লাইন যোগ করা হচ্ছে।
- আপনার স্থানীয় প্রকল্প ডিরেক্টরির রুট থেকে,
firebase emulators:startচালান। - ইন্টারেক্টিভ প্রোটোটাইপিংয়ের জন্য Local Emulator Suite UI ব্যবহার করা, অথবা নন-ইন্টারেক্টিভ পরীক্ষার জন্য Authentication এমুলেটর REST API ব্যবহার করা।
একটি বিস্তারিত নির্দেশিকা "Connect your app to the Authentication emulator" বিভাগে পাওয়া যাবে। আরও তথ্যের জন্য, Local Emulator Suite ভূমিকা দেখুন।
এবার চলুন ব্যবহারকারীদের প্রমাণীকরণের পদ্ধতি নিয়ে আলোচনা করা যাক।
বর্তমান প্রমাণীকরণ অবস্থা পরীক্ষা করুন
FirebaseAuthএর একটি উদাহরণ ঘোষণা করুন।Kotlin
private lateinit var auth: FirebaseAuth
Java
private FirebaseAuth mAuth;
onCreate()পদ্ধতিতে,FirebaseAuthইনস্ট্যান্সটি ইনিশিয়ালাইজ করুন।Kotlin
// Initialize Firebase Auth auth = Firebase.auth
Java
// Initialize Firebase Auth mAuth = FirebaseAuth.getInstance();
আপনার অ্যাক্টিভিটি শুরু করার সময়, ব্যবহারকারী বর্তমানে সাইন ইন আছেন কিনা তা পরীক্ষা করে দেখুন।
Kotlin
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() } }
Java
@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(); } }
নতুন ব্যবহারকারীদের জন্য সাইন আপ করুন
একটি নতুন createAccount পদ্ধতি তৈরি করুন যা একটি ইমেল ঠিকানা এবং পাসওয়ার্ড গ্রহণ করে, সেগুলি যাচাই করে এবং তারপর createUserWithEmailAndPassword পদ্ধতি ব্যবহার করে একটি নতুন ব্যবহারকারী তৈরি করে।
Kotlin
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) } }
Java
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); } } });
নতুন ব্যবহারকারীদের ইমেল এবং পাসওয়ার্ড দিয়ে নিবন্ধন করার জন্য একটি ফর্ম যোগ করুন এবং জমা দেওয়ার সময় এই নতুন পদ্ধতিটি কল করুন। আপনি আমাদের কুইকস্টার্ট নমুনায় একটি উদাহরণ দেখতে পারেন।
বিদ্যমান ব্যবহারকারীদের সাইন ইন করুন
একটি নতুন signIn পদ্ধতি তৈরি করুন যা একটি ইমেল ঠিকানা এবং পাসওয়ার্ড গ্রহণ করে, সেগুলি যাচাই করে এবং তারপর signInWithEmailAndPassword পদ্ধতি ব্যবহার করে একজন ব্যবহারকারীকে সাইন ইন করে।
Kotlin
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) } }
Java
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); } } });
ব্যবহারকারীদের ইমেল এবং পাসওয়ার্ড দিয়ে সাইন ইন করার জন্য একটি ফর্ম যোগ করুন এবং জমা দেওয়ার সময় এই নতুন পদ্ধতিটি কল করুন। আপনি আমাদের কুইকস্টার্ট নমুনায় একটি উদাহরণ দেখতে পারেন।
ব্যবহারকারীর তথ্য অ্যাক্সেস করুন
যদি কোনও ব্যবহারকারী সফলভাবে সাইন ইন করে থাকেন, তাহলে আপনি getCurrentUser পদ্ধতি ব্যবহার করে যেকোনো সময় তাদের অ্যাকাউন্টের ডেটা পেতে পারেন।
Kotlin
val user = Firebase.auth.currentUser user?.let { // Name, email address, and profile photo Url val name = it.displayName val email = it.email val photoUrl = it.photoUrl // Check if user's email is verified val emailVerified = it.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. val uid = it.uid }
Java
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(); }
পরবর্তী পদক্ষেপ
অন্যান্য পরিচয় এবং প্রমাণীকরণ পরিষেবা যোগ করার নির্দেশিকাগুলি অন্বেষণ করুন: