بررسی اجمالی مهاجرت

سرویس‌های بازی‌های گوگل پلی، کیت توسعه نرم‌افزاری بازی‌ها نسخه ۱، به Google Sign-In برای اندروید متکی است که منسوخ شده و در سال ۲۰۲۵ از Google Play services Auth SDK ( com.google.android.gms:play-services-auth ) حذف خواهد شد. برنامه‌های جدید بازی می‌توانند تا سال ۲۰۲۵ از games v1 استفاده کنند. حذف Google Sign-In مشکلات وابستگی را برای برنامه‌های بازی‌های موجود ایجاد می‌کند. مهاجرت برنامه‌های بازی‌های موجود از games v1 SDK به games v2 SDK مشکلات وابستگی ایجاد شده توسط حذف Google Sign-In را حل می‌کند.

انتقال سرویس‌های بازی‌های گوگل پلی نسخه ۱ به نسخه ۲، به‌روزرسانی مهمی است که توسعه را ساده کرده و از بازی‌های بین پلتفرمی پشتیبانی می‌کند. سرویس‌های بازی‌های گوگل نسخه ۲، هویت پلتفرم و درون بازی را از هم جدا می‌کند و به عنوان یک سیستم هویت در سطح پلتفرم عمل می‌کند که به طور خودکار بازیکنان را در زمان عرضه تأیید هویت می‌کند. هویت پلتفرم اکنون از سیستم حساب اصلی درون بازی جدا است که باید آن را به طور مستقل با استفاده از ابزارهایی مانند ورود با گوگل یا بک‌اندهای اختصاصی مدیریت کنید. ادغام SDK سرویس‌های بازی‌های گوگل نسخه ۲، از شناسه بازیکن برای ویژگی‌های پلتفرم مانند دستاوردها و جدول امتیازات استفاده می‌کند، بدون اینکه جریان‌های ورود یا ورود به سیستم موجود را تغییر دهد.

این سند به شما کمک می‌کند تا تعاملات بین برنامه بازی‌ها و SDK های مختلف را درک کنید. به دلیل جدول زمانی رسمی منسوخ شدن، شما باید اصول معماری، مسیرها و استراتژی‌های ارتباط بازیکن این راهنمای مهاجرت را دنبال کنید تا تداوم بازیکن تضمین شود.

تعاملات SDK

این نمودارها تعامل بین یک برنامه بازی در اندروید، هسته خدمات موبایل گوگل (GMS)، خدمات بازی‌های پلی و یک سرور بازی‌های شخص ثالث (3P) را نشان می‌دهند. این نمودارها نحوه استفاده برنامه از سرویس‌های گوگل برای احراز هویت و ویژگی‌های بازی، در عین تعامل با یک سیستم شخص ثالث جداگانه را برجسته می‌کنند.

بازی‌های نسخه ۲ (فعلی)

تعامل بین یک برنامه بازی در اندروید، GMS Core، سرویس‌های بازی‌های Play و یک سرور بازی‌های شخص ثالث (3P).
تعامل بین یک برنامه بازی در اندروید، GMS Core، سرویس‌های بازی‌های Play و یک سرور بازی شخص ثالث (3P). (برای بزرگنمایی کلیک کنید).

بازی‌های نسخه ۱ (قدیمی)

تعامل بین یک برنامه بازی در اندروید، GMS Core، سرویس‌های بازی‌های Play و یک سرور بازی‌های شخص ثالث (3P).
تعامل بین یک برنامه بازی در اندروید، GMS Core، سرویس‌های بازی‌های Play و یک سرور بازی‌های شخص ثالث (3P). (برای بزرگنمایی کلیک کنید).

