يوضّح هذا المستند كيفية نقل البيانات من الألعاب الحالية التي تستخدم الإصدار 1 من حزمة تطوير البرامج (SDK) للألعاب إلى الإصدار 2 من حزمة تطوير البرامج (SDK) للألعاب. تستخدم الإصدارات 10 والإصدارات الأقدم من إضافة "ألعاب Play" في Unity الإصدار 1 من حزمة SDK للألعاب.
قبل البدء
- تأكَّد من أنّك قد أعددت Play Console وUnity Hub.
تنزيل المكوّن الإضافي "ألعاب Google Play" لمحرّك Unity
للاستفادة من أحدث الميزات في "خدمات ألعاب Play"، نزِّل أحدث إصدار من المكوّن الإضافي وثبِّته. يمكنك تنزيلها من مستودع gitHub.
إزالة المكوّن الإضافي القديم
في Unity Hub، أزِل المجلدات أو الملفات التالية.
Assets/GooglePlayGames Assets/GeneratedLocalRepo/GooglePlayGames Assets/Plugins/Android/GooglePlayGamesManifest.androidlib Assets/Plugins/Android

استيراد المكوّن الإضافي الجديد إلى مشروع Unity
لاستيراد المكوّن الإضافي إلى مشروع Unity، اتّبِع الخطوات التالية:
- افتح مشروع لعبتك.
- في Unity Hub، انقر على مواد العرض (Assets) > استيراد حزمة (Import Package) > حزمة مخصّصة (Custom Package)
لاستيراد ملف
unitypackage
الذي تم تنزيله إلى مواد عرض مشروعك. تأكَّد من ضبط منصة الإصدار الحالية على Android.
في القائمة الرئيسية، انقر على ملف (File) > إعدادات الإنشاء (Build Settings).
اختَر Android وانقر على تبديل النظام الأساسي.
يجب أن يظهر عنصر قائمة جديد ضمن النافذة > ألعاب Google Play. إذا لم يكن كذلك، أعِد تحميل مواد العرض بالنقر على مواد العرض > إعادة التحميل، ثم حاوِل ضبط منصة الإصدار مرة أخرى.
في Unity Hub، انقر على ملف (File) > إعدادات الإنشاء (Build Settings) > إعدادات المشغّل (Player Settings) > إعدادات أخرى (Other Settings).
في مربّع مستوى واجهة برمجة التطبيقات المستهدَف، اختَر إصدارًا.
في المربّع Scripting backend، أدخِل
IL2CPP
.في مربّع البُنى المستهدَفة، اختَر قيمة.
دوِّن اسم الحزمة package_name.يمكنك استخدام هذه المعلومات لاحقًا.
إعدادات المشغّل في مشروع Unity
تعديل رمز تسجيل الدخول التلقائي
استبدِل فئة التهيئة PlayGamesClientConfiguration
بالفئة PlayGamesPlatform.Instance.Authenticate()
.
ليس من الضروري إعداد
PlayGamesPlatform
وتفعيله. يؤدي الاتصال بـ PlayGamesPlatform.Instance.Authenticate()
إلى جلب نتيجة تسجيل الدخول التلقائي.
#C
في Unity Hub، ابحث عن الملفات التي تتضمّن الفئة
PlayGamesClientConfiguration
.
using GooglePlayGames;
using GooglePlayGames.BasicApi;
using UnityEngine.SocialPlatforms;
public void Start() {
PlayGamesClientConfiguration config =
new PlayGamesClientConfiguration.Builder()
// Enables saving game progress
.EnableSavedGames()
// Requests the email address of the player be available
// will bring up a prompt for consent
.RequestEmail()
// Requests a server auth code be generated so it can be passed to an
// associated backend server application and exchanged for an OAuth token
.RequestServerAuthCode(false)
// Requests an ID token be generated. This OAuth token can be used to
// identify the player to other services such as Firebase.
.RequestIdToken()
.Build();
PlayGamesPlatform.InitializeInstance(config);
// recommended for debugging:
PlayGamesPlatform.DebugLogEnabled = true;
// Activate the Google Play Games platform
PlayGamesPlatform.Activate();
}
وعدِّلها إلى ما يلي:
using GooglePlayGames;
public void Start() {
PlayGamesPlatform.Instance.Authenticate(ProcessAuthentication);
}
internal void ProcessAuthentication(SignInStatus status) {
if (status == SignInStatus.Success) {
// Continue with Play Games Services
} else {
// Disable your integration with Play Games Services or show a login
// button to ask users to sign-in. Clicking it should call
// PlayGamesPlatform.Instance.ManuallyAuthenticate(ProcessAuthentication).
}
}
اختيار منصة تواصل اجتماعي
لاختيار منصة تواصل اجتماعي، راجِع مقالة اختيار منصة تواصل اجتماعي.
استرداد رموز مصادقة الخادم
للحصول على رموز الوصول من جهة الخادم، يُرجى الاطّلاع على استرداد رموز المصادقة من جهة الخادم.
إزالة رمز تسجيل الخروج
أزِل الرمز المستخدَم لتسجيل الخروج. لم تعُد "خدمات ألعاب Play" تتطلّب زر تسجيل خروج داخل اللعبة.
أزِل الرمز البرمجي الموضّح في المثال التالي:
#C
// sign out
PlayGamesPlatform.Instance.SignOut();
اختبار لعبتك
تأكَّد من أنّ لعبتك تعمل على النحو المصمَّمة له من خلال اختبارها. تعتمد الاختبارات التي تجريها على ميزات لعبتك.
في ما يلي قائمة بالاختبارات الشائعة التي يجب إجراؤها.
تم تسجيل الدخول بنجاح.
تعمل ميزة "تسجيل الدخول التلقائي". يجب أن يكون المستخدم مسجّلاً الدخول إلى "خدمات ألعاب Play" عند تشغيل اللعبة.
يتم عرض النافذة المنبثقة الترحيبية.
مثال على نافذة منبثقة للترحيب (انقر للتكبير). يتم عرض رسائل السجل الناجحة. نفِّذ الأمر التالي في الوحدة الطرفية:
adb logcat | grep com.google.android.
يظهر مثال على رسالة سجل ناجحة على النحو التالي:
[
$PlaylogGamesSignInAction$SignInPerformerSource@e1cdecc number=1 name=GAMES_SERVICE_BROKER>], returning true for shouldShowWelcomePopup. [CONTEXT service_id=1 ]
ضمان اتّساق عناصر واجهة المستخدم:
يتم عرض النوافذ المنبثقة ولوحات الصدارة والإنجازات بشكل صحيح ومتسق على أحجام الشاشات المختلفة وبمختلف الاتجاهات في واجهة مستخدم "خدمات ألعاب Play".
لا يظهر خيار تسجيل الخروج في واجهة مستخدم "خدمات ألعاب Play".
تأكَّد من إمكانية استرداد معرّف اللاعب بنجاح، ومن أنّ الإمكانات من جهة الخادم تعمل على النحو المتوقّع، إذا كان ذلك منطبقًا.
إذا كانت اللعبة تستخدم المصادقة من جهة الخادم، اختبِر مسار
requestServerSideAccess
بشكل شامل. تأكَّد من أنّ الخادم يتلقّى رمز التفويض ويمكنه استبداله برمز مميّز للوصول. اختبِر سيناريوهات النجاح والفشل لأخطاء الشبكة وسيناريوهاتclient ID
غير صالحة.
إذا كانت لعبتك تستخدم أيًا من الميزات التالية، اختبِرها للتأكّد من أنّها تعمل بالطريقة نفسها كما كانت قبل عملية النقل:
- قوائم الصدارة: إرسال النتائج والاطّلاع على قوائم الصدارة تحقَّق من الترتيب الصحيح وعرض أسماء اللاعبين ونتائجهم.
- الإنجازات: فتح قفل الإنجازات والتأكّد من تسجيلها وعرضها بشكل صحيح في واجهة مستخدم "ألعاب Play"
- الألعاب المحفوظة: إذا كانت اللعبة تستخدم الألعاب المحفوظة، تأكَّد من أنّ حفظ مستوى التقدّم في اللعبة وتحميله يعملان بشكل سليم. ويُعدّ هذا الأمر مهمًا بشكل خاص لاختبار التطبيق على أجهزة متعددة وبعد تحديثات التطبيق.
مهام ما بعد نقل البيانات
أكمِل الخطوات التالية بعد نقل بياناتك إلى الإصدار 2 من حزمة تطوير البرامج (SDK) للألعاب.