استخدِم مصادقة "خدمات ألعاب Google Play" لتسهيل تجربة مصادقة المستخدم على المنصة في لعبتك. ابدأ حزمة تطوير البرامج (SDK) الخاصة بـ "خدمات ألعاب Play" لتفعيل المصادقة، ما يغنيك عن الحاجة إلى عملية مصادقة منفصلة على المنصة.
ربط حسابات المستخدمين لتفعيل ميزة "مواصلة الاستفادة من البيانات" و"تشغيل المحتوى على أجهزة متعددة"
يتفاعل اللاعبون مع ألعابهم المفضّلة على مجموعة متنوعة من الأجهزة والمنصات، بما في ذلك الأجهزة الجوّالة والأجهزة اللوحية وأجهزة الكمبيوتر. ويتوقّع هؤلاء اللاعبون أن يتمكّنوا من استئناف اللعب بسلاسة من حيث توقّفوا، بغض النظر عن الجهاز الذي يختارونه.
من العوائق الكبيرة التي تؤدي غالبًا إلى توقّف المستخدم عن استخدام التطبيق هو اشتراط تسجيل الدخول بشكل منفصل على كل جهاز جديد. يحتاج المستخدمون إلى الانغماس الفوري في تجربة اللعبة بدون أي مقاطعات غير ضرورية.
لتسهيل مواصلة اللعب بسلاسة واللعب على أجهزة متعددة، يجب تنفيذ ميزتَين أساسيتَين:
- ربط الحسابات
- الحفظ في السحابة الإلكترونية
توفّر عملية المصادقة في "خدمات ألعاب Play" خيارات مرنة لمعرّفات اللاعبين. تتيح لك هذه الخيارات دمج "خدمات ألعاب Play" مع حلّ الهوية الحالي الخاص بك.
عملية دمج جديدة لـ "خدمات ألعاب Play"
بالنسبة إلى الألعاب التي لا تتضمّن ميزة "خدمات ألعاب Play"، تسهّل واجهة برمجة التطبيقات Recall عملية إعداد الخلفية من خلال إدارة عمليات ربط الحسابات وتخزين معلومات الربط بين حساب المستخدم في اللعبة وحسابه على "خدمات ألعاب Play".
ربط الحسابات باستخدام Recall API
إنّ Recall API هو الحلّ المقترَح لربط حسابات المستخدمين في الألعاب المتوافقة مع منصات متعددة. تُعدّ واجهة برمجة التطبيقات هذه مفيدة بشكل خاص للألعاب التي لا تتضمّن عملية دمج حالية مع "خدمات ألعاب Play" أو تلك التي تستخدم حلول مصادقة إضافية على منصات أخرى غير "خدمات ألعاب Play".
تسهّل واجهة برمجة التطبيقات Recall عملية إعداد الخلفية في لعبتك من خلال إدارة عمليات ربط الحسابات.
- خلفية مبسّطة: تعمل واجهة برمجة التطبيقات على تبسيط عملية إعداد خلفية لعبتك لربط الحسابات.
- عمليات الربط التي يديرها Play: يخزّن Play عملية الربط بين حسابات المستخدمين على الألعاب (بما في ذلك الحسابات التابعة لجهات خارجية) وحساباتهم على "خدمات ألعاب Play".
- استعادة مستوى التقدّم: ينشئ المطوّرون رموز Recall المميزة ويرسلونها إلى Play، ويمكن بعد ذلك استردادها لاستعادة مستوى تقدّم المستخدم في اللعبة.
عند تنفيذ Recall API، على المطوّرين التأكّد من أنّ رموز Recall المميزة هي سلاسل غير شفافة. يجب ألا تحتوي هذه الرموز المميّزة على أي معلومات حساسة أو معلومات تحديد الهوية الشخصية (مثل الاسم أو عنوان البريد الإلكتروني أو المعلومات السكانية) عن اللاعبين.
يجب أن تستخدم الألعاب خوارزميات تشفير قوية عند إنشاء رموز مميزة للاسترجاع من أجل حماية بيانات المستخدمين والحفاظ على الأمان.
لمزيد من المعلومات حول طريقة عمل Recall، يُرجى الاطّلاع على واجهة برمجة تطبيقات Recall .
لتنفيذ ميزة Recall API، اطّلِع على مقالة دمج واجهة برمجة التطبيقات Recall API الخاصة بـ "خدمات ألعاب Play" في لعبتك.
إدارة حسابات متعددة باستخدام Recall API
عند إدارة حسابات متعددة للمستخدم نفسه، يمكنك التعامل مع كل حساب كشخصية مميزة. يسمح هذا النهج بتقديم تجارب مخصّصة استنادًا إلى السياق المحدّد للمستخدم.
لتنفيذ هذا الأسلوب، اتّبِع الخطوات التالية:
- إنشاء رمز مميّز فريد لكل شخصية اطّلِع على إعداد برنامج ألعاب.
- اربط هذه الرموز المميّزة بحساب "خدمات ألعاب Play" باستخدام Recall API. اطّلِع على تخزين الرموز المميّزة.
- تحديد سياسة حلّ للمواقف التي يتم فيها ربط حساب على "خدمات ألعاب Play" بشخصيات متعددة اطّلِع على أحدث رمز استرداد في جميع الألعاب التي تملكها حسابات المطوّرين.
على الرغم من توفّر خيارات سياسات مختلفة (مثل استعادة آخر حساب تلقائيًا)، ننصحك بشدة بعرض طلب للمستخدم. يجب أن يطلب منهم هذا الإشعار اختيار الحساب الذي يريدون استعادته، ما يوفّر تجربة واضحة وسهلة الاستخدام.
عملية الدمج الحالية مع "خدمات ألعاب Play"
يوضّح هذا القسم كيفية دمج لعبتك مع "خدمات ألعاب Play" من خلال ربط حسابات اللاعبين. تعرَّف على كيفية استخدام أرقام تعريف اللاعبين لتحديد اللاعبين الذين تم إثبات ملكيتهم وإدارة حسابات ألعاب متعددة لمستخدم واحد في "خدمات ألعاب Play".
الربط باستخدام Player_id
معرّف اللاعب هو معرّف لحساب لاعب على "خدمات ألعاب Play". يمكن أن تسترد لعبتك معرّف لاعب لأي لاعب تمّت مصادقته في لعبتك باستخدام "خدمات ألعاب Play".
يجب أن تستخدم الألعاب التي تم إعداد الخلفية لها باستخدام "خدمات ألعاب Play" Player_Id أو الألعاب التي تتطلّب توفير الدعم للمستخدمين الأطفال Player_Id وأن تربط لعبتها وحسابات الطرف الثالث بـ Player_Id.
التعرّف على سلوك معرّفات اللاعبين:
- التطابق داخل اللعبة: يظل رقم تعريف اللاعب متطابقًا بالنسبة إلى المستخدم على جميع الأجهزة عند تشغيل اللعبة نفسها.
- عدم التناسق بين الألعاب: لا تتسم أرقام تعريف اللاعبين بالتناسق دائمًا عندما يلعب المستخدم ألعابًا مختلفة.
لمزيد من المعلومات، يُرجى الاطّلاع على الجيل التالي من أرقام تعريف اللاعبين.
إدارة حسابات متعددة لكل مستخدم من خلال الربط
لربط حسابات مستخدمين متعدّدة بحساب واحد على "خدمات ألعاب Play"، عليك إنشاء عملية ربط من واحد إلى متعدد في جدولك.
هوية Google على جميع المنصات باستخدام ميزة "تسجيل الدخول باستخدام حساب Google"
تسجيل الدخول باستخدام حساب Google (SiwG) هو حلّ الهوية الأساسي من Google الذي يتيح لمطوّري الألعاب تلقّي معلومات ملفات اللاعبين الشخصية بشكل آمن، مثل الاسم وعنوان البريد الإلكتروني وصورة الملف الشخصي.
من المزايا الرئيسية لميزة "تسجيل الدخول باستخدام Google" أنّها متاحة على نطاق واسع على جميع الأنظمة الأساسية، بما في ذلك الويب وAndroid وiOS. ويوفّر تجربة تسجيل دخول سريعة وآمنة ومألوفة يعرفها اللاعبون ويثقون بها.
الربط بالحقل sub في رمز تعريف Google
لإنشاء تجربة سلسة على جميع المنصات، يمكنك تنفيذ استراتيجية مصادقة تربط نظام حسابات لعبتك بمعرّف فريد لحساب Google. يستفيد هذا الأسلوب من عملية المصادقة المبسّطة في "خدمات ألعاب Play" على Android، مع استخدام حزمة تطوير البرامج (SDK) العادية الخاصة بخدمة "تسجيل الدخول باستخدام حساب Google" على منصات أخرى، مثل iOS والويب.
مفتاح هذه الاستراتيجية هو الحقل sub من الرمز المميز لتعريف الهوية من Google. الحقل
sub (أو "الموضوع") هو معرّف فريد وثابت لحساب مستخدم على Google. ستستخدم هذا المعرّف كـ "جسر" لربط جميع جلسات اللاعب بحساب لعبة واحد في الخلفية.
في ما يلي خطوات التنفيذ العالية المستوى:
- على أجهزة Android: تبدأ لعبتك في تهيئة حزمة تطوير البرامج (SDK) الخاصة بـ "خدمات ألعاب Play" لتفعيل المصادقة تلقائيًا على أجهزة Android. عليك ضبط عملية دمج الإصدار 2 من "خدمات ألعاب Play" من أجل طلب نطاقات تسجيل الدخول الثلاثة:
emailوprofileوopenid. وهي النطاقات نفسها التي تطلبها حزمة تطوير البرامج (SDK) العادية الخاصة بخدمة "تسجيل الدخول باستخدام حساب Google". يتيح لك ذلك استرداد رمز تعريف يحتوي على الحقلsubالخاص باللاعب. - على الويب وiOS: تستخدم لعبتك حِزم تطوير البرامج (SDK) العادية الخاصة بخدمة
تسجيل الدخول باستخدام Google على الويب وتسجيل الدخول باستخدام Google على iOS وmacOS. عندما يسجّل المستخدم الدخول، توفّر حزمة تطوير البرامج (SDK) الخاصة بخدمة "تسجيل الدخول باستخدام Google" رمزًا مميزًا للمعرّف يتضمّن أيضًا الحقل
subالخاص بالمستخدم. - ربط الحساب: بما أنّ المستخدم يسجّل الدخول باستخدام حساب Google نفسه على كلتا المنصّتين، سيكون الحقل
subالذي تتلقّاه مطابقًا. يمكنك بعد ذلك ربط قيمةsubهذه بثقة بمعرّف المستخدم الداخلي في حلّ تحديد الهوية الذي تستخدمه، ما يؤدي إلى إنشاء تجربة مستخدم موحّدة.
عملية الدمج على Android
على أجهزة Android، ستستخدم حزمة تطوير البرامج (SDK) الخاصة بـ "خدمات ألعاب Google Play" كنقطة دمج أساسية. المهم هو ضبط عميل تسجيل الدخول في "خدمات ألعاب Google Play" لطلب نطاقات تسجيل الدخول الإضافية. يتيح لك ذلك استرداد رمز مصادقة من جهة الخادم، ويمكن لخادمك الخلفي استبداله برمز مميّز للمعرّف يحتوي على معلومات المستخدم، بما في ذلك الحقل الفريد sub.
بشكل عام، تتضمّن عملية التنفيذ ما يلي:
إعداد أرقام تعريف العملاء في مشروع موحّد: قبل الدمج، يجب إعداد "خدمات ألعاب Play" في Google Play Console للحصول على أرقام تعريف عملاء OAuth 2.0.
إعداد "خدمات ألعاب Play": قبل البدء، عليك أولاً إضافة لعبتك في Google Play Console ودمج مصادقة منصة "خدمات ألعاب Play" مع لعبتك.
إضافة زر "تسجيل الدخول باستخدام حساب Google": في صفحة تسجيل الدخول أو شاشة إعدادات المستخدم في لعبتك، أضِف زر "تسجيل الدخول باستخدام حساب Google". سيؤدي هذا الزر إلى بدء عملية تسجيل الدخول أو الاشتراك. عند إنشاء هذا الزر، ننصحك باتّباع إرشادات العلامة التجارية الخاصة بميزة "تسجيل الدخول باستخدام Google". يجب أن يعرض الزر عبارة "Google" أو "تسجيل الدخول باستخدام حساب Google" بوضوح على الأقل. يتضمّن رابط الإرشادات أيضًا مواد عرض متوافقة خاصة بتجربة المستخدم يمكن تنزيلها واستخدامها في لعبتك.
طلب رمز مصادقة الخادم باستخدام نطاقات تسجيل الدخول: عندما ينقر اللاعب على الزر، تطلب لعبتك رمز مصادقة خادم صالحًا لمرة واحدة. أهم خطوة هي ضبط هذا الطلب لتضمين نطاقات تسجيل الدخول التالية:
EMAILوPROFILEوOPEN_ID.تعتمد طريقة ضبط هذا الإعداد على بيئة التطوير:
بالنسبة إلى Java/Kotlin: يُرجى الاطّلاع على دليل الحصول على رمز مصادقة الخادم باستخدام
requestServerSideAccess.بالنسبة إلى Unity: اطّلِع على دليل استرداد رموز المصادقة في Unity.
تبادل رمز المصادقة والتحقّق من صحة رمز التعريف على الخادم الخلفي: أرسِل رمز المصادقة من الخطوة السابقة إلى خادمك الخلفي. على الخادم، اتّبِع دليل مسار تبادل رموز OAuth 2.0 العادي لتبديل الرمز المميز برمز تعريف ورمز وصول ورمز إعادة تحميل. وكما هو موضّح في الدليل، يجب إثبات صحة الرمز المميز للمعرّف على الخادم.
ربط الحقل
sub: بعد التحقّق من صحة رمز التعريف بنجاح، استخرِج الحقلsubمن حمولته. استخدِم قيمةsubهذه كمفتاح فريد لهوية Google في حلّ الهوية الذي تستخدمه.إذا كانت قيمة
subهذه متوفّرة في قاعدة البيانات، يعني ذلك أنّ المستخدم قد ربط حسابه من قبل. اطلب منه تسجيل الدخول إلى حساب اللعبة المرتبط به.إذا لم تكن قيمة
subهذه متوفّرة، يمكنك إما إنشاء حساب مستخدم جديد في نظام حسابات لعبتك مرتبط بهذاsub، أو الربط بحساب مستخدم حالي في نظام حساباتك من خلال مطابقة معلومات المستخدم (مثل عنوان البريد الإلكتروني) المقدَّمة في رمز التعريف.
التكامل على أجهزة iOS والويب والمنصات الأخرى
على المنصات الأخرى غير Android أو iOS أو الويب أو الكمبيوتر، ستستخدم حِزم تطوير البرامج العادية الخاصة بخدمة "تسجيل الدخول باستخدام حساب Google". والهدف هو نفسه كما في مسار Android: الحصول على رمز مميّز لمعرّف Google بشكل آمن، وإرساله إلى الخلفية، واستخدام الحقل sub لربط الحساب.
بشكل عام، تتضمّن عملية التنفيذ ما يلي:
عملية الدمج من جهة العميل: اتّبِع المستندات الرسمية لدمج حزمة تطوير البرامج (SDK) الخاصة بميزة "تسجيل الدخول باستخدام Google" في منصتك. تتضمّن هذه الأدلة عملية التشفير الكاملة من جهة العميل، بدءًا من عرض زر "تسجيل الدخول باستخدام Google" إلى استرداد رمز التعريف المميز.
على الويب: تسجيل الدخول باستخدام حساب Google على الويب
على أجهزة iOS: تسجيل الدخول بحساب Google على أجهزة iOS وmacOS
بالنسبة إلى المنصات التي لا تتوفّر لها حزمة SDK مخصّصة (مثل محرّك ألعاب مخصّص أو إصدار للكمبيوتر الشخصي)، يمكنك تنفيذ مسار خادم الويب OAuth 2.0 يدويًا للحصول على الرموز المميزة اللازمة.
منطق الخلفية: أرسِل رمز التعريف المميّز (أو رمز المصادقة) إلى الخلفية. بعد ذلك، ينفّذ الخادم عملية التحقّق نفسها ومنطق ربط الحقل
subكما هو موضّح في الخطوتَين 4 و5 من قسم "عملية الدمج على Android".
بما أنّ حقل sub من جميع مسارات "تسجيل الدخول باستخدام Google" هذه مطابق للحقل الذي يتم استرداده من مسار "خدمات ألعاب Google Play" على Android (لنفس حساب Google)، تنجح هذه العملية في ربط حساب المستخدم على جميع المنصات.