نظرة عامة على نقل البيانات

تعتمد حزمة تطوير البرامج (SDK) للإصدار الأول من "خدمات ألعاب Google Play" على ميزة "تسجيل الدخول باستخدام حساب Google" على Android، والتي تم إيقافها نهائيًا وستتم إزالتها من حزمة تطوير البرامج (SDK) للمصادقة في "خدمات Google Play" (com.google.android.gms:play-services-auth) في عام 2025. يمكن لتطبيقات الألعاب الجديدة استخدام الإصدار الأول من حزمة SDK حتى عام 2025. تؤدي إزالة ميزة "تسجيل الدخول باستخدام حساب Google" إلى حدوث مشاكل في التبعيات لتطبيقات الألعاب الحالية. يؤدي نقل تطبيقات الألعاب الحالية من الإصدار الأول من حزمة SDK إلى الإصدار الثاني من حزمة SDK إلى حلّ مشاكل الاعتمادية الناتجة عن إزالة ميزة "تسجيل الدخول باستخدام حساب Google".

إنّ نقل البيانات من الإصدار الأول من "خدمات ألعاب Google Play" إلى الإصدار الثاني هو تحديث مهم يسهّل عملية التطوير ويتيح اللعب من عدّة منصات. يفصل الإصدار الثاني من خدمات ألعاب Google Play بين الهوية على مستوى المنصة والهوية داخل اللعبة، ويعمل كنظام هوية على مستوى المنصة يصادق تلقائيًا على اللاعبين عند الإطلاق. أصبحت الهوية على مستوى المنصة منفصلة الآن عن نظام الحساب الأساسي داخل اللعبة، والذي يجب إدارته بشكلٍ مستقل باستخدام أدوات مثل "تسجيل الدخول باستخدام حساب Google" أو الأنظمة الخلفية الخاصة. يستخدم تكامل الإصدار الثاني من حزمة SDK الخاصة بـ "خدمات ألعاب Play" رقم تعريف اللاعب للميزات على مستوى المنصة، مثل الإنجازات وقوائم الصدارة، بدون تغيير عمليات الإعداد أو تسجيل الدخول الحالية.

تساعدك هذه المستندات في فهم التفاعلات بين تطبيق الألعاب وحزم تطوير البرامج (SDK) المختلفة. بسبب الجدول الزمني الرسمي لإيقاف الخدمات نهائيًا، يجب اتّباع المبادئ المعمارية والمسارات واستراتيجيات التواصل مع اللاعبين الواردة في دليل نقل البيانات هذا لضمان استمرار تجربة اللاعبين.

تفاعلات حزمة تطوير البرامج (SDK)

توضّح المخططات التفاعل بين تطبيق ألعاب على Android و"خدمات Google للأجهزة الجوّالة" الأساسية و"خدمات ألعاب Play" وخادم ألعاب تابع لجهة خارجية. توضّح المخططات كيف يستخدم التطبيق خدمات Google للمصادقة وميزات الألعاب، مع التفاعل أيضًا مع نظام منفصل تابع لجهة خارجية.

الإصدار الثاني من "خدمات ألعاب Play" (الحالي)

التفاعل بين تطبيق ألعاب على Android وGMS Core و"خدمات ألعاب Play" وخادم ألعاب تابع لجهة خارجية
التفاعل بين تطبيق ألعاب على Android و"خدمات Google للأجهزة الجوّالة" الأساسية و"خدمات ألعاب Play" و خادم ألعاب تابع لجهة خارجية (انقر للتكبير).

الإصدار الثاني من "خدمات ألعاب Play" (الحالي)

التفاعل بين تطبيق ألعاب على Android وGMS Core و"خدمات ألعاب Play" وخادم ألعاب تابع لجهة خارجية
التفاعل بين تطبيق ألعاب على Android و"خدمات Google للأجهزة الجوّالة" الأساسية و"خدمات ألعاب Play" وخادم ألعاب تابع لجهة خارجية (انقر للتكبير).

في ما يلي نظرة عامة موجزة على المكوّنات وحزم تطوير البرامج (SDK):

  • تطبيق الألعاب:
    • يمثّل هذا التطبيق تطبيق الألعاب الخاص بالمستخدم الذي يتم تشغيله على جهاز يعمل بنظام التشغيل Android.
    • يحتوي على مكوّنيْن أساسيَين:
      • الإصدار الأول أو الثاني من حزمة 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 كربط ثانوي. يؤدي هذا الرابط الثانوي وظيفتَين مهمتَين:

  1. يسمح للعبة بمواصلة تتبُّع مستوى التقدّم وتعديله لميزات "ألعاب Play" (الإنجازات وما إلى ذلك) المرتبطة بهذا اللاعب تحديدًا.
  2. يتيح وظيفة "الاستعادة السلسة"، ما يسمح للعبة بتسجيل دخول اللاعب تلقائيًا إلى حسابه داخل اللعبة الذي تم استخدامه مؤخرًا على جهاز جديد فقط أو بعد إعادة التثبيت.

إنّ فهم نموذج الهوية المنفصل هذا هو المفتاح لفتح مسار نقل البيانات الفني الصحيح للعبتك.

مقارنة الميزات

يقدّم لك هذا الجدول مقارنة بين ميزات الإصدار الأول والإصدار الثاني من حزمة 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".
  • المصادقة داخل اللعبة: تتم معالجتها بواسطة اللعبة.

النافذة المنبثقة للترحيب

يجب استخدام رمز إضافي.
يمكن للمطوّرين التحكّم في موضعها وتوقيتها.

لا يلزم استخدام أي رمز إضافي. واجهة مستخدم متطابقة في جميع الألعاب التي تم إعدادها باستخدام الإصدار الثاني من حزمة SDK الخاصة بـ "خدمات ألعاب Play"

التبعيات

يجب استخدام play-services-auth.

تتولّى وحدة الألعاب مسؤولية التفويض والمصادقة. لست بحاجة إلى إضافة أي تبعيات إضافية.
تسجيل الخروج

تستخدم GoogleSignInClient.signOut.

لا يلزم استخدام واجهة برمجة تطبيقات تسجيل الخروج لأنّ الإصدار الثاني من "خدمات ألعاب Play" هو هوية ثابتة على مستوى المنصة.

حسابات متعددة في "خدمات ألعاب Play" وإعدادات لكل لعبة

يمكن إدارة الحسابات داخل لعبتك.

يمكن للمستخدمين تغيير الملف الشخصي في "خدمات ألعاب Play" في إعدادات الجهاز الجوّال. لمزيد من المعلومات، يُرجى الاطّلاع على كيفية تبديل الملفات الشخصية في "ألعاب Play" على الأجهزة الجوّالة.