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

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

قبل از شروع

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

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

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

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

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

کلاس FirebaseAuth دروازه همه تماس‌های API است. از طریق FirebaseAuth.DefaultInstance قابل دسترسی است.
Firebase.Auth.FirebaseAuth auth = Firebase.Auth.FirebaseAuth.DefaultInstance;
1. با 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 ، بدون احراز هویت، تکمیل کنید. به عنوان مثال، رمز Google ID کاربر، نشانه دسترسی فیس بوک، یا آدرس ایمیل و رمز عبور را دریافت کنید.
  2. یک Firebase.Auth.Credential برای ارائه دهنده احراز هویت جدید دریافت کنید:

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

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

پاکسازی خودکار

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

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

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

مراحل بعدی

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