Check out what’s new from Firebase at Google I/O 2022. Learn more

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

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

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

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

  • আপনার ইউনিটি প্রজেক্ট নিবন্ধন করুন এবং Firebase ব্যবহার করতে কনফিগার করুন।

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

    • আপনার যদি ইউনিটি প্রকল্প না থাকে, আপনি একটি নমুনা অ্যাপ ডাউনলোড করতে পারেন।

  • আপনার ইউনিটি প্রোজেক্টে Firebase Unity SDK (বিশেষ করে, FirebaseAuth.unitypackage ) যোগ করুন।

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

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

একটি ফর্ম তৈরি করুন যা নতুন ব্যবহারকারীদের তাদের ইমেল ঠিকানা এবং একটি পাসওয়ার্ড ব্যবহার করে আপনার গেমের সাথে নিবন্ধন করতে দেয়৷ যখন একজন ব্যবহারকারী ফর্মটি পূরণ করেন, তখন ব্যবহারকারীর দেওয়া ইমেল ঠিকানা এবং পাসওয়ার্ড যাচাই করুন, তারপর CreateUserWithEmailAndPasswordAsync পদ্ধতিতে পাঠান:

auth.CreateUserWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("CreateUserWithEmailAndPasswordAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("CreateUserWithEmailAndPasswordAsync encountered an error: " + task.Exception);
    return;
  }

  // Firebase user has been created.
  Firebase.Auth.FirebaseUser newUser = task.Result;
  Debug.LogFormat("Firebase user created successfully: {0} ({1})",
      newUser.DisplayName, newUser.UserId);
});

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

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

auth.SignInWithEmailAndPasswordAsync(email, password).ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("SignInWithEmailAndPasswordAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("SignInWithEmailAndPasswordAsync encountered an error: " + task.Exception);
    return;
  }

  Firebase.Auth.FirebaseUser newUser = task.Result;
  Debug.LogFormat("User signed in successfully: {0} ({1})",
      newUser.DisplayName, newUser.UserId);
});

একটি প্রমাণীকরণ অবস্থা পরিবর্তন ইভেন্ট হ্যান্ডলার সেট করুন এবং ব্যবহারকারীর ডেটা পান

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

FirebaseAuth অবজেক্টের StateChanged ফিল্ড ব্যবহার করে ইভেন্ট হ্যান্ডলার নিবন্ধন করুন। একজন ব্যবহারকারী সফলভাবে সাইন ইন করলে, আপনি ইভেন্ট হ্যান্ডলারে ব্যবহারকারী সম্পর্কে তথ্য পেতে পারেন।

void InitializeFirebase() {
  auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
  auth.StateChanged += AuthStateChanged;
  AuthStateChanged(this, null);
}

void AuthStateChanged(object sender, System.EventArgs eventArgs) {
  if (auth.CurrentUser != user) {
    bool signedIn = user != auth.CurrentUser && auth.CurrentUser != null;
    if (!signedIn && user != null) {
      DebugLog("Signed out " + user.UserId);
    }
    user = auth.CurrentUser;
    if (signedIn) {
      DebugLog("Signed in " + user.UserId);
      displayName = user.DisplayName ?? "";
      emailAddress = user.Email ?? "";
      photoUrl = user.PhotoUrl ?? "";
    }
  }
}

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

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