অ্যান্ড্রয়েডে বেনামে ফায়ারবেস দিয়ে প্রমাণীকরণ করুন

আপনি Firebase প্রমাণীকরণ ব্যবহার করতে পারেন এবং Firebase দিয়ে প্রমাণীকরণের জন্য অস্থায়ী বেনামী অ্যাকাউন্টগুলি ব্যবহার করতে পারেন। এই অস্থায়ী বেনামী অ্যাকাউন্টগুলি ব্যবহারকারীদের সুরক্ষা বিধি দ্বারা সুরক্ষিত ডেটা নিয়ে কাজ করার অনুমতি দেওয়ার জন্য ব্যবহার করা যেতে পারে। একটি বেনামী ব্যবহারকারীর আপনার অ্যাপ্লিকেশনে সাইন আপ করার সিদ্ধান্ত নিলে আপনি পারেন বেনামী অ্যাকাউন্টে পরিচয়পত্র সাইন-ইন তাদের লিঙ্কে যাতে তারা ভবিষ্যতে সেশনে তাদের সংরক্ষিত তথ্য দিয়ে কাজ চালিয়ে যেতে পারেন।

তুমি শুরু করার আগে

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

    জাভা

    dependencies {
        // Import the BoM for the Firebase platform
        implementation platform('com.google.firebase:firebase-bom:28.4.1')
    
        // 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 অ্যান্ড্রয়েড Bom , আপনার অ্যাপ্লিকেশন সবসময় Firebase অ্যান্ড্রয়েড লাইব্রেরি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

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

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

    মনে রাখবেন যদি আপনি আপনার অ্যাপ্লিকেশন একাধিক 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:28.4.1')
    
        // 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 অ্যান্ড্রয়েড Bom , আপনার অ্যাপ্লিকেশন সবসময় Firebase অ্যান্ড্রয়েড লাইব্রেরি সামঞ্জস্যপূর্ণ সংস্করণ ব্যবহার করবে।

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

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

    মনে রাখবেন যদি আপনি আপনার অ্যাপ্লিকেশন একাধিক 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'
    }
    
  3. আপনি এখনও আপনার Firebase প্রকল্পে আপনার অ্যাপ সংযুক্ত না করে থাকেন, থেকে তা করতে Firebase কনসোল
  4. বেনামী লেখক সক্ষম করুন:
    1. ইন Firebase কনসোল , প্রমাণীকরণ অধ্যায় খুলুন।
    2. সাইন-ইন পদ্ধতি পৃষ্ঠায়, বেনামী সাইন-ইন পদ্ধতি সক্ষম করুন।

বেনামে Firebase দিয়ে প্রমাণীকরণ করুন

যখন একজন সাইন-আউট করা ব্যবহারকারী ফায়ারবেসের সাথে প্রমাণীকরণের প্রয়োজন এমন একটি অ্যাপ বৈশিষ্ট্য ব্যবহার করেন, তখন নিম্নলিখিত পদক্ষেপগুলি সম্পন্ন করে ব্যবহারকারীকে বেনামে সাইন ইন করুন:

  1. আপনার কার্যকলাপের এর দশকে onCreate পদ্ধতি, ভাগ উদাহরণস্বরূপ পেতে FirebaseAuth বস্তু:

    জাভা

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

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

    private lateinit var auth: FirebaseAuth
    // ...
    // Initialize Firebase Auth
    auth = Firebase.auth
  2. আপনার কার্যকলাপ আরম্ভ করার সময়, ব্যবহারকারী বর্তমানে সাইন ইন আছে কিনা তা পরীক্ষা করুন:

    জাভা

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

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

    public override fun onStart() {
        super.onStart()
        // Check if user is signed in (non-null) and update UI accordingly.
        val currentUser = auth.currentUser
        updateUI(currentUser)
    }
  3. অবশেষে, কল signInAnonymously একটি বেনামী ব্যবহারকারী হিসাবে সাইন ইন করুন:

    জাভা

    mAuth.signInAnonymously()
            .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, "signInAnonymously:success");
                        FirebaseUser user = mAuth.getCurrentUser();
                        updateUI(user);
                    } else {
                        // If sign in fails, display a message to the user.
                        Log.w(TAG, "signInAnonymously:failure", task.getException());
                        Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.",
                                Toast.LENGTH_SHORT).show();
                        updateUI(null);
                    }
                }
            });

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

    auth.signInAnonymously()
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    // Sign in success, update UI with the signed-in user's information
                    Log.d(TAG, "signInAnonymously:success")
                    val user = auth.currentUser
                    updateUI(user)
                } else {
                    // If sign in fails, display a message to the user.
                    Log.w(TAG, "signInAnonymously:failure", task.exception)
                    Toast.makeText(baseContext, "Authentication failed.",
                            Toast.LENGTH_SHORT).show()
                    updateUI(null)
                }
            }
    সাইন-ইন সফল হলে আপনি ব্যবহার করতে পারেন getCurrentUser পদ্ধতি ব্যবহারকারীর অ্যাকাউন্ট ডেটা জন্য।

