المصادقة مع Firebase بشكل مجهول باستخدام Unity

يمكنك استخدام مصادقة Firebase لإنشاء واستخدام حسابات مؤقتة مجهولة المصدر للمصادقة مع Firebase. يمكن استخدام هذه الحسابات المجهولة المؤقتة للسماح للمستخدمين الذين لم يسجلوا بعد في تطبيقك بالعمل مع البيانات المحمية بقواعد الأمان. إذا قرر مستخدم مجهول التسجيل في تطبيقك ، فيمكنك ربط بيانات اعتماد تسجيل الدخول الخاصة به بالحساب المجهول حتى يتمكنوا من الاستمرار في العمل ببياناتهم المحمية في الجلسات المستقبلية.

قبل ان تبدأ

  1. قبل أن تتمكن من استخدام مصادقة Firebase ، تحتاج إلى إضافة Firebase Unity SDK (على وجه التحديد ، FirebaseAuth.unitypackage ) إلى مشروع الوحدة الخاص بك.

    اعثر على الإرشادات التفصيلية لخطوات الإعداد الأولية هذه في إضافة Firebase إلى مشروع الوحدة الخاص بك .

  2. إذا لم تكن قد ربطت تطبيقك بمشروع Firebase حتى الآن ، فافعل ذلك من وحدة تحكم Firebase .
  3. تمكين المصادقة المجهولة:
    1. في وحدة تحكم Firebase ، افتح قسم المصادقة .
    2. في صفحة أساليب تسجيل الدخول ، قم بتمكين طريقة تسجيل الدخول المجهول .
    3. اختياري : إذا قمت بترقية مشروعك إلى Firebase Authentication مع Identity Platform ، فيمكنك تمكين التنظيف التلقائي. عند تمكين هذا الإعداد ، سيتم تلقائيًا حذف الحسابات المجهولة التي مضى عليها أكثر من 30 يومًا. في المشاريع التي تم تمكين التنظيف التلقائي لها ، لن يتم احتساب المصادقة المجهولة بعد الآن ضمن حدود الاستخدام أو حصص الفواتير. انظر التنظيف التلقائي .

مصادقة مع Firebase بشكل مجهول

عندما يستخدم مستخدم سجّل الخروج ميزة تطبيق تتطلب مصادقة مع Firebase ، سجّل دخول المستخدم كمجهول من خلال إكمال الخطوات التالية:

فئة FirebaseAuth هي البوابة لجميع استدعاءات واجهة برمجة التطبيقات. يمكن الوصول إليه من خلال 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 الخاص بالمستخدم أو رمز الوصول إلى Facebook أو عنوان البريد الإلكتروني وكلمة المرور.
  2. احصل على Firebase.Auth.Credential لموفر المصادقة الجديد:

  3. قم بتمرير كائن Firebase.Auth.Credential إلى أسلوب LinkWithCredentialAsync الخاص بمستخدم تسجيل الدخول:

إذا نجح الاتصال بـ LinkWithCredentialAsync ، فيمكن لحساب المستخدم الجديد الوصول إلى بيانات Firebase الخاصة بالحساب المجهول.

التنظيف التلقائي

إذا قمت بترقية مشروعك إلى Firebase Authentication باستخدام Identity Platform ، فيمكنك تمكين التنظيف التلقائي في وحدة تحكم Firebase. عند تمكين هذه الميزة التي تسمح بها ، يقوم Firebase تلقائيًا بحذف الحسابات المجهولة التي مضى عليها أكثر من 30 يومًا. في المشاريع التي تم تمكين التنظيف التلقائي لها ، لن يتم احتساب المصادقة المجهولة ضمن حدود الاستخدام أو حصص الفواتير.

  • قد يتم حذف أي حسابات مجهولة المصدر تم إنشاؤها بعد تمكين التنظيف التلقائي تلقائيًا في أي وقت بعد 30 يومًا من الإنشاء.
  • ستكون الحسابات المجهولة التي تم إنشاؤها قبل تمكين التنظيف التلقائي مؤهلة للحذف التلقائي بدءًا من 30 يومًا بعد تمكين التنظيف التلقائي.
  • إذا قمت بإيقاف تشغيل التنظيف التلقائي ، فستظل أي حسابات مجهولة تمت جدولتها للحذف مجدولة للحذف. لا يتم احتساب هذه الحسابات ضمن حدود الاستخدام أو حصص الفواتير.
  • إذا قمت "بترقية" حساب مجهول عن طريق ربطه بأي طريقة تسجيل دخول ، فلن يتم حذف الحساب تلقائيًا.

إذا كنت تريد معرفة عدد المستخدمين الذين سيتأثرون قبل تمكين هذه الميزة ، وقمت بترقية مشروعك إلى Firebase Authentication مع Identity Platform ، فيمكنك التصفية حسب is_anon في Cloud Logging .

الخطوات التالية

الآن بعد أن أصبح بإمكان المستخدمين المصادقة باستخدام Firebase ، يمكنك التحكم في وصولهم إلى البيانات في قاعدة بيانات Firebase باستخدام قواعد Firebase .