ورود

پس از منسوخ شدن رابط برنامه‌نویسی کاربردی ورود گوگل (Google Sign-In API)، ما در سال ۲۰۲۶ کیت توسعه نرم‌افزاری بازی‌ها نسخه ۱ (games v1 SDK) را حذف خواهیم کرد. پس از فوریه ۲۰۲۵، شما قادر به انتشار عناوینی که به تازگی با کیت توسعه نرم‌افزاری بازی‌ها نسخه ۱ (games v1 SDK) ادغام شده‌اند، در گوگل پلی نخواهید بود. توصیه می‌کنیم به جای آن از کیت توسعه نرم‌افزاری بازی‌ها نسخه ۲ (games v2 SDK) استفاده کنید.
در حالی که عناوین موجود با بازی‌های قبلی نسخه ۱ ادغام‌شده تا چند سال دیگر به کار خود ادامه می‌دهند، توصیه می‌شود از ژوئن ۲۰۲۵ به نسخه ۲ مهاجرت کنید .
این راهنما برای استفاده از SDK نسخه ۱ سرویس بازی‌های Play Games Services است. برای اطلاعات بیشتر در مورد آخرین نسخه SDK، به مستندات نسخه ۲ مراجعه کنید.

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

علاوه بر این، ورود به سیستم به شما یک شناسه قوی و ثابت می‌دهد که می‌توانید از آن به عنوان کلید سیستم ذخیره ابری استفاده کنید. ذخیره ابری بسیار ارزشمند است و بازیکنان را قادر می‌سازد موارد زیر را انجام دهند:

  • اگر دستگاه خود را تغییر دهند یا تنظیم مجدد کنند، از جایی که متوقف شده‌اند، ادامه دهند
  • بازی را روی چندین دستگاه انجام دهید (مثلاً روی یک تلفن دیگر یا یک کروم‌بوک)
  • بازی رو حذف و بعدا دوباره نصب کنید

شما می‌توانید از هویت سرویس‌های بازی‌های Play به عنوان کلید راه‌حل ذخیره‌سازی ابری خود استفاده کنید، یا می‌توانید از سرویس رایگان بازی‌های ذخیره‌شده (Saved Games) استفاده کنید.

سرویس‌های بازی‌های Play (PGS) از ورود خودکار، روشی بدون دردسر برای ورود بازیکنان، و همچنین ورود دستی که فرآیندی با یک کلیک است، پشتیبانی می‌کند. این سند این روش‌های مختلف ورود را شرح می‌دهد.

جریان ورود توصیه‌شده

برای ورود موفقیت‌آمیز بازیکنان به بازی خود، از روند ورود زیر استفاده کنید:

  1. در طول مراحل راه‌اندازی بازی، گزینه ورود خودکار (Automatic sign-in) را امتحان کنید تا بازیکن به‌طور خودکار وارد سیستم شود.
  2. اگر ورود خودکار کار نمی‌کند و دستگاه کاربر آنلاین است، ورود دستی را امتحان کنید.
  3. اگر ورود دستی رد شد، انتخاب کاربر را به خاطر بسپارید و دیگر ورود دستی را نمایش ندهید، اما همچنان ورود خودکار هنگام راه‌اندازی را امتحان کنید.

علاوه بر این، باید مطمئن شوید که کاربران می‌توانند با یک دکمه اختصاصی و آسان برای پیدا کردن، با حساب کاربری خدمات بازی‌های Play خود وارد بازی شما شوند.

ورود خودکار

ورود خودکار به کاربران این امکان را می‌دهد که بدون هیچ مشکلی وارد بازی شما شوند - این کار خودکار است! اگر بازی شما درخواست ورود کاربر را داشته باشد و تنظیمات ورود خودکار فعال باشد (در برنامه Google Play Games)، شما اطلاعات هویتی PGS کاربر را دریافت خواهید کرد و کاربر تجربه ورود به سیستم PGS را مشاهده خواهد کرد.

ورود خودکار تنظیماتی است که کاربران می‌توانند کنترل کنند. کاربران می‌توانند انتخاب کنند که به طور خودکار وارد همه بازی‌ها شوند یا هر بار از آنها سوال شود.

ورود خودکار

ورود به سیستم دستی

اگر کاربری به طور خودکار وارد بازی نشد، می‌توانید از او بخواهید که به صورت دستی وارد شود. کاربران می‌توانند با یک کلیک از طریق کادر گفتگویی که در بالای بازی شما نمایش داده می‌شود، وارد شوند.

