با Firebase به صورت ناشناس با استفاده از Unity احراز هویت

شما می‌توانید Firebase Authentication برای ایجاد و استفاده از حساب‌های کاربری ناشناس موقت برای احراز هویت با Firebase استفاده کنید. این حساب‌های کاربری ناشناس موقت می‌توانند برای کاربرانی که هنوز در برنامه شما ثبت نام نکرده‌اند، جهت کار با داده‌های محافظت شده توسط قوانین امنیتی استفاده شوند. اگر یک کاربر ناشناس تصمیم به ثبت نام در برنامه شما بگیرد، می‌توانید اطلاعات ورود او را به حساب کاربری ناشناس پیوند دهید تا بتواند در جلسات آینده با داده‌های محافظت شده خود به کار خود ادامه دهد.

قبل از اینکه شروع کنی

  1. قبل از اینکه بتوانید Firebase Authentication استفاده کنید، باید کیت توسعه نرم‌افزاری (SDK) مربوط به Firebase Unity (به‌طور خاص، FirebaseAuth.unitypackage ) را به پروژه یونیتی خود اضافه کنید.

    دستورالعمل‌های دقیق برای این مراحل اولیه راه‌اندازی را در «افزودن فایربیس به پروژه یونیتی خود» بیابید.

  2. اگر هنوز برنامه خود را به پروژه Firebase خود متصل نکرده‌اید، این کار را از کنسول Firebase انجام دهید.
  3. فعال کردن احراز هویت ناشناس:
    1. در کنسول Firebase ، بخش Auth را باز کنید.
    2. در صفحه روش‌های ورود ، روش ورود ناشناس را فعال کنید.
    3. اختیاری : اگر پروژه خود را به Firebase Authentication with Identity Platform ارتقا داده‌اید، می‌توانید پاکسازی خودکار را فعال کنید. وقتی این تنظیم را فعال می‌کنید، حساب‌های ناشناس قدیمی‌تر از 30 روز به طور خودکار حذف می‌شوند. در پروژه‌هایی که پاکسازی خودکار فعال است، احراز هویت ناشناس دیگر در محدودیت‌های استفاده یا سهمیه‌های صورتحساب محاسبه نمی‌شود. به پاکسازی خودکار مراجعه کنید.

احراز هویت با فایربیس به صورت ناشناس

وقتی کاربری که از سیستم خارج شده و از آن خارج شده است از یک ویژگی برنامه که نیاز به احراز هویت با Firebase دارد استفاده می‌کند، با انجام مراحل زیر، کاربر را به صورت ناشناس وارد سیستم کنید:

کلاس FirebaseAuth دروازه‌ای برای تمام فراخوانی‌های API است و از طریق FirebaseAuth.DefaultInstance قابل دسترسی است.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
۱. تابع Firebase.Auth.FirebaseAuth.SignInAnonymouslyAsync را فراخوانی کنید.
auth.SignInAnonymouslyAsync().ContinueWith(task => {
  if (task.IsCanceled) {
    Debug.LogError("SignInAnonymouslyAsync was canceled.");
    return;
  }
  if (task.IsFaulted) {
    Debug.LogError("SignInAnonymouslyAsync encountered an error: " + task.Exception);
    return;
  }

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

تبدیل حساب کاربری ناشناس به حساب کاربری دائمی

وقتی یک کاربر ناشناس در برنامه شما ثبت نام می‌کند، ممکن است بخواهید به او اجازه دهید تا با حساب جدیدش به کار خود ادامه دهد - برای مثال، ممکن است بخواهید مواردی را که کاربر قبل از ثبت نام به سبد خرید خود اضافه کرده است، در سبد خرید حساب جدیدش نیز موجود کنید. برای انجام این کار، مراحل زیر را انجام دهید:

  1. وقتی کاربر ثبت‌نام می‌کند، جریان ورود به سیستم را برای ارائه‌دهنده‌ی احراز هویت کاربر تا فراخوانی یکی از متدهای Firebase.Auth.FirebaseAuth.SignInAndRetrieveDataWithCredentialAsync تکمیل کنید، اما این شامل آن نمی‌شود. برای مثال، توکن شناسه‌ی گوگل، توکن دسترسی فیس‌بوک یا آدرس ایمیل و رمز عبور کاربر را دریافت کنید.
  2. یک Firebase.Auth.Credential برای ارائه‌دهنده‌ی احراز هویت جدید دریافت کنید:

  3. شیء Firebase.Auth.Credential را به متد LinkWithCredentialAsync کاربر در حال ورود به سیستم ارسال کنید:

اگر فراخوانی LinkWithCredentialAsync با موفقیت انجام شود، حساب کاربری جدید کاربر می‌تواند به داده‌های Firebase حساب کاربری ناشناس دسترسی پیدا کند.

تمیز کردن خودکار

اگر پروژه خود را به Firebase Authentication with Identity Platform ارتقا داده‌اید، می‌توانید پاکسازی خودکار را در کنسول Firebase فعال کنید. وقتی این ویژگی را فعال می‌کنید، به Firebase اجازه می‌دهید حساب‌های ناشناس قدیمی‌تر از 30 روز را به طور خودکار حذف کند. در پروژه‌هایی که پاکسازی خودکار فعال است، احراز هویت ناشناس در محدودیت‌های استفاده یا سهمیه‌های صورتحساب محاسبه نمی‌شود.

  • هر حساب کاربری ناشناسی که پس از فعال کردن پاکسازی خودکار ایجاد شود، ممکن است هر زمان پس از 30 روز پس از ایجاد، به طور خودکار حذف شود.
  • حساب‌های کاربری ناشناس موجود، ۳۰ روز پس از فعال کردن قابلیت پاکسازی خودکار، واجد شرایط حذف خودکار خواهند بود.
  • اگر پاکسازی خودکار را خاموش کنید، هر حساب ناشناسی که برای حذف برنامه‌ریزی شده باشد، همچنان در برنامه حذف باقی خواهد ماند.
  • اگر یک حساب کاربری ناشناس را با پیوند دادن آن به هر روش ورود به سیستم «ارتقاء» دهید، حساب به طور خودکار حذف نمی‌شود.

اگر می‌خواهید قبل از فعال کردن این ویژگی، ببینید چند کاربر تحت تأثیر قرار می‌گیرند، و پروژه خود را به Firebase Authentication with Identity Platform ارتقا داده‌اید، می‌توانید در Cloud Logging بر اساس is_anon فیلتر کنید.

مراحل بعدی

اکنون که کاربران می‌توانند با Firebase احراز هویت شوند، می‌توانید دسترسی آنها به داده‌های موجود در پایگاه داده Firebase خود را با استفاده از قوانین Firebase کنترل کنید.