واجهة برمجة التطبيقات Recall

تتيح Recall API للألعاب إدارة الروابط بين مستخدمي "خدمات ألعاب Google Play" (PGS) وحساباتهم داخل اللعبة من خلال تخزين رموز Recall المميّزة على خوادم Google. في ما يلي مثال على سيناريو محتمل لاستخدام واجهة برمجة التطبيقات Recall.

  1. يلعب المستخدم لعبة يتوفّر فيها نظام هوية للمطوّر لتتبُّع مستوى تقدّم المستخدم، ويستخدم "خدمات ألعاب Play" بالتوازي مع طرق المصادقة الأخرى لتسجيل دخول المستخدمين إلى لعبتهم. في هذا المثال، سجّل المستخدم الدخول إلى حسابه على "خدمات ألعاب Google" Laura، وأنشأ حسابًا داخل اللعبة باستخدام نظام تحديد الهوية الخاص بالمطوّر باسم Racer94. أثناء لعب المستخدم، يزامن خادم اللعبة التابع للمطوّر مستوى تقدّمه.

    سجّل المستخدم الدخول باستخدام "خدمات ألعاب Google Play" وحساب داخل اللعبة

  2. بشكل منفصل، يحفظ المطوّر رمز استرداد لدى Google، وهو رمز يتطابق مع حساب المستخدم داخل اللعبة. تخزِّن Google تلقائيًا الرمز المميّز المخزَّن من أجل تذكُّر بيانات الألعاب في ملف المستخدم الشخصي على "خدمات ألعاب Play".

    يخزّن خادم اللعبة الرمز المميز لميزة Recall على خوادم Google

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

    يستعيد خادم الألعاب مستوى التقدّم باستخدام الرمز المميز recall

كما هو موضّح في المثال السابق، هناك إجراءان رئيسيان تنفّذهما واجهة Recall API:

  • تخزين الرمز المميز لدى Google عندما يسجّل المستخدم الدخول باستخدام أحد الحسابات داخل اللعبة

  • استرداد الرمز المميّز الخاص بمستخدم معيّن من أجل استعادة حساباته داخل اللعبة

بالإضافة إلى الرموز المميّزة لعملية تسجيل الدخول السريع، تتطلّب واجهة Recall API أيضًا معرّفًا ثابتًا يتوافق مع الحساب داخل اللعبة، ويُعرف باسم الشخصية. يمكنك اعتبار الشخصية الافتراضية بمثابة التصنيف الذي يمثّل حساب المستخدم داخل اللعبة ضمن نظام تعريف المطوّر، كما يمكنك اعتبار رمز الاسترداد بمثابة مفتاح يُستخدم لاستعادة حساب المستخدم داخل اللعبة. يجب عدم إعادة استخدام قيم الشخصية الرمزية والرمز المميز في مشاريع PGS مختلفة. بالإضافة إلى ذلك، على الرغم من إمكانية تغيير الرموز المميزة من أجل تذكُّر بيانات الألعاب بمرور الوقت، يجب أن تكون الشخصية ثابتة وفقًا لحساب المستخدم داخل اللعبة.

الإجراءات الفنية لتخزين الرموز المميّزة لتذكُّر بيانات الألعاب واستردادها

يتناول هذا القسم المسار الفني بين برنامج تشغيل اللعبة والخوادم التي تستخدم خوادم Google عند تخزين رموز الاستدعاء واستردادها.

الخطوة 1: مصادقة مستخدم "خدمات ألعاب Play" واسترداد رقم تعريف الجلسة

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

مصادقة المستخدم باستخدام "خدمات ألعاب Play"

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

يطلب المطوّر معرّف جلسة

الخطوة 2: استرداد أي رمز مميّز متاح للإلغاء

طلب أي رمز مميّز مخزَّن من أجل تذكُّر بيانات الألعاب مرتبط بحساب المستخدم على "خدمات ألعاب Play" إذا كان الرمز المميّز متوفّرًا، انتقِل إلى الخطوة 3أ واستعِد مستوى التقدّم. بخلاف ذلك، إذا كان هذا المستخدم جديدًا ولم يكن لديه رمز مميز، انتقِل إلى الخطوة 3 (ب) وخزِّن رمزًا مميزًا جديدًا.

يحصل المطوّر على الرمز المميز الخاص بإلغاء الاشتراك

الخطوة 3 (أ): إذا كان الرمز المميّز متوفّرًا، استعادة مستوى التقدّم

إذا كان الرمز المميّز متوفّرًا، استرِده وفك تشفيره، ثم استعِد بيانات المستخدم.

