اولین قدم برای ادغام بازی شما با سرویسهای بازیهای گوگل پلی (PGS)، پیادهسازی احراز هویت پلتفرم است. این مورد برای دسترسی به سایر ویژگیها مانند دستاوردها، جدول امتیازات و رویدادها ضروری است.
از آنجایی که کیت توسعه نرمافزاری خدمات بازیهای Play به طور خودکار احراز هویت پلتفرم را در هنگام اجرای بازی انجام میدهد، شما باید کیت توسعه نرمافزاری PGS v2 را با بازی خود ادغام کرده و جریان احراز هویت توصیهشده را پیادهسازی کنید تا بازی شما برای پیادهسازی و برآورده کردن دستورالعملهای تجربه کاربری Google Play Games Level Up آماده باشد.
مفاهیم احراز هویت
در Play Games Services نسخه ۲، مفهوم «ورود به سیستم» به دو لایه مجزا تقسیم شده است: احراز هویت پلتفرم و احراز هویت درون بازی .
احراز هویت پلتفرم
سرویسهای بازیهای پلی یک لایه تعامل پلتفرم ارائه میدهند. این لایه، ارتباط بازیکن شما را با اکوسیستم بازیهای گوگل پلی با استفاده از پروفایل بازیکن مدیریت میکند تا به ویژگیهایی مانند دستاوردها، جدول امتیازات و ماموریتها دسترسی پیدا کند. احراز هویت پلتفرم دارای ویژگیهای کلیدی زیر است:
- بیصدا و خودکار: احراز هویت به طور خودکار در پسزمینه و هنگام اجرای بازی انجام میشود. سرویسهای بازیهای Play نیازی به دکمه ورود دستی ندارند.
- شناسه بازیکن: پس از احراز هویت موفقیتآمیز پلتفرم، سرویسهای بازیهای Play یک شناسه بازیکن پایدار ارائه میدهند. این شناسه در دستگاههای مختلف برای یک بازی یکسان است. از این شناسه عمدتاً برای ردیابی ویژگیهای پلتفرم، مانند پیشرفت دستاوردها، استفاده کنید.
- جدا شده: شما نباید از سرویسهای بازیهای Play به عنوان سیستم هویت اصلی بازی خود برای مدیریت حساب درون بازی (IGA)، پیشرفت بازی یا موجودی بازیکن خود استفاده کنید. سرویسهای بازیهای Play به عنوان یک شناسه پایدار پلتفرم عمل میکنند.
شناسه بازیکن
شناسه بازیکن، شناسهای برای حساب کاربری بازیکن در سرویسهای بازیهای Play است. بازی شما میتواند شناسه بازیکن هر بازیکنی را که با استفاده از احراز هویت سرویسهای بازیهای Play وارد بازی شما میشود، بازیابی کند. ادغام کلاینت بازی ، ادغام سرور بازی و سرویس ذخیره ابری شما میتوانند از این شناسه برای دسترسی ایمن به دادههای بازیکن از سرویسهای بازیهای Play استفاده کنند.
یک شناسه بازیکن برای یک کاربر وقتی که بازی شما را روی چندین دستگاه انجام میدهد، ثابت است. با این حال، همیشه بین بازیها ثابت نیست. برای اطلاعات بیشتر، به شناسههای بازیکن نسل بعدی مراجعه کنید.
احراز هویت درون بازی
شما حساب کاربری درون بازی (IGA) را مدیریت میکنید، که سیستم هویتی است که پیشرفت، موجودی و ارز بازیکن را در بازی شما به هم متصل میکند.
- هویت اصلی: شما میتوانید از backend خودتان، ورود با گوگل (SiWG) یا سایر ارائهدهندگان به عنوان روش اصلی ورود به سیستم استفاده کنید.
- استقلال: بازیکنان میتوانند برای کسب دستاوردها، در حالی که با هر حساب کاربری IGA خاص (مثلاً یک حساب مهمان یا یک حساب کاربری SiWG خاص) وارد سیستم شدهاند، وارد خدمات بازیهای Play (هویت پلتفرم) شوند.
- مدیریت چندین حساب کاربری IGA: سرویسهای بازیهای Play فقط احراز هویت پلتفرم را مدیریت میکنند. بازی شما احراز هویت اولیه بازیکنان را در IGAهایشان مدیریت میکند. این بدان معناست که هیچ تغییری در جریانهای موجود بازی شما برای جابجایی بازیکنان بین IGAهایشان ایجاد نمیشود. وقتی بازیکنان حسابهای خود را تغییر میدهند، از طریق PGS به پلتفرم بازیهای Play احراز هویت میشوند و شما همچنان دادههای مربوط به دستاوردها و سایر ویژگیهای PGS آنها را از طریق شناسه بازیکن ثابت ارسال میکنید.
تداوم بین پلتفرمی با SiWG
برای کمک به بازیکنان در ادامهی پیشرفتشان در اندروید، iOS و وب، از ورود با گوگل به عنوان روش اصلی احراز هویت درون بازی استفاده کنید. موارد زیر را در نظر بگیرید:
- دکمه ورود با گوگل: در PGS نسخه ۱، دکمه گوگل پلی اغلب هم ورود به پلتفرم و هم ورود به بازی را مدیریت میکرد. در نسخه ۲، اینها فرآیندهای جداگانهای هستند. یک دکمه استاندارد ورود با گوگل برای بازیکنان پیادهسازی کنید تا بتوانند احراز هویت کرده و به حساب کاربری خود دسترسی پیدا کنند.
- SDK های ورود به سیستم گوگل:
- برای هر دو سیستم عامل اندروید و iOS، از SDK های استاندارد ورود به سیستم گوگل برای تأیید اعتبار بازیکنان در IGA های خود استفاده کنید.
- از شناسه گوگل اوپن آیدی به عنوان شناسه اصلی حساب کاربری درون بازی بازیکن استفاده کنید.
- از شناسه بازیکن سرویسهای بازیهای Play برای گزارش پیشرفت بازیکن در ویژگیهای بازیهای Play، مانند دستاوردها، استفاده کنید.
ادغام توصیه شده
برای ادغام بازی خود با سرویسهای بازیهای Play، این مراحل توصیهشده را دنبال کنید:
مقداردهی اولیه و احراز هویت
این مرحله برای مقداردهی اولیه و تأیید اعتبار بازی شما لازم است:
با مقداردهی اولیه SDK مربوط به Play Games Services v2 در هنگام راهاندازی، احراز هویت پلتفرم را پیادهسازی کنید. برای اطلاعات بیشتر، به احراز هویت پلتفرم برای بازیهای اندروید مراجعه کنید. این مرحله برای دسترسی به ویژگیهای Play Games Services، مانند دستاوردها و جدول امتیازات، ضروری است.
احراز هویت به عنوان یک فرآیند پسزمینه بیصدا در طول اجرای بازی اجرا میشود. کاربران فعلی سرویسهای بازیهای Play پس از احراز هویت موفقیتآمیز، پیام خوشامدگویی را مشاهده میکنند. کاربرانی که نمایه سرویسهای بازیهای Play ندارند، هنگام مقداردهی اولیه SDK از آنها خواسته میشود که نمایهای ایجاد کنند .

