await FlockClient.Instance.Authentication.LoginWithEmailAsync(email, password);Debug.Log($"Signed in as {FlockClient.Instance.CurrentPlayerId}");
على اللاعب الجديد أن يُنشئ حسابًا قبل أن يستطيع الدخول. فدوال LoginWith…Async لا تُنشئ
حسابًا أبدًا — إنما تُدخل حسابًا قائمًا. واستدعاؤها لمن لم يسجّل قط يفشل بالرمز
player.invalid_login_credentials.ويقع أكثر الناس في هذا عند الدخول بمعرّف الجهاز، إذ يبدو تدفّق ضيف يُفترض أن يعمل مباشرة:
// First launch on this device — creates the account AND signs in.await FlockClient.Instance.Authentication.RegisterWithDeviceAsync(deviceId);// Every launch after that.await FlockClient.Instance.Authentication.LoginWithDeviceAsync(deviceId);
وإن لم ترغب في تتبّع أيّهما تستدعي، فأنشئ الحساب أوّلًا ثم تراجَع. فتسجيل هوية لها حساب بالفعل
لا يرمي استثناءً — بل يُعيد null ويترك اللاعب خارج الجلسة، ولذلك يجب أن تُتبعه بتسجيل
دخول:
FlockAuthProvider auth = FlockClient.Instance.Authentication;// null means "this device already has an account" — not an error, but not signed in either.if (await auth.RegisterWithDeviceAsync(deviceId) == null) await auth.LoginWithDeviceAsync(deviceId);
ونجاح RegisterWith…Async يُدخل اللاعب أيضًا، فلا حاجة إلى استدعاء ثانٍ في المسار الطبيعي. وإن
أخطأت الترتيب فإن الاستثناء يخبرك بذلك ويسمّي الدالة التي ينبغي استدعاؤها؛ راجع
معالجة الأخطاء.
كل طريقة عقدة غير متزامنة ضمن Flock | Auth بمنفذَي On Success وOn Failure، أو استدعاء
على مزوّد المصادقة في C++. وتستبدل حزمة التطوير بيانات الاعتماد التي أنتجتها حزمة تطوير
منصّتك بجلسة Flock.
تسجيل الدخول وإنشاء الحساب استدعاءان منفصلان — فإنشاء الحساب لا يُسجّل دخول اللاعب، فأتبِعه
بتسجيل دخول. أما Facebook وDiscord فللدخول فقط؛ إذ يجب أن يكون الحساب موجودًا سلفًا.وتسجيل هوية لها حساب بالفعل يُبلَّغ عنه على أنه نجاح مع ضبط bAlreadyRegistered، فتستطيع
توجيه اللاعب إلى تسجيل الدخول بدل عرض رسالة فشل.راجع دليل حزمة تطوير Unreal للاطّلاع على جدول
المزوّدين الكامل.
تُبقي حزمة التطوير اللاعب مسجَّل الدخول وتُجدّد جلسته تلقائيًا — فلن تتعامل مع الرموز أو انتهاء
صلاحيتها بنفسك أبدًا. وإذا احتاج اللاعب إلى إعادة المصادقة، تُطلق حزمة التطوير الحدث
FlockEvents.OnAuthExpired.