يمكنك السماح للمستخدمين بتسجيل الدخول إلى لعبتك بسلاسة مع مواصلة استخدام نظام الحسابات الخاص بك. باستخدام واجهات برمجة التطبيقات Recall في "خدمات ألعاب Play"، يمكنك ربط الحسابات داخل اللعبة بحساب على "خدمات ألعاب Google Play". وعندما يلعب المستخدم لعبتك على أجهزة مختلفة (أو على الجهاز نفسه بعد إعادة تثبيت لعبتك)، يمكنك طلب الحساب المرتبط داخل اللعبة وتبسيط عملية تسجيل الدخول.
إذا كنت قد نفّذت عملية تكامل مع واجهات برمجة التطبيقات في ميزة "الاسترجاع" على Android، ستكون هذه الواجهات مألوفة لك. يمكن إعادة استخدام أي عمليات دمج من جهة الخادم مع ميزة Recall في "خدمات ألعاب Play" في ألعاب الكمبيوتر لأنّها تكون هي نفسها على كل من أجهزة Android والكمبيوتر.
مساحة الاسم: PlayPcSdkManaged.Recall
فئة العميل: RecallClient
المتطلبات الأساسية
اطّلِع على النظرة العامة حول واجهة برمجة التطبيقات Recall في "خدمات ألعاب Play".
أكمِل عملية إعداد "خدمات ألعاب Google Play" في Play Console.
إضافة رقم تعريف مشروع "خدمات ألعاب Play" في ملف البيان
بعد إكمال عملية إعداد "خدمات ألعاب Play" في Play Console، سيصبح للعبتك رقم تعريف مشروع مرتبط بـ "خدمات ألعاب Play". وباستخدام رقم تعريف المشروع هذا، الذي يمكن العثور عليه في صفحة الإعداد الخاصة بـ "خدمات ألعاب Play" في Play Console، يمكنك تعديل manifest.xml في لعبتك.
مثال على محتوى manifest.xml:
<?xml version="1.0" encoding="utf-8"?> <?Manifest version="1"> <?Application> <?PackageName>com.example.package<?/PackageName> <?PlayGamesServices> <?ProjectId>123456789<?/ProjectId> <?/PlayGamesServices> <?/Application> <?/Manifest>
ملاحظة: إذا كنت تريد استخدام حزمة تطوير البرامج (SDK) للكمبيوتر الشخصي أثناء التطوير في Unity Editor بدون الحاجة إلى التوقيع الرقمي على ملف تنفيذ اللعبة أو تشغيله من "ألعاب Google Play". للاطّلاع على خطوات إضافية حول إعداد ملف البيان، يُرجى الاطّلاع على دليل إعداد وضع مطور البرامج.
إنشاء العميل
استخدِم المصنع دائمًا لإنشاء RecallClient، ما يضمن تسجيل عمليات معاودة الاتصال الآمنة في Unity تلقائيًا.
using UnityEngine; using System; using System.Threading.Tasks; // Required SDK Namespaces using PlayPcSdkManaged.Recall; using PlayPcSdkManaged.Unity; public class RecallManager : MonoBehaviour { private RecallClient _recallClient; public void SetupRecall() { try { // Creates the client with the required UnityRecallCallbacksHandler _recallClient = PlayPcSdkFactory.CreateRecallClient(); Debug.Log("Recall Client created successfully."); } catch (Exception ex) { Debug.LogError($"Failed to create Recall Client: {ex.Message}"); } } private void OnDestroy() { // Always dispose of the client to clean up native C++ resources _recallClient?.Dispose(); } }
طلب الوصول إلى ميزة "الاسترجاع"
عندما تتعامل لعبتك مع عملية تسجيل الدخول، مثل إضافة حساب داخل اللعبة، اطلب الوصول إلى ميزة "استرجاع" باستخدام RequestRecallAccessAsync.
يعرض هذا الطلب معرّف جلسة يستخدمه الخلفية لإجراء طلبات من جهة الخادم إلى Google لربط حساباتك داخل اللعبة بحساب مستخدم على "خدمات ألعاب Play" وإلغاء ربطها.
public async Task RequestRecallAccessAsync() { try { Debug.Log("Requesting Recall access..."); // Async call to retrieve the session ID var result = await _recallClient.RequestRecallAccessAsync(); if (result.IsOk) { // On success, access the RecallSessionId var sessionId = result.Value.RecallSessionId; Debug.Log($"Recall Access Granted! Session ID: {sessionId}"); // Pass 'sessionId' to your backend server to process account linking } else { // Handle expected API errors (e.g., Error) Debug.LogError($"Request Failed: {result.Code} - {result.ErrorMessage}"); } } catch (Exception ex) { Debug.LogException(ex); } }
معالجة معرّف جلسة Recall
بعد أن تحصل لعبتك على رقم تعريف جلسة "تسجيل الدخول السريع" وتمرّره إلى خادم اللعبة في الخلفية، استخدِم واجهات REST API من جهة الخادم في "ألعاب Play" لتنفيذ ما يلي:
- طلب البحث عن حسابات حالية مرتبطة داخل اللعبة باستخدام
recall.retrieveTokens - إضافة حسابات مرتبطة داخل اللعبة أو تعديلها باستخدام
recall.linkPersona - حذف الحسابات المرتبطة داخل اللعبة باستخدام
recall.unlinkPersona
للحصول على دليل أكثر تفصيلاً يغطي عملية الدمج من جهة الخادم، يُرجى الاطّلاع على المستندات التي تشرح كيفية استخدام Recall API في خادم اللعبة.