تسجيل دخول المستخدمين إلى لعبتك بسلاسة مع مواصلة استخدام نظام الحسابات الخاص بك باستخدام واجهات برمجة التطبيقات الخاصة بميزة "استرداد الحساب" في "خدمات ألعاب Play"، يمكنك ربط الحسابات داخل اللعبة بحساب على "خدمات ألعاب 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 في خادم اللعبة.