يستعيد المطوِّر البيانات من رمز الاستدعاء

الخطوة 3 (ب): في حال عدم توفّر رمز مميّز، يجب تخزين رمز مميّز

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

يُجري المستخدم مصادقة باستخدام حسابه داخل اللعبة

أنشئ رمزًا مميزًا مشفّرًا لتسجيل الدخول السريع يشفّر حساب المستخدم داخل اللعبة، وأرسِله إلى Google مع معرّف الجلسة ورمز OAuth 2.0 المميز. في هذه المرحلة، تنشئ Google ربطًا بين رمز الاستدعاء الذي تم إرساله وحساب اللاعب على "خدمات ألعاب Play".

الرمز المميز لتذكّر حسابات المطوّرين

تدفقات المستخدمين الذين ليس لديهم ملف شخصي على "خدمات ألعاب Play"

يمكنك تخزين رموز مميّزة لتذكُّر الحسابات المُستخدَمة لمستخدم لم ينشئ ملفًا شخصيًا على "خدمات ألعاب Play" بعد، وذلك باستخدام وضع "بدون ملف شخصي". ومع ذلك، هناك ملاحظتان مهمّتان:

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

تخزين رمز مميّز مع شخصية

يفتح مستخدم ليس لديه ملف شخصي على "خدمات ألعاب Play" إحدى الألعاب

  1. يفتح مستخدم ليس لديه ملف شخصي في "خدمات ألعاب Play" لعبة تم تفعيل ميزة "تذكُّر الحسابات المُستخدَمة بدون ملف شخصي" فيها.
  2. تؤدي حزمة تطوير البرامج (SDK) للألعاب إلى بدء مصادقة تلقائية على المنصة، ولكنها تفشل لأنّ المستخدم ليس لديه ملف شخصي على "خدمات ألعاب Play".
  3. تعرض حزمة تطوير البرامج (SDK) للألعاب شريط إشعارات يوضّح للمستخدم أنّ اللعبة تتضمّن ميزة الدمج مع Google. يمكن اتّخاذ إجراء بشأن شريط المعلومات هذا، إذ يمكن للمستخدم إيقاف ميزة "التذكّر" إلى أن يتم إنشاء ملف شخصي.
  4. تطلب اللعبة إذن الوصول إلى ميزة "الاسترجاع". يُرجى العِلم أنّ "خدمات ألعاب Play" ترفض طلبات الوصول إلى ميزة "تذكُّر الحسابات المُستخدَمة" في حال توفُّر ملفات شخصية في "خدمات ألعاب Play" على الجهاز أو في حال عدم توفُّر حسابات Google على الجهاز. في هذه الحالة، يجب أن تستمر اللعبة بدون استخدام PGS.
  5. بعد أن يسجّل المستخدم الدخول باستخدام حساب داخل اللعبة، تنشئ اللعبة رمزًا مميزًا وزوجًا من المعلومات الشخصية للمستخدم يتوافق مع حسابه داخل اللعبة. وتخزّن اللعبة هذا الزوج مع Google. قد تخزِّن اللعبة المزيد من الرموز المميزة لاحقًا إذا سجّل المستخدم الدخول إلى حسابات أخرى داخل اللعبة.

تشغيل لعبة على جهاز جديد

  1. يفتح مستخدم ليس لديه ملف شخصي على "خدمات ألعاب Play" لعبة تم تفعيل ميزة تذكُّر الحسابات المُستخدَمة فيها بدون ملف شخصي على جهاز.
  2. تسجّل اللعبة رمزًا مميّزًا لتذكُّر بيانات الألعاب بدون ملف شخصي على النحو الموضّح في تخزين رمز مميّز وزوج من الشخصيات.
  3. يفتح المستخدم اللعبة نفسها على جهاز مختلف تم إعداد الحساب نفسه عليه.
  4. تؤدي حزمة تطوير البرامج (SDK) للألعاب إلى بدء عملية إنشاء الملف الشخصي. يمكن للمستخدم مراجعة الرموز المميّزة من أجل تذكُّر بيانات الألعاب التي تم تخزينها سابقًا ورفضها. ينشئ المستخدم ملفًا شخصيًا في "خدمات ألعاب Play" في هذا الوقت.
  5. تكتمل عملية المصادقة التلقائية على المنصة في "خدمة ألعاب Play"، وتتلقّى اللعبة حالة المصادقة.
  6. تسترد اللعبة رموز Recall المميّزة للمستخدم كالمعتاد.

الخطوات التالية

لدمج واجهة Recall API مع الخادم والعميل في لعبتك، يُرجى اتّباع هذه الإرشادات.