ورود به سیستم دستی

برای تجربه صحیح ورود به سیستم، به پنجره‌های بازشو PGS اجازه دهید

هنگام استفاده از PGS، کاربران باید بدانند که وارد سیستم شده‌اند. این کار با نمایش تجربه ورود به سیستم PGS انجام می‌شود.

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

دامنه‌های OAuth و PGS

PGS برای اینکه به کاربران اجازه دهد به بازی شما دسترسی به حساب کاربری‌شان را بدهند، به سیستم OAuth متکی است. OAuth Scopeها مجوزهایی هستند که شما به عنوان یک توسعه‌دهنده می‌توانید درخواست کنید. در صورت اعطای این مجوزها، بازی شما می‌تواند APIهای خاصی را از طرف کاربر فراخوانی کند و همچنین به شما امکان دسترسی به بخش‌های خاصی از حساب گوگل آنها را می‌دهد.

PGS یک محدوده‌ی منحصر به فرد برای بازی‌ها ( games-lite ) دارد و اگر بازی شما از ویژگی بازی‌های ذخیره شده استفاده کند، به محدوده‌ی دیگری ( drive.appdata ) متکی است. ویژگی بازی‌های ذخیره شده به حساب Google Drive کاربر، جایی که داده‌های بازی ذخیره می‌شوند، دسترسی می‌دهد.

بازی شما می‌تواند هر محدوده‌ای را که برای ایجاد یک تجربه بازی عالی برای کاربران خود نیاز دارید، درخواست کند. بازی شما می‌تواند تمام محدوده‌های مورد نیاز خود را در یک بسته درخواست کند و تعداد درخواست‌ها برای دسترسی به حساب گوگل را محدود کند. با این حال، این رویکرد یک اشکال عمده دارد. اگر تعداد بیشتری از محدوده‌های خاص PGS را درخواست کنید، ورود خودکار نمی‌تواند موفقیت‌آمیز باشد. ورود خودکار بهترین راه برای ورود بازیکنان به بازی شماست.

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

دسترسی OAuth با استفاده از یک صفحه نمایش متفاوت برای هر محدوده اعطا می‌شود. این به کاربران اجازه می‌دهد تا به صورت جزئی‌تر تصمیم بگیرند که به کدام محدوده‌ها دسترسی بدهند. با استفاده از ورود خودکار فقط با محدوده‌های PGS، کاربران مجبور نخواهند بود با هیچ یک از دستورات OAuth تعامل داشته باشند و این باعث کاهش اصطکاک ورود به سیستم می‌شود.

پشتیبانی از روش‌های ورود چندگانه

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

بازیابی و تأیید ایمن هویت بازیکن برای ادغام در بک‌اند

شما می‌توانید یک کد احراز هویت سرور درخواست کنید تا سرور شما بتواند مستقیماً از طریق REST API با مجوز بازیکن وارد شده به سیستم، با سرورهای Play Games Services ارتباط برقرار کند. این امر امکان دسترسی مستقیم به شناسه، پروفایل و سایر اطلاعات بازیکن (مانند لیست دوستان، در صورت مجاز بودن) را فراهم می‌کند. اگر هرگونه شناسه بازیکن، شناسه دوست یا سایر داده‌های مرتبط را در backend خود ذخیره می‌کنید، باید از این روش برای حذف امکان دستکاری این فیلدها توسط دستگاه استفاده شود.

علاوه بر این، برای برخی از بازی‌ها و بازیکنان قدیمی‌تر، شناسه بازیکنی که توسط SDK اندروید برای یک بازیکن برگردانده می‌شود، ممکن است همان شناسه‌ای نباشد که سایر بازیکنان هنگام مشاهده آن بازیکن در همان بازی می‌بینند - این امر به ویژه هنگام استفاده از لیست دوستان اهمیت دارد. با این حال، player_id برگردانده شده در REST API همیشه ثابت است و همیشه شناسه‌ای است که توسط سایر بازیکنان دیده می‌شود.

برای اطلاعات بیشتر، به مستندات دسترسی آفلاین و REST API مراجعه کنید.

پیاده‌سازی کلاینت

برای یادگیری نحوه پیاده‌سازی پشتیبانی از ورود به سیستم در اندروید، به ورود به سیستم در بازی‌های اندروید مراجعه کنید.