تعتمد حزمة SDK للإصدار الأول من "خدمات ألعاب Google Play" على ميزة "تسجيل الدخول باستخدام حساب Google" على Android التي تم إيقافها نهائيًا وستتم إزالتها من حزمة SDK للمصادقة في "خدمات Google Play" (com.google.android.gms:play-services-auth) في عام 2025. يمكن لتطبيقات الألعاب الجديدة استخدام الإصدار الأول من "خدمات ألعاب Play" حتى عام 2025. تؤدي إزالة ميزة "تسجيل الدخول باستخدام حساب Google" إلى حدوث مشاكل في التبعيات لتطبيقات الألعاب الحالية. يؤدي نقل تطبيقات الألعاب الحالية من حزمة SDK للإصدار الأول من "خدمات ألعاب Play"
إلى حزمة SDK للإصدار الثاني من "خدمات ألعاب Play"
إلى حلّ مشاكل الاعتمادية الناتجة عن إزالة ميزة "تسجيل الدخول باستخدام حساب Google".
إنّ عملية النقل من الإصدار الأول إلى الإصدار الثاني من "خدمات ألعاب Google Play" هي تحديث مهم يسهّل عملية التطوير ويتيح اللعب من عدّة منصات. يفصل الإصدار الثاني من خدمات ألعاب Google Play بين الهوية على المنصة والهوية داخل اللعبة، ويعمل كنظام هوية على مستوى المنصة يصادق تلقائيًا على اللاعبين عند الإطلاق. أصبحت الهوية على المنصة منفصلة الآن عن نظام الحساب الأساسي داخل اللعبة، والذي يجب إدارته بشكلٍ مستقل باستخدام أدوات مثل "تسجيل الدخول باستخدام حساب Google" أو الأنظمة الخلفية الخاصة. يستخدم تكامل حزمة SDK للإصدار الثاني من "خدمات ألعاب Play" رقم تعريف اللاعب للميزات على المنصة، مثل الإنجازات وقوائم الصدارة، بدون تغيير عمليات الإعداد أو تسجيل الدخول الحالية.
تساعدك هذه المستندات في فهم التفاعلات بين تطبيق الألعاب وحِزم SDK المختلفة. بسبب الجدول الزمني الرسمي لإيقاف الخدمات نهائيًا، يجب اتّباع المبادئ المعمارية والمسارات واستراتيجيات التواصل مع اللاعبين الواردة في دليل النقل هذا لضمان استمرار اللاعبين في استخدام اللعبة.
تفاعلات حزمة SDK
توضّح المخططات التفاعل بين تطبيق ألعاب على Android و"خدمات Google للأجهزة الجوّالة" (GMS) الأساسية و"خدمات ألعاب Play" وخادم ألعاب تابع لجهة خارجية. توضّح المخططات كيف يستخدم التطبيق خدمات Google للمصادقة وميزات الألعاب، مع التفاعل أيضًا مع نظام منفصل تابع لجهة خارجية.
الإصدار الثاني من "خدمات ألعاب Play" (الحالي)
الإصدار الثاني من "خدمات ألعاب Play" (الحالي)
في ما يلي نظرة عامة موجزة على المكوّنات وحِزم SDK:
- تطبيق الألعاب:
- يمثّل هذا تطبيق الألعاب الخاص بالمستخدم الذي يتم تشغيله على جهاز يعمل بنظام التشغيل Android-powered.
- يحتوي على مكوّنين أساسيَين:
- حزمة SDK للإصدار الأول أو الثاني من "خدمات ألعاب Play": حزمة SDK من جهة العميل المسؤولة عن التفاعل مع "خدمات ألعاب Play"
- حزمة تطوير البرامج (SDK) للمصادقة: تتولّى حزمة تطوير البرامج (SDK) الخاصة بالمصادقة ضِمن "خدمات Google Play" مهمة معالجة عمليات المصادقة والتفويض في الإصدار 1 من "خدمات ألعاب Google".
- تتواصل حِزمتا SDK باستخدام لغة تعريف واجهات Android (AIDL)، ما يشير إلى نمط تواصل بين عمليات أو خدمات مختلفة.
- خدمات Google للأجهزة الجوّالة الأساسية، المعروفة أيضًا باسم "خدمات Google Play":
- هذه هي الطبقة الخاصة بـ Google على Android.
- يستخدم تطبيق الألعاب وحدتَين من "خدمات Google للأجهزة الجوّالة" الأساسية:
- وحدة الألعاب: توفّر ميزات خاصة بالألعاب، مثل قوائم الصدارة والإنجازات وإدارة حالة اللعبة.
- وحدة المصادقة: تتعامل مع عمليات مصادقة المستخدم وتفويضه.
- تتواصل حِزمتا SDK للألعاب والمصادقة في تطبيق الألعاب مع الوحدتَين المقابلتَين باستخدام واجهات AIDL، ما يشير إلى التواصل بين العمليات (IPC).
- بوابة "خدمات ألعاب Play":
- بوابة منطقية تتوسّط عملية التواصل بين "خدمات Google للأجهزة الجوّالة" الأساسية وخادم "خدمات ألعاب Play"
- تتعامل مع طلبات واجهة برمجة التطبيقات وتحويل البيانات والمصادقة على مستوى عملية التواصل مع الخادم.
- خادم "خدمات ألعاب Play":
- يمثّل هذا الخادم الخدمات الخلفية لـ "خدمات ألعاب Play" المسؤولة عن تخزين بيانات الألعاب وإدارة حسابات المستخدمين وتسهيل الميزات المتعدّدة اللاعبين.
- بوابة ألعاب الجهات الخارجية:
- إذا كان تطبيق الألعاب مؤهلاً ليكون تطبيقًا تابعًا لجهة خارجية (3P)، تتواصل مكتبة العميل مع خوادم "خدمات ألعاب Play" من خلال خوادم ألعاب الجهات الخارجية.
- يشير ذلك إلى أنّه يمكن للتطبيق أيضًا المصادقة باستخدام موفّر خدمة مختلف.
- خادم ألعاب الجهات الخارجية:
- يمثّل هذا الخادم خادمًا خارجيًا اختياريًا يمكن لتطبيق الألعاب التفاعل معه، ومن المحتمل أن يكون ذلك للميزات المخصّصة أو إدارة البيانات.
- يتم التواصل مع التطبيق من خلال بوابة ألعاب الجهات الخارجية.
أسباب نقل لعبتك إلى الإصدار الثاني من "خدمات ألعاب Play"
إنّ الانتقال من الإصدار الأول إلى الإصدار الثاني من "خدمات ألعاب Play" هو عملية تحديث معمارية رئيسية تسهّل عملية التطوير وتتيح اللعب على منصات متعددة.
على عكس الإصدار الأول الذي كان بمثابة نظام هوية أساسي داخل اللعبة، يفصل الإصدار الثاني من "خدمات ألعاب Play" بين الهوية على المنصة والهوية داخل اللعبة. ويعمل كنظام هوية على مستوى المنصة يصادق تلقائيًا على اللاعبين عند الإطلاق لإدارة ميزات مثل الإنجازات وقوائم الصدارة.
يجب الآن إدارة نظام الحساب الأساسي داخل اللعبة بشكلٍ مستقل باستخدام أدوات مثل "تسجيل الدخول باستخدام حساب Google" أو الأنظمة الخلفية الخاصة. تتيح حزمة SDK للإصدار الثاني من "خدمات ألعاب Play" للألعاب استخدام رقم تعريف اللاعب في "خدمات ألعاب Play" للوصول إلى الميزات على المنصة بدون تغيير عمليات الإعداد أو تسجيل الدخول الحالية. يرشدك هذا المستند خلال عملية النقل، ويشمل المبادئ المعمارية والمسارات واستراتيجيات التواصل مع اللاعبين. إنّ الالتزام بهذه التعليمات مهم لضمان استمرار اللاعبين في استخدام اللعبة، وذلك بسبب الجدول الزمني الرسمي لإيقاف الخدمات نهائيًا.
مقارنة بين المصادقة على المنصة والمصادقة داخل اللعبة
في الإصدار الثاني من "خدمات ألعاب Play"، يتم فصل مفهوم "تسجيل الدخول" إلى طبقتَين مختلفتَين:
- الهوية على المنصة: تتعامل حزمة SDK مع المصادقة على المنصة.
- الهوية داخل اللعبة:
المصادقة على المنصة
تعمل "خدمات ألعاب Play" حصريًا كطبقة تفاعل على المنصة. تدير هذه الخدمات علاقة اللاعب بمنظومة "ألعاب Google Play" (الإنجازات وقوائم الصدارة والفعاليات)، بدلاً من المصادقة في حساب أو مخزون لعبة معيّنة.
- تلقائية وسلسة: تتم المصادقة تلقائيًا في الخلفية عند إطلاق اللعبة. لا يلزم استخدام زر "تسجيل الدخول" يدويًا لـ "خدمات ألعاب Play" نفسها.
- رقم تعريف اللاعب: عند نجاح المصادقة على المنصة، توفّر "خدمات ألعاب Play" رقم تعريف لاعب ثابتًا. يكون رقم التعريف هذا متطابقًا على جميع الأجهزة للعبة نفسها، ولكن يجب استخدامه بشكلٍ أساسي لتتبُّع الإحصاءات على المنصة (مثل مستوى التقدّم في الإنجازات).
- مفصولة: يجب عدم استخدام الإصدار الثاني من "خدمات ألعاب Play" كنظام الهوية الأساسي للعبة لإدارة حساب اللاعب داخل اللعبة مع مستوى تقدّمه أو مخزونه في اللعبة. يعمل الإصدار الثاني من "خدمات ألعاب Play" حصريًا كمعرّف ثانوي وثابت للمنصة.
المصادقة داخل اللعبة
المطوّرون هم المسؤولون عن إدارة "الحساب داخل اللعبة". هذا هو نظام الهوية الذي يربط مستوى تقدّم اللاعب ومخزونه وعملته داخل اللعبة.
- الهوية الأساسية: يمكنك استخدام نظامك الخلفي أو ميزة "تسجيل الدخول باستخدام حساب Google" أو موفّرين آخرين كطريقة تسجيل الدخول الأساسية.
- الاستقلالية: يمكن تسجيل دخول اللاعب إلى "خدمات ألعاب Play" (الهوية على المنصة) للحصول على الإنجازات أثناء تسجيل الدخول إلى أي حساب معيّن داخل اللعبة. على سبيل المثال، حساب ضيف أو حساب معيّن في ميزة "تسجيل الدخول باستخدام حساب Google"
- إدارة حسابات متعدّدة داخل اللعبة: لا تتحمّل "خدمات ألعاب Play" مسؤولية سوى المصادقة على المنصة، بينما تدير لعبتك عملية المصادقة الأساسية للاعبين في حساباتهم داخل اللعبة. يعني ذلك أنّه لن يتم إجراء أي تغيير على عمليات تسجيل الدخول الحالية في لعبتك بشأن كيفية تبديل اللاعبين بين حساباتهم داخل اللعبة. أثناء قيام اللاعبين بذلك، سيظلون مصادقين على منصة "ألعاب Play" باستخدام "خدمات ألعاب Play"، وستواصل إرسال بياناتهم المتعلقة بالإنجازات والميزات الأخرى في "خدمات ألعاب Play" مقابل رقم تعريف اللاعب الثابت.
متطلبات النقل: ربط الحسابات داخل اللعبة برقم تعريف Google Open ID بدلاً من رقم تعريف اللاعب في "خدمات ألعاب Play"
في الإصدار الأول من "خدمات ألعاب Play"، استخدم المطوّرون "خدمات ألعاب Play" كموفّر الهوية الأساسي. كان زر "Google Play" يربط حساب اللاعب داخل اللعبة
(IGA) مباشرةً بـ Player ID.
يغيّر الإصدار الثاني من "خدمات ألعاب Play" ذلك من خلال توفير مصادقة تلقائية وسلسة على المنصة عند الإطلاق. يُستخدم Player ID الناتج الآن حصريًا
للميزات على المنصة، مثل قوائم الصدارة والإنجازات، بشكلٍ منفصل عن تسجيل الدخول إلى الحساب الرئيسي.
يجب أن تدير الألعاب الآن الهوية الأساسية بشكلٍ مستقل من خلال شاشة تسجيل دخول مخصّصة توفّر طرقًا مثل "تسجيل الدخول باستخدام حساب Google" أو حسابات أخرى على وسائل التواصل الاجتماعي. من المهم عدم استخدام الإصدار الثاني من "خدمات ألعاب Play" كنظام هوية أساسي.
يتطلب هذا التغيير المعماري تغييرًا مماثلاً في طريقة تنظيم المطوّرين لبيانات حساباتهم. يجب فصل الحساب داخل اللعبة عن
الربط بشكلٍ أساسي بـ Player ID.
بدلاً من ذلك، يجب الآن ربط الحساب داخل اللعبة بمعرّف أساسي وثابت ومستقل عن "خدمات ألعاب Play". المعرّف المقترَح هو
Open ID الذي توفّره عملية "تسجيل الدخول باستخدام حساب Google". يعمل هذا
Open ID كمفتاح فريد وثابت للحساب الأساسي للاعب
داخل نظامك.
مع ذلك، لا يزال من الممكن ربط الحساب داخل اللعبة بـ Player ID كربط ثانوي. يؤدي هذا الرابط الثانوي وظيفتَين مهمتَين:
- يسمح للعبة بمواصلة تتبُّع مستوى التقدّم وتعديله لميزات "ألعاب Play" (الإنجازات وما إلى ذلك) المرتبطة بهذا اللاعب تحديدًا.
- يتيح وظيفة "الاستعادة السلسة"، ما يسمح للعبة بتسجيل دخول اللاعب تلقائيًا إلى الحساب داخل اللعبة الذي تم استخدامه مؤخرًا على جهاز جديد فقط أو بعد إعادة التثبيت.
إنّ فهم نموذج الهوية المنفصل هذا هو المفتاح لفتح مسار النقل الفني الصحيح للعبتك.
مقارنة الميزات
يقدّم لك هذا الجدول مقارنة بين ميزات حزمتَي SDK للإصدار الأول والثاني من "خدمات ألعاب Play":
الميزة |
حزمة تطوير البرامج (SDK) للإصدار الأول من "خدمات ألعاب Play" |
حزمة تطوير البرامج (SDK) لإصدار الثاني من "خدمات ألعاب Play" |
|---|---|---|
المصادقة |
يجب التكامل مع play-services-auth. |
مبسّطة وسلسة، ولا يلزم استخدام play-services-auth. |
التفويض |
يجب استخدام رمز إضافي للنجاح والإخفاق وعمليات إعادة المحاولة. |
تتم إدارتها بواسطة حزمة SDK |
رمز الدخول المميز للخادم |
يمكن طلب نطاقات OAuth 2.0 إضافية باستخدام GoogleSigninClient.يجب استخدام رمز إضافي للتعامل مع الأخطاء أثناء المصادقة. |
يمكن طلب ثلاثة نطاقات أساسية للهوية في OAuth 2.0 باستخدام GamesSignInClient عند طلب الوصول إلى واجهات برمجة التطبيقات على الويب في "خدمات ألعاب Play" من جهة الخادم.
لمزيد من المعلومات، يُرجى الاطّلاع على الوصول إلى "خدمات ألعاب Play" من جهة الخادم و استرداد رموز المصادقة من جهة الخادم. |
عملية تسجيل الدخول |
تستخدم GoogleSigninClient.رمز إضافي للتعامل مع رمز النص النموذجي للمصادقة التلقائية والتعامل مع الأخطاء. |
تستخدم GamesSignInClient.تتعامل حزمة SDK مع رمز النص النموذجي والمصادقة التلقائية والتعامل مع الأخطاء. يتم فصل "تسجيل الدخول" إلى طبقتَين مختلفتَين:
|
النافذة المنبثقة للترحيب |
يجب استخدام رمز إضافي. يمكن للمطوّرين التحكّم في موضعها وتوقيتها. |
لا يلزم استخدام أي رمز إضافي. واجهة مستخدم متطابقة في جميع الألعاب التي تم إعدادها باستخدام حزمة SDK للإصدار الثاني من "خدمات ألعاب Play" |
التبعيات |
يجب استخدام play-services-auth. |
تتولّى وحدة "الألعاب" عمليات التفويض والمصادقة. لست بحاجة إلى إضافة أي تبعيات إضافية. |
| تسجيل الخروج |
تستخدم GoogleSignInClient.signOut. |
لا يلزم استخدام واجهة برمجة تطبيقات تسجيل الخروج لأنّ الإصدار الثاني من "خدمات ألعاب Play" هو هوية ثابتة على المنصة. |
حسابات متعددة في "خدمات ألعاب Play" وإعدادات لكل لعبة |
يمكن إدارة الحسابات داخل لعبتك. |
يمكن للمستخدمين تغيير الملف الشخصي في "خدمات ألعاب Play" في إعدادات الجهاز الجوّال. لمزيد من المعلومات، يُرجى الاطّلاع على كيفية تبديل الملفات الشخصية في "ألعاب Play" على الأجهزة الجوّالة. |