حقوق الطبع والنشر (ج) لعام 2014 لشركة Google Inc. جميع الحقوق محفوظة.
يعد المكون الإضافي لألعاب Google Play لـ Unity® مشروعًا مفتوح المصدر هدفه توفير مكون إضافي يسمح لمطوري الألعاب بالتكامل مع Google Play Games API من لعبة مكتوبة بلغة Unity®. ومع ذلك، لا يتم بأي حال من الأحوال اعتماد هذا المشروع أو الإشراف عليه بواسطة Unity Technologies.
Unity® هي علامة تجارية لشركة Unity Technologies.
iOS هي علامة تجارية لشركة Apple, Inc.
يرجى تنزيل الحزمة من صفحة إصدار Github.
يتيح لك المكوّن الإضافي لألعاب Google Play لـ Unity الوصول إلى Google Play Games API من خلال الواجهة الاجتماعية لـ Unity. يوفر المكون الإضافي الدعم للميزات التالية لواجهة برمجة تطبيقات Google Play Games:
تسجيل الدخول
أصدقاء
فتح/كشف/زيادة الإنجاز
نشر النتيجة إلى المتصدرين
حفظ السحابة للقراءة/الكتابة
إظهار واجهة المستخدم الخاصة بالإنجاز/المتصدرين
الأحداث
اتصالات قريبة
ملاحظة : لم يعد هذا الإصدار من البرنامج الإضافي يدعم نظام التشغيل iOS. تم إيقاف خدمات ألعاب Google Play لنظام التشغيل iOS، ومن غير المرجح أن تعمل على النحو المتوقع. لا تستخدم خدمات ألعاب Google Play لنظام التشغيل iOS في التطبيقات الجديدة. راجع منشور مدونة إعلان الإيقاف لمزيد من التفاصيل.
سمات:
إعداد مشروع سهل موجه نحو واجهة المستخدم الرسومية (مدمج في Unity GUI)
لا حاجة لتجاوز/تخصيص نشاط اللاعب
لا حاجة لتجاوز/تخصيص AndroidManifest.xml
للحصول على تعليمات حول استخدام البرنامج المساعد، يرجى الرجوع إلى دليل المطور هذا.
للحصول على نموذج تطبيق يوضح كيفية استخدام ألعاب Google Play، راجع مشروع SmokeTest؛
إذا كنت قد قمت بالفعل بدمج مشروعك مع إصدار سابق من البرنامج الإضافي وترغب في الترقية إلى إصدار جديد، فيرجى الرجوع إلى تعليمات الترقية.
من أجل الوصول إلى Google APIs على خادم الويب الخلفي نيابة عن المشغل الحالي، تحتاج إلى الحصول على رمز المصادقة من تطبيق العميل وتمريره إلى تطبيق خادم الويب الخاص بك. يمكن بعد ذلك استبدال هذا الرمز برمز وصول لإجراء مكالمات إلى واجهات برمجة التطبيقات المختلفة. لمزيد من التفاصيل حول هذا التدفق، راجع: تسجيل الدخول إلى Google لمواقع الويب.
للحصول على رمز مصادقة الخادم:
قم بتكوين معرف عميل الويب لتطبيق الويب المرتبط بلعبتك في Play Game Console.
قم باستدعاء PlayGamesClientConfiguration.Builder.RequestServerAuthCode(false)
عند إنشاء التكوين.
اتصل بـ PlayGamesPlatform.Instance.GetServerAuthCode()
بمجرد مصادقة اللاعب.
قم بتمرير هذا الرمز إلى تطبيق الخادم الخاص بك.
PlayGamesPlatform.Instance.RequestServerSideAccess(/* forceRefreshToken= */ false,code -> { // إرسال الكود إلى الخادم});
من الممكن تقليل حجم Play Games Services Unity Plugin عن طريق إزالة التعليمات البرمجية الخاصة بميزات Play Games Services التي لا تستخدمها لعبتك باستخدام Proguard. ستقوم Proguard بإزالة رمز البرنامج الإضافي Play Games Unity للميزات غير المستخدمة في لعبتك، وبالتالي يتم شحن لعبتك مع الرمز المطلوب فقط وتقليل تأثير الحجم الناتج عن استخدام Play Games Services.
بالإضافة إلى ذلك، من الممكن تقليل حجم مشروع Unity بأكمله باستخدام عملية تجريد التعليمات البرمجية المُدارة الخاصة بـ Unity، والتي ستؤدي إلى ضغط المشروع بأكمله. يمكن استخدام هذا بالتزامن مع Proguard.
انتقل إلى File > Build Settings > Player Settings
وانقر فوق قسم Publishing Settings
. اختر Proguard
Minify > Release
. ثم قم بتمكين User Proguard File
. إذا كنت تريد حماية المكون الإضافي لتطبيقات تصحيح الأخطاء أيضًا، فيمكنك اختيار Proguard
for Minify > Debug
.
انسخ محتوى تكوين proguard إلى Assets/Plugins/Android/proguard-user.txt
.
عند الاتصال بـ PlayGamesPlatform.Activate
، يصبح تطبيق Google Play Games هو التطبيق الافتراضي للنظام الأساسي الاجتماعي لديك، مما يعني أنه سيتم تنفيذ الاستدعاءات الثابتة للطرق في Social
و Social.Active
بواسطة المكوّن الإضافي لألعاب Google Play. هذا هو السلوك المطلوب لمعظم الألعاب التي تستخدم البرنامج الإضافي.
ومع ذلك، إذا كنت ترغب لسبب ما في الإبقاء على إمكانية الوصول إلى التنفيذ الافتراضي (على سبيل المثال، لاستخدامه لإرسال الإنجازات ولوحات المتصدرين إلى نظام أساسي اجتماعي مختلف)، فيمكنك استخدام المكوّن الإضافي لألعاب Google Play دون تجاوز المكوّن الإضافي الافتراضي. للقيام بذلك:
لا تتصل بـ PlayGamesPlatform.Activate
إذا كان Xyz
هو اسم الطريقة التي ترغب في الاتصال بها في الفئة Social
، فلا تتصل Social.Xyz
. بدلاً من ذلك، اتصل بـ PlayGamesPlatform.Instance.Xyz
لا تستخدم Social.Active
عند التفاعل مع ألعاب Google Play. بدلاً من ذلك، استخدم PlayGamesPlatform.Instance
.
وبهذه الطريقة، يمكنك أيضًا إرسال النتائج والإنجازات في وقت واحد إلى منصتين اجتماعيتين أو أكثر:
// إرسال الإنجاز إلى المنصة الاجتماعية الافتراضية الأصليةSocial.ReportProgress("MyAchievementIdHere"، 100.0f، callback)؛// إرسال الإنجاز إلى Google PlayGamesPlatform.Instance.ReportProgress("MyGooglePlayAchievementIdHere"، 100.0f، callback);
يسرد هذا القسم الأشخاص الذين ساهموا في هذا المشروع من خلال كتابة التعليمات البرمجية أو تحسين الوثائق أو إصلاح الأخطاء.
Dgizusse لمعرفة أن إعداد JAVA_HOME ضروري على نظام التشغيل Windows.
antonlicht لإصلاح الخلل في نوع المعلمة showErrorDialog في مكتبة الدعم.
pR0Ps لإصلاح مشكلة عدم قبول OnAchievementsLoaded لرمز النتيجة OPERATION_DEFERRED كنجاح.
friikyeu للمساعدة في تصحيح مشكلة تسببت في وضع مكالمات API في قائمة الانتظار بدلاً من تنفيذها حتى عند الاتصال.