ایجاد پروفایل
بازیکنان برای تعامل با پلتفرم به یک پروفایل Play Games Services نیاز دارند. ممکن است برخی از بازیکنان هنگام شروع بازی شما، پروفایل Play Games Services نداشته باشند. از این بازیکنان خواسته میشود که یک پروفایل ایجاد کنند.
وقتی یک بازی را بدون نمایه «خدمات بازیهای Play» اجرا میکنید، بهطور پیشفرض، پیامهای ایجاد نمایه که بهطور خودکار فعال میشوند، بهطور خودکار ظاهر میشوند.

احراز هویت درون بازی
پس از اجرای موفقیتآمیز احراز هویت پلتفرم، توسعهدهندگان باید مراحل زیر را برای دسترسی بازیکنان به IGA های خود، بسته به وضعیت فعلی بازی، پیادهسازی کنند:
- اگر یک جلسه بازی فعال در دستگاه وجود دارد، به بازیکن اجازه دهید جلسه فعلی خود را از سر بگیرد.
- اگر هیچ جلسه بازی فعالی وجود ندارد:
- در مورد سناریوی بازیابی یکپارچه که در آن آخرین IGA بازی شده با شناسه پخش کننده PGS مرتبط است، به طور خودکار IGA مرتبط را بازیابی کنید.
- در غیر این صورت، صفحه ورود یا ایجاد حساب کاربری تعیینشده توسط برنامه خود را به بازیکن نشان دهید. سپس بازیکنان میتوانند روش احراز هویت مورد نظر خود را برای ایجاد یا ورود به یک حساب کاربری IGA موجود انتخاب کنند.
دامنههای OAuth
سرویسهای بازیهای پلی (Play Games Services) برای اینکه به بازیکنان اجازه دهند به بازی شما دسترسی به حساب کاربریشان را بدهند، به سیستم OAuth متکی هستند. سرویسهای بازیهای پلی یک محدودهی منحصر به فرد برای بازیها ( games-lite ) دارد و اگر بازی شما از ویژگی بازیهای ذخیره شده (save games) استفاده کند، به محدودهی دیگری ( drive.appdata ) متکی است. ویژگی بازیهای ذخیره شده به حساب گوگل درایو کاربر، جایی که دادههای بازی ذخیره میشوند، دسترسی میدهد.
هنگام استفاده از SDK مربوط به Play Games Services v2، میتوانید محدودههای OAuth بیشتری درخواست کنید. اگر به محدودههای OAuth بیشتری نیاز دارید، توصیه میکنیم requestServerSideAccess را فراخوانی کنید. برای اطلاعات بیشتر، به get the server auth code یا retrieve server authentication codes مراجعه کنید.
راهنمای تجربه کاربری برای جریان احراز هویت ایدهآل
دستورالعملهای زیر، جریان احراز هویت پیشنهادی با ادغام PGS نسخه ۲ را توضیح میدهند. این دستورالعملها سناریوهایی را برای کاربران جدید، فعلی و قدیمی و حالت مهمان پوشش میدهند.
بازیکن جدید
این جریان در مورد کاربری که بازی را برای اولین بار روی دستگاهی بدون سابقه بازی قبلی اجرا میکند، اعمال میشود.
- پس از اجرا، PGS SDK برای تأیید هویت پلتفرم کاربر (شناسه پخشکننده PGS) راهاندازی اولیه میشود.
- پس از این دست دادن در پسزمینه، بازی گزینههای ایجاد حساب کاربری IGA را به بازیکن نمایش میدهد، برای مثال، ایجاد حساب کاربری جدید ، ورود با گوگل یا سایر روشهای ورود به سیستم از طریق شبکههای اجتماعی.
- هنگامی که بازیکن یک حساب کاربری IGA ایجاد یا انتخاب میکند، بازی این حساب را به شناسه اصلی انتخاب شده در backend خود متصل میکند.
- بازی همچنین این IGA انتخاب شده را به PGS Player ID متصل میکند و آن را به عنوان آخرین IGA بازی شده برای بازیابی بدون مشکل علامتگذاری میکند.



بازیکنانی با جلسات فعال
این سناریو، بازیکنانی را توصیف میکند که بازی را روی دستگاهی اجرا میکنند که از قبل یک جلسه فعال در آن دارند. هدف، ارائه یک تجربه ورود بینقص است.
- وقتی بازیکن برنامه را اجرا میکند، PGS بیصدا در پسزمینه احراز هویت میکند و به شما شناسه بازیکن (Player ID) میدهد تا پیشرفت در مقایسه با دستاوردها و سایر ویژگیهای بازی را پیگیری کنید.
- همزمان، در صورت لزوم، بازی از صفحات ورود عبور میکند و بلافاصله بازیکن را به جلسه IGA فعال یا آخرین IGA بازی شده مرتبط با شناسه بازیکن خود وارد میکند تا بتواند بلافاصله بازی را از سر بگیرد.







بازیکنانی که حسابهای کاربری خود را تغییر میدهند
این جریان زمانی اتفاق میافتد که بازیکنی با یک جلسه فعال، برای تغییر حساب کاربری به تنظیمات بازی میرود. برای مثال، از حساب اصلی خارج میشود تا از یک حساب جایگزین استفاده کند.
- بازیکن از IGA فعلی خارج میشود، اما اتصال پلتفرم PGS همچنان فعال است.
- وقتی بازیکن با یک حساب کاربری IGA متفاوت وارد سیستم میشود، بازی این حساب جدید را به عنوان آخرین حساب کاربری IGA بازی شده به PGS Player ID فعلی متصل میکند تا بازیابی بدون مشکل انجام شود.






بازیابی بینقص برای بازیکنان بازگشته
این سناریو زمانی اعمال میشود که بازیکن بازی را پس از یک دوره غیرفعال بودن، نصب مجدد یا روی یک دستگاه کاملاً جدید اجرا کند. توصیه میشود بازی از قابلیت بازیابی یکپارچه (Seamless Restore) پشتیبانی کند.
- پس از اجرا، PGS کاربر را احراز هویت میکند و شناسه پخشکننده PGS را در اختیار بازی قرار میدهد.
- بازی، بکاند خود (یا توکن فراخوانی بازیابیشده در صورت استفاده از Recall API) را بررسی میکند تا ببیند آیا آخرین IGA بازیشده از قبل به این شناسه PGS مرتبط شده است یا خیر.
- اگر لینکی پیدا شود، بازی بهطور خودکار پیشرفت بازیکن را بازیابی کرده و او را وارد سیستم میکند و بهطور کامل از صفحه ورود دستی صرفنظر میکند.
- در غیر این صورت، بازی صفحه ورود به سیستم را به بازیکن نشان میدهد.
- سپس بازیکن یک روش ورود به سیستم را انتخاب کرده و وارد یک حساب کاربری IGA میشود.
- سپس بازی این IGA را به عنوان آخرین IGA بازی شده برای بازیابی بدون مشکل به PGS player ID متصل میکند.




حالت مهمان
بازیکنان میتوانند بازی را اجرا کرده و با استفاده از یک حساب کاربری مهمان محلی بازی کنند. PGS همچنان در پسزمینه احراز هویت میکند. اگر بازیکن گزینه ذخیره پیشرفت را انتخاب کند، بازی جلسه مهمان را به یک IGA دائمی تبدیل کرده و آن را به شناسه بازیکن PGS متصل میکند.