একটি বেনামী অ্যাকাউন্টকে স্থায়ী অ্যাকাউন্টে রূপান্তর করুন

যখন কোনো বেনামী ব্যবহারকারী আপনার অ্যাপে সাইন আপ করে, আপনি তাদের নতুন অ্যাকাউন্ট দিয়ে তাদের কাজ চালিয়ে যেতে দিতে চাইতে পারেন - উদাহরণস্বরূপ, ব্যবহারকারী তাদের শপিং কার্টে যোগ করা আইটেমগুলি তাদের নতুন সাইন আপ করার আগে করতে পারেন। অ্যাকাউন্টের শপিং কার্ট। এটি করার জন্য, নিম্নলিখিত পদক্ষেপগুলি সম্পূর্ণ করুন:

  1. ব্যবহারকারী লক্ষণ আপ, সাইন ইন এ ব্যবহারকারীর প্রমাণীকরণ প্রদানকারী আপ জন্য প্রবাহ সম্পন্ন, কিন্তু সহ না, অপরকে আহ্বানের যখন FirebaseAuth.signInWith পদ্ধতি। উদাহরণস্বরূপ, ব্যবহারকারীর গুগল আইডি টোকেন, ফেসবুক অ্যাক্সেস টোকেন, অথবা ইমেল ঠিকানা এবং পাসওয়ার্ড পান।
  2. একটি পান AuthCredential নতুন প্রমাণীকরণ সরবরাহকারীর জন্য:

    গুগল সাইন-ইন

    জাভা

    AuthCredential credential = GoogleAuthProvider.getCredential(googleIdToken, null);

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

    val credential = GoogleAuthProvider.getCredential(googleIdToken, null)
    ফেসবুক লগইন

    জাভা

    AuthCredential credential = FacebookAuthProvider.getCredential(token.getToken());

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

    val credential = FacebookAuthProvider.getCredential(token.token)
    ইমেল-পাসওয়ার্ড সাইন-ইন

    জাভা

    AuthCredential credential = EmailAuthProvider.getCredential(email, password);

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

    val credential = EmailAuthProvider.getCredential(email, password)
  3. পাশ AuthCredential সাইন-ইন ব্যবহারকারীর বস্তুর linkWithCredential পদ্ধতি:

    জাভা

    mAuth.getCurrentUser().linkWithCredential(credential)
            .addOnCompleteListener(this, new OnCompleteListener<AuthResult>() {
                @Override
                public void onComplete(@NonNull Task<AuthResult> task) {
                    if (task.isSuccessful()) {
                        Log.d(TAG, "linkWithCredential:success");
                        FirebaseUser user = task.getResult().getUser();
                        updateUI(user);
                    } else {
                        Log.w(TAG, "linkWithCredential:failure", task.getException());
                        Toast.makeText(AnonymousAuthActivity.this, "Authentication failed.",
                                Toast.LENGTH_SHORT).show();
                        updateUI(null);
                    }
                }
            });

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

    auth.currentUser!!.linkWithCredential(credential)
            .addOnCompleteListener(this) { task ->
                if (task.isSuccessful) {
                    Log.d(TAG, "linkWithCredential:success")
                    val user = task.result?.user
                    updateUI(user)
                } else {
                    Log.w(TAG, "linkWithCredential:failure", task.exception)
                    Toast.makeText(baseContext, "Authentication failed.",
                            Toast.LENGTH_SHORT).show()
                    updateUI(null)
                }
            }

থেকে কল তাহলে linkWithCredential সফল, ব্যবহারকারীর নতুন অ্যাকাউন্ট বেনামী অ্যাকাউন্টের Firebase তথ্য অ্যাক্সেস করতে পারেন।

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

এখন যে ব্যবহারকারীরা Firebase সহ প্রমাণীকরণ পারে, আপনি ব্যবহার করে আপনার Firebase ডাটাবেসের মধ্যে তথ্য তাদের এক্সেস নিয়ন্ত্রণ করতে পারেন Firebase নিয়ম