النطاق: بيانات الاعتماد تخصّ اللاعب؛ واللاعب يخصّ لعبة.
أنواع بيانات الاعتماد
device_id وemail وgoogle وapple وfacebook وsteam وdiscord. ويمكن للاعب أن يحمل
واحدًا من كل نوع على الأكثر — فربط حساب Google ثانٍ باللاعب نفسه يُرفض بدل أن يحلّ محلّ الأول
بصمت.
- Unity
- Unreal
يقع الربط في مزوّد المصادقة إلى جانب استدعاءات تسجيل الدخول، وكل دالة منه تتطلّب لاعبًا
مسجَّل الدخول. ويعمل المثال داخل دالة وهناك دالة لكل مزوّد — ولا تُخزَّن حالة بيانات الاعتماد مؤقتًا ولا تُصفّ في طابور عند انقطاع الاتصال — فهي حالة
أمنية، والإجابة القديمة فيها أسوأ من عدم الإجابة. وكل استدعاء يذهب إلى الخادم.
async؛ وidToken رمز هوية Google الذي يحصل عليه مسار
تسجيل الدخول لديك أصلًا.LinkEmailAsync وLinkDeviceAsync وLinkGoogleAsync
وLinkAppleAsync وLinkFacebookAsync وLinkSteamAsync وLinkDiscordAsync — وكل منها يأخذ
الرمز نفسه الذي يحصل عليه مسار تسجيل الدخول من تلك المنصّة. وLinkDeviceAsync() دون معرّف تربط
معرّف الجهاز الذي تحفظه الحزمة لهذا التثبيت. أما UnlinkAsync فتأخذ FlockCredentialProvider
بدلًا من ذلك.وكل واحدة من هذه الدوال تُعيد قائمة بيانات الاعتماد كاملةً بعد التحديث، فيؤدّي الربط
وفكّه دور التحديث أيضًا — ونادرًا ما تحتاج إلى استدعاء GetLinkedAccountsAsync مرة أخرى
مباشرةً بعدها.ويحمل كل PlayerLinkedAccount الحقول Provider وProviderUserId وEmail وEmailVerified.أخطاء يستحقّ التعامل معها بالاسم:لا يوجد مسار لدمج الحسابات. فإن كانت بيانات الاعتماد تخصّ لاعبًا آخر، يفشل الربط
بالرمز
PlayerAccountAlreadyLinked — ولن تدمج Flock تقدّم لاعبَين معًا، إذ لا توجد إجابة
عامة آمنة عن أيّ الحفظَين يفوز. قرّر داخل لعبتك ما الذي تعرضه: الإبقاء على الحساب الحالي،
أو تسجيل الخروج والدخول إلى الآخر.إعادة تعيين كلمة المرور ببريد مرتبط
بعد ربط بريد إلكتروني يصبح للاعب كلمة مرور يمكنه إعادة تعيينها. وتعملResetPasswordAsync
(في Unreal: ResetPassword) دون تسجيل دخول، بالبريد والرمز الذي أرسلته ForgotPasswordAsync،
فلا يهمّ كيف سجّل اللاعب دخوله هذه المرة.
ربط الحسابات متاح في حزمة Unity وحزمة Unreal.
