Check out what’s new from Firebase@ Google I/O 2021, and join our alpha program for early access to the new Remote Config personalization feature. Learn more

সি ++ তে ফায়ারবেস প্রমাণীকরণের সাথে শুরু করুন

আপনি ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন-ইন এবং গুগল সাইন-ইন এবং ফেসবুক লগইনের মতো ফেডারেটেড পরিচয় সরবরাহকারী সহ এক বা একাধিক সাইন-ইন পদ্ধতি ব্যবহার করে ব্যবহারকারীদের আপনার অ্যাপ্লিকেশনটিতে সাইন ইন করার অনুমতি দিতে আপনি ফায়ারবেস প্রমাণীকরণ ব্যবহার করতে পারেন। এই টিউটোরিয়ালটি আপনার অ্যাপটিতে ইমেল ঠিকানা এবং পাসওয়ার্ড সাইন ইন কীভাবে যুক্ত করবেন তা দেখিয়ে আপনি ফায়ারবেস প্রমাণীকরণ দিয়ে শুরু করেছিলেন started

আপনার সি ++ প্রকল্পটিকে ফায়ারবেসে সংযুক্ত করুন

আপনি ফায়ারবেস প্রমাণীকরণ ব্যবহার করার আগে, আপনার প্রয়োজন:

  • আপনার সি ++ প্রকল্পটি নিবন্ধ করুন এবং ফায়ারবেস ব্যবহারের জন্য এটি কনফিগার করুন।

    যদি আপনার সি ++ প্রকল্পটি ইতিমধ্যে ফায়ারবেস ব্যবহার করে তবে এটি ইতিমধ্যে নিবন্ধভুক্ত এবং ফায়ারবেসের জন্য কনফিগার করা হয়েছে।

  • আপনার সি ++ প্রকল্পে ফায়ারবেস সি ++ এসডিকে যুক্ত করুন

নোট করুন যে আপনার সি ++ প্রকল্পে ফায়ারবেস যুক্ত করা ফায়ারবেস কনসোল এবং আপনার উন্মুক্ত সি ++ প্রকল্পের উভয়ই কাজের সাথে জড়িত (উদাহরণস্বরূপ, আপনি কনসোল থেকে ফায়ারবেস কনফিগারেশন ফাইলগুলি ডাউনলোড করেন, তারপরে সেগুলি আপনার সি ++ প্রকল্পে স্থানান্তরিত করুন)।

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

এমন একটি ফর্ম তৈরি করুন যা নতুন ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং একটি পাসওয়ার্ড ব্যবহার করে আপনার অ্যাপ্লিকেশনটিতে নিবন্ধভুক্ত করতে দেয়। যখন কোনও ব্যবহারকারী ফর্মটি পূরণ করেন, ব্যবহারকারীর দ্বারা প্রদত্ত ইমেল ঠিকানা এবং পাসওয়ার্ডটি যাচাই করুন, তারপরে CreateUserWithEmailAndPassword ব্যবহারকারীর সাথে CreateUserWithEmailAndPassword পদ্ধতিতে দিন:

firebase::Future<firebase::auth::User*> result =
    auth->CreateUserWithEmailAndPassword(email, password);

আপনি CreateUserWithEmailAndPasswordLastResult ফিউচার অবজেক্টে কলব্যাক রেজিস্ট্রেশন করে অথবা আপডেট লুপের স্থিতিটি পোলিং করে কোনও ধরণের সাময়িক আপডেট লুপের সাথে যদি কোনও গেম বা অ্যাপ লিখছেন তবে আপনি অ্যাকাউন্ট তৈরি অপারেশনের স্থিতি পরীক্ষা করতে পারেন।

উদাহরণস্বরূপ, ভবিষ্যত ব্যবহার:

firebase::Future<firebase::auth::User*> result =
    auth->CreateUserWithEmailAndPasswordLastResult();

// The lambda has the same signature as the callback function.
result.OnCompletion(
    [](const firebase::Future<firebase::auth::User*>& result,
       void* user_data) {
      // `user_data` is the same as &my_program_context, below.
      // Note that we can't capture this value in the [] because std::function
      // is not supported by our minimum compiler spec (which is pre C++11).
      MyProgramContext* program_context =
          static_cast<MyProgramContext*>(user_data);

      // Process create user result...
      (void)program_context;
    },
    &my_program_context);

বা, পোলিং ব্যবহার করতে, আপনার গেমের আপডেট লুপটিতে নিম্নলিখিত উদাহরণের মতো কিছু করুন:

firebase::Future<firebase::auth::User*> result =
    auth->CreateUserWithEmailAndPasswordLastResult();
if (result.status() == firebase::kFutureStatusComplete) {
  if (result.error() == firebase::auth::kAuthErrorNone) {
    firebase::auth::User* user = *result.result();
    printf("Create user succeeded for email %s\n", user->email().c_str());
  } else {
    printf("Created user failed with error '%s'\n", result.error_message());
  }
}

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

এমন একটি ফর্ম তৈরি করুন যা বিদ্যমান ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং পাসওয়ার্ড ব্যবহার করে সাইন ইন করতে দেয়। যখন কোনও ব্যবহারকারী ফর্মটি পূরণ করেন, SignInWithEmailAndPassword পদ্ধতিতে কল করুন:

firebase::Future<firebase::auth::User*> result =
    auth->SignInWithEmailAndPassword(email, password);

আপনি যেভাবে সাইন-আপের ফলাফল পেয়েছেন সাইন-ইন অপারেশনের ফলাফল পান।

একটি প্রমাণীকরণের রাষ্ট্র শ্রোতা সেট করুন এবং অ্যাকাউন্ট ডেটা পান

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

firebase::auth::AuthStateListener বিমূর্ত শ্রেণি প্রয়োগ করে শ্রোতাদের তৈরি করুন। উদাহরণস্বরূপ, একটি শ্রোতা তৈরি করতে যা ব্যবহারকারী সম্পর্কে সফলভাবে সাইন ইন করে যখন ব্যবহারকারী সম্পর্কে তথ্য পায়:

class MyAuthStateListener : public firebase::auth::AuthStateListener {
 public:
  void OnAuthStateChanged(firebase::auth::Auth* auth) override {
    firebase::auth::User* user = auth->current_user();
    if (user != nullptr) {
      // User is signed in
      printf("OnAuthStateChanged: signed_in %s\n", user->uid().c_str());
      const std::string displayName = user->DisplayName();
      const std::string emailAddress = user->Email();
      const std::string photoUrl = user->PhotoUrl();
    } else {
      // User is signed out
      printf("OnAuthStateChanged: signed_out\n");
    }
    // ...
  }
};

AddAuthStateListener firebase::auth::Auth শ্রোতাদের সাথে শ্রোতাদের সংযুক্ত করুন: AddAuthStateListener অবজেক্টের AddAuthStateListener পদ্ধতি:

MyAuthStateListener state_change_listener;
auth->AddAuthStateListener(&state_change_listener);

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

অন্যান্য পরিচয় সরবরাহকারী এবং বেনামে অতিথি অ্যাকাউন্টগুলির জন্য কীভাবে সমর্থন যুক্ত করবেন তা শিখুন: