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

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

قبل ان تبدأ

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

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

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

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

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

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

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

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

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

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

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