در ادامه خلاصه‌ای از اجزا و SDKها آمده است:

  • اپلیکیشن بازی‌ها.
    • این نشان دهنده برنامه بازی کاربر است که روی یک دستگاه دارای سیستم عامل اندروید اجرا می‌شود.
    • شامل دو جزء اصلی است:
      • SDK بازی‌های نسخه ۱ یا نسخه ۲. SDK سمت کلاینت که مسئول تعامل با سرویس‌های بازی‌های Play است.
      • کیت توسعه نرم‌افزاری احراز هویت. کیت توسعه نرم‌افزاری احراز هویت سرویس‌های گوگل پلی مسئول مدیریت جریان‌های احراز هویت و مجوزدهی کاربر در بازی‌های نسخه ۱ است.
    • هر دو SDK با استفاده از AIDL (زبان تعریف رابط اندروید) ارتباط برقرار می‌کنند که نشان‌دهنده الگوی ارتباطی بین فرآیندها یا سرویس‌های مختلف است.
  • GMS Core همچنین با نام سرویس‌های گوگل پلی (Google Play Services) شناخته می‌شود.
    • این لایه اختصاصی گوگل در اندروید است.
    • برنامه بازی‌ها از دو ماژول GMS Core استفاده می‌کند:
      • ماژول بازی‌ها. ویژگی‌های خاص بازی، مانند جدول امتیازات، دستاوردها و مدیریت وضعیت بازی را ارائه می‌دهد.
      • ماژول احراز هویت (Auth Module): عملیات احراز هویت و مجوزدهی کاربر را مدیریت می‌کند.
    • SDK های بازی و Auth در برنامه بازی ها با استفاده از رابط های AIDL با ماژول های مربوطه ارتباط برقرار می کنند که نشان دهنده ارتباط بین فرآیندی (IPC) است.

  • دروازه خدمات بازی‌های پلی.
    • یک دروازه منطقی که واسطه ارتباط بین GMS Core و سرور Play Games Services است.
    • درخواست‌های API، تبدیل داده‌ها و احراز هویت برای ارتباط با سرور را مدیریت می‌کند.
  • سرور سرویس‌های بازی‌های پلی.
    • نشان‌دهنده سرویس‌های بک‌اند Play Games Services است که مسئول ذخیره‌سازی داده‌های بازی، مدیریت حساب‌های کاربری و تسهیل ویژگی‌های چندنفره هستند.
  • دروازه بازی‌های شخص ثالث.
    • اگر برنامه بازی‌های شما به عنوان یک برنامه شخص ثالث (3P) واجد شرایط باشد، کتابخانه کلاینت از طریق سرورهای بازی‌های شخص ثالث با سرورهای Play Games Services ارتباط برقرار می‌کند.
    • دلالت بر این دارد که برنامه می‌تواند با یک ارائه‌دهنده خدمات متفاوت نیز احراز هویت کند.
  • سرور بازی‌های شخص ثالث.
    • نشان دهنده یک سرور خارجی اختیاری است که برنامه بازی می‌تواند با آن تعامل داشته باشد، احتمالاً برای ویژگی‌های سفارشی یا مدیریت داده‌ها.
    • ارتباط با برنامه از طریق دروازه بازی‌های شخص ثالث انجام می‌شود.

چرا بازی خود را به Play Games Services v2 منتقل کنید؟

انتقال از Play Games Services نسخه ۱ به نسخه ۲ یک نوسازی معماری بزرگ است که توسعه را ساده کرده و از بازی‌های چند پلتفرمی پشتیبانی می‌کند.

برخلاف نسخه ۱ که به عنوان سیستم هویت اصلی درون بازی عمل می‌کرد، Play Games Services نسخه ۲ هویت پلتفرم و درون بازی را از هم جدا می‌کند. این نسخه به عنوان یک سیستم هویت در سطح پلتفرم عمل می‌کند که به طور خودکار بازیکنان را در زمان عرضه احراز هویت می‌کند تا ویژگی‌هایی مانند دستاوردها و جدول امتیازات را مدیریت کند.

اکنون باید سیستم حساب کاربری اصلی درون بازی خود را به طور مستقل با استفاده از ابزارهایی مانند ورود با گوگل یا بک‌اندهای اختصاصی مدیریت کنید. کیت توسعه نرم‌افزار Play Games Services v2 به بازی‌ها اجازه می‌دهد تا از شناسه بازیکن Play Games Services برای دسترسی به ویژگی‌های پلتفرم بدون تغییر جریان‌های ورود یا ورود به سیستم موجود استفاده کنند. این سند شما را در طول مهاجرت راهنمایی می‌کند و اصول معماری، مسیرها و استراتژی‌های ارتباط با بازیکن را پوشش می‌دهد. با توجه به جدول زمانی رسمی منسوخ شدن، پایبندی برای تداوم بازیکن بسیار مهم است.

مقایسه احراز هویت پلتفرم و احراز هویت درون بازی

در Play Games Services نسخه ۲، مفهوم «ورود به سیستم» به دو لایه مجزا تقسیم شده است:

  • هویت پلتفرم. SDK احراز هویت پلتفرم را مدیریت می‌کند.
  • هویت درون بازی

احراز هویت پلتفرم

