Join us for Firebase Summit on November 10, 2021. Tune in to learn how Firebase can help you accelerate app development, release with confidence, and scale with ease. Register

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

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

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

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

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

    যদি আপনার C ++ প্রকল্প ইতিমধ্যেই Firebase ব্যবহার করে, তাহলে এটি ইতিমধ্যেই নিবন্ধিত এবং Firebase- এর জন্য কনফিগার করা আছে।

  • যোগ Firebase সি ++ SDK এর আপনার সি ++ প্রকল্পে।

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

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

একটি ফর্ম তৈরি করুন যা নতুন ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং একটি পাসওয়ার্ড ব্যবহার করে আপনার অ্যাপে নিবন্ধন করতে দেয়। একটি ব্যবহারকারী ফর্ম সমাপ্ত হলে, ইমেইল ঠিকানা এবং পাসওয়ার্ড ব্যবহারকারী দ্বারা উপলব্ধ যাচাই, তারপর তাদের পাস 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");
    }
    // ...
  }
};

সঙ্গে শ্রোতা সংযুক্ত করুন firebase::auth::Auth বস্তুর AddAuthStateListener পদ্ধতি:

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

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

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