سرویس‌های بازی‌های پلی صرفاً به عنوان یک لایه تعامل پلتفرم عمل می‌کنند. این سرویس به جای احراز هویت در یک حساب بازی یا موجودی خاص، ارتباط بازیکن را با اکوسیستم بازی‌های گوگل پلی (دستاوردها، جدول امتیازات و رویدادها) مدیریت می‌کند.

  • بی‌صدا و خودکار: احراز هویت به طور خودکار در پس‌زمینه و هنگام اجرای بازی انجام می‌شود. هیچ دکمه «ورود» دستی برای خود سرویس‌های Play Games لازم نیست.
  • شناسه بازیکن: پس از احراز هویت موفقیت‌آمیز پلتفرم، سرویس‌های بازی‌های پلی یک شناسه بازیکن پایدار ارائه می‌دهند. این شناسه در دستگاه‌های مختلف برای یک بازی یکسان است، اما باید در درجه اول برای ردیابی آمار پلتفرم (مانند پیشرفت دستاوردها) استفاده شود.
  • جدا شده: سرویس‌های بازی‌های Play نسخه ۲ نباید به عنوان سیستم هویت اصلی بازی شما برای مدیریت حساب درون بازی بازیکن با پیشرفت بازی یا موجودی آنها استفاده شود. سرویس‌های بازی‌های Play نسخه ۲ صرفاً به عنوان یک شناسه پلتفرم ثانویه و پایدار عمل می‌کند.

احراز هویت درون بازی

توسعه‌دهندگان مسئول مدیریت «حساب درون بازی» (IGA) هستند. این سیستم هویتی است که پیشرفت، موجودی و ارز یک بازیکن را در بازی شما به هم متصل می‌کند.

  • هویت اصلی: شما می‌توانید از backend خودتان، ورود با گوگل (SiWG) یا سایر ارائه‌دهندگان به عنوان روش ورود اصلی استفاده کنید.
  • استقلال: یک بازیکن می‌تواند با ورود به هر حساب درون بازی خاص، مثلاً یک حساب مهمان یا یک حساب SiWG خاص، وارد سرویس‌های بازی‌های Play (هویت پلتفرم) شود و دستاورد کسب کند.
  • مدیریت چندین حساب درون بازی: سرویس‌های بازی‌های Play فقط مسئول احراز هویت پلتفرم هستند و بازی شما احراز هویت اولیه بازیکنان را در حساب‌های درون بازی (IGA) آنها مدیریت می‌کند. این بدان معناست که هیچ تغییری در جریان‌های موجود بازی شما در مورد نحوه جابجایی بازیکنان بین حساب‌های درون بازی آنها ایجاد نخواهد شد. در حالی که بازیکنان این کار را انجام می‌دهند، همچنان با استفاده از سرویس‌های بازی‌های Play به پلتفرم بازی‌های Play احراز هویت می‌شوند و شما همچنان داده‌های مربوط به دستاوردها و سایر ویژگی‌های سرویس‌های بازی‌های Play را از طریق شناسه بازیکن ثابت ارسال خواهید کرد.

الزام مهاجرت: حساب‌های درون بازی را به جای شناسه بازیکن سرویس‌های بازی‌های پلی، با شناسه Google Open ID متصل کنید

در نسخه ۱ خدمات بازی‌های Play، توسعه‌دهندگان از خدمات بازی‌های Play به عنوان ارائه‌دهنده هویت اصلی استفاده می‌کردند. دکمه «Google Play» حساب درون بازی (IGA) بازیکن را مستقیماً به Player ID او پیوند می‌داد.

سرویس بازی‌های Play نسخه ۲ با ارائه احراز هویت خودکار و بی‌صدای پلتفرم در هنگام عرضه، این مشکل را برطرف می‌کند. Player ID حاصل، اکنون منحصراً برای ویژگی‌های پلتفرم مانند جدول امتیازات و دستاوردها، جدا از ورود به حساب اصلی، استفاده می‌شود.

بازی‌ها اکنون باید هویت اصلی را به‌طور مستقل از طریق یک صفحه ورود اختصاصی که روش‌هایی مانند «ورود با گوگل» (SiWG) یا سایر حساب‌های اجتماعی را ارائه می‌دهد، مدیریت کنند. نکته مهم این است که Play Games Services v2 نباید به‌عنوان سیستم هویت اصلی استفاده شود .

این تغییر معماری مستلزم تغییر متناظر در نحوه ساختاردهی داده‌های حساب کاربری توسط توسعه‌دهندگان است. حساب کاربری درون بازی (IGA) باید از وابستگی اولیه به Player ID ) جدا شود.

در عوض، IGA اکنون باید به یک شناسه اصلی پایدار و مستقل از سرویس‌های بازی‌های Play متصل شود. شناسه پیشنهادی، Open ID (Open ID) ارائه شده توسط جریان ورود با گوگل (SiWG) است. این Open ID به عنوان کلید منحصر به فرد و پایدار برای حساب اصلی بازیکن در سیستم شما عمل می‌کند.

با این حال، IGA همچنان می‌تواند به عنوان یک اتصال ثانویه به Player ID متصل شود. این لینک ثانویه دو عملکرد حیاتی را ارائه می‌دهد:

  1. این به بازی اجازه می‌دهد تا به ردیابی و به‌روزرسانی پیشرفت ویژگی‌های بازی‌های Play (دستاوردها و غیره) مرتبط با آن بازیکن خاص ادامه دهد.
  2. این قابلیت «بازیابی یکپارچه» را فعال می‌کند و به بازی اجازه می‌دهد تا به طور خودکار بازیکن را فقط در دستگاه جدید یا پس از نصب مجدد، به آخرین IGA استفاده شده خود وارد کند.

درک این مدل هویت مجزا، کلید باز کردن مسیر صحیح مهاجرت فنی برای بازی شماست.

مقایسه ویژگی‌ها

این جدول مقایسه‌ای از ویژگی‌های بین SDKهای بازی نسخه ۱ و ۲ را ارائه می‌دهد:


ویژگی

بازی‌ها نسخه ۱ SDK

بازی‌ها نسخه ۲ SDK

احراز هویت

ادغام با play-services-auth الزامی است.

ساده و روان؛ بدون نیاز به play-services-auth .

مجوز

کد اضافی برای موفقیت، شکست و تلاش مجدد.

مدیریت شده توسط SDK

توکن دسترسی به سرور

می‌تواند با GoogleSigninClient محدوده‌های اضافی OAuth 2.0 را درخواست کند.

کد اضافی برای مدیریت خطا در هنگام احراز هویت.

می‌تواند هنگام درخواست دسترسی سمت سرور به APIهای وب سرویس‌های بازی‌های Play، سه حوزه هویت پایه OAuth 2.0 را با GamesSignInClient درخواست کند.

برای اطلاعات بیشتر، به دسترسی سمت سرور به سرویس‌های بازی‌های Play و بازیابی کدهای تأیید اعتبار سرور مراجعه کنید.


فرآیند ورود به سیستم

از GoogleSigninClient استفاده می‌کند.

کد اضافی برای مدیریت کد تکراری برای احراز هویت خودکار و مدیریت خطا.

از GamesSignInClient استفاده می‌کند.

SDK کدهای تکراری، احراز هویت خودکار و مدیریت خطا را مدیریت می‌کند. «ورود به سیستم» به دو لایه مجزا تقسیم می‌شود:
  • احراز هویت پلتفرم: توسط SDK نسخه ۲ سرویس‌های بازی‌های پلی (Play Games Services v2 SDK) انجام می‌شود.
  • احراز هویت درون بازی: توسط بازی انجام می‌شود.

پاپ‌آپ خوش‌آمدگویی

کد اضافی مورد نیاز است.
توسعه‌دهندگان می‌توانند محل قرارگیری و زمان‌بندی آن را کنترل کنند.

بدون نیاز به کد اضافی. رابط کاربری یکپارچه در تمام بازی‌های پیکربندی شده با games v2 SDK.

وابستگی‌ها

به play-services-auth نیاز دارد.

ماژول Games مسئولیت مجوزدهی و احراز هویت را بر عهده دارد. نیازی به اضافه کردن هیچ وابستگی اضافی ندارید.
خروج از سیستم

از GoogleSignInClient.signOut استفاده می‌کند.

API خروج از سیستم لازم نیست زیرا Play Games Services v2 یک هویت پلتفرم پایدار است.

چندین حساب کاربری و تنظیمات مربوط به هر بازی در سرویس‌های بازی‌های پلی

مدیریت حساب کاربری در داخل بازی شما امکان‌پذیر است.

کاربران می‌توانند نمایه خدمات بازی‌های Play را در تنظیمات دستگاه همراه تغییر دهند. برای اطلاعات بیشتر، به نحوه تغییر نمایه‌های بازی‌های Play در تلفن همراه مراجعه کنید.