API Recall به بازیها اجازه میدهد تا با ذخیره توکنهای Recall در سرورهای گوگل، لینکهای بین کاربران سرویسهای بازیهای گوگل (PGS) و حسابهای درون بازی آنها را مدیریت کنند. در اینجا یک سناریوی نمونه از نحوه استفاده از API Recall آورده شده است.
کاربری در حال انجام بازی است که توسعهدهنده در آن یک سیستم هویت برای ردیابی پیشرفت کاربر دارد و از PGS به موازات سایر روشهای احراز هویت برای ورود کاربران به بازی خود استفاده میکند. در این مثال، کاربر وارد حساب PGS خود، لورا ، میشود و یک حساب درون بازی با سیستم هویت توسعهدهنده به نام Racer94 ایجاد میکند. همزمان با انجام بازی توسط کاربر، سرور بازی توسعهدهنده پیشرفت او را همگامسازی میکند.

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

اکنون کاربر تصمیم میگیرد برای اولین بار بازی را روی GPG روی رایانه شخصی انجام دهد. کاربر به طور خودکار با حساب PGS خود احراز هویت میشود و کلاینت بازی بررسی میکند که آیا پیشرفتی برای این کاربر PGS در دسترس است یا خیر. سپس سرور بازی از گوگل میپرسد که آیا توکنی برای این حساب PGS وجود دارد یا خیر. از آنجا که توکن وجود دارد، گوگل توکن بازیابی را ارسال میکند و سرور بازی از آن توکن برای یافتن حساب مرتبط کاربر Racer94 و بازیابی پیشرفت او استفاده میکند. از آنجایی که احراز هویت با PGS یک تجربه بدون دردسر است، پیشرفت کاربر توسط برنامه بدون نیاز به وارد کردن نام کاربری یا رمز عبور بازیابی میشود. علاوه بر این، توسعهدهنده میتواند از احراز هویت PGS با سیستم هویت موجود خود استفاده کند و برای ذخیره پیوند بین پیشرفت بازیکن و حساب PGS خود به گوگل تکیه کند.

همانطور که در مثال قبلی دیده شد، دو عمل اصلی وجود دارد که توسط Recall API انجام میشود:
ذخیره توکن در گوگل، زمانی که کاربر با یکی از حسابهای درون بازی وارد سیستم میشود.
بازیابی توکن برای یک کاربر به منظور بازیابی حسابهای درون بازی او.
علاوه بر توکنهای بازیابی، API بازیابی به یک شناسه پایدار مربوط به حساب درون بازی، که به عنوان پرسونا شناخته میشود، نیز نیاز دارد. میتوانید پرسونا را به عنوان برچسبی در نظر بگیرید که نشان دهنده حساب درون بازی کاربر در سیستم هویت توسعهدهنده است و توکن بازیابی را به عنوان کلیدی در نظر بگیرید که برای بازیابی حساب درون بازی کاربر به بازی استفاده میشود. مقادیر پرسونا و توکن نباید در پروژههای مختلف PGS دوباره استفاده شوند. همچنین، در حالی که توکنهای بازیابی ممکن است با گذشت زمان تغییر کنند، یک پرسونا باید مطابق با حساب درون بازی کاربر پایدار باشد.
جریانهای فنی برای ذخیره و بازیابی توکنهای فراخوان
این بخش، جریان فنی بین کلاینت بازی و سرورها با سرورهای گوگل هنگام ذخیره و بازیابی توکنهای بازیابی را پوشش میدهد.
مرحله ۱: احراز هویت کاربر PGS و بازیابی شناسه جلسه
این بازی PGS SDK را مقداردهی اولیه میکند و تلاش میکند تا کاربر را با PGS احراز هویت کند.

با فرض اینکه کاربر احراز هویت شده است، یک شناسه جلسه از Games SDK در کلاینت بازی درخواست کنید و یک توکن OAuth 2.0 از OAuth backend گوگل درخواست کنید. شناسه جلسه و توکنهای OAuth 2.0 برای ارتباط با Google Games backend استفاده میشوند.

مرحله ۲: هرگونه توکن فراخوان موجود را بازیابی کنید
درخواست هرگونه توکن فراخوان مرتبط با حساب کاربری PGS. اگر توکنی وجود دارد، به مرحله 3a بروید و پیشرفت را بازیابی کنید . در غیر این صورت، اگر این یک کاربر جدید است و توکنی ندارد، به مرحله 3b بروید و یک توکن جدید ذخیره کنید .

مرحله ۳a: اگر توکن وجود دارد، پیشرفت را بازیابی کنید
اگر توکنی وجود دارد، توکن را بازیابی و رمزگشایی کنید و دادههای کاربر را بازیابی کنید.

مرحله ۳ب: اگر هیچ توکنی وجود ندارد، یک توکن ذخیره کنید
از آنجایی که هیچ توکنی وجود ندارد، هیچ پیشرفتی بازیابی نمیشود. کاربر با سیستم هویت توسعهدهنده به احراز هویت پلتفرم ادامه میدهد، یا اگر حساب کاربری وجود نداشته باشد، یک حساب جدید ایجاد میکند. توجه - این احراز هویت با PGS نیست (که قبلاً انجام شده است)، بلکه با سیستم هویت توسعهدهنده خارج از PGS انجام میشود.

یک توکن فراخوانی رمزگذاریشده ایجاد کنید که حساب کاربری درون بازی کاربر را رمزگذاری کند و آن را به همراه شناسه جلسه و توکن OAuth 2.0 به گوگل ارسال کنید. در این مرحله، گوگل بین توکن فراخوانی ارسالشده و حساب PGS بازیکن ارتباط برقرار میکند.

جریانها برای کاربران بدون پروفایل PGS
شما میتوانید با استفاده از حالت بدون پروفایل، توکنهای فراخوان را برای کاربری که هنوز پروفایل PGS ایجاد نکرده است، ذخیره کنید. با این حال، دو نکته مهم وجود دارد:
- شما نمیتوانید توکنهای کاربری که پروفایل PGS ندارد را بازیابی کنید. وقتی کاربر سعی میکند با استفاده از سرویسهای بازیهای Play در دستگاه دوم وارد بازی شما شود، ایجاد پروفایل به طور خودکار درخواست میشود.
- شما باید دستورالعملهای اضافی را دنبال کنید تا اطمینان حاصل شود که یک اطلاعیه مناسب برای شرح موارد زیر دارید و رضایت کاربر نهایی مربوطه را دریافت میکنید:
- اشتراکگذاری دادهها با گوگل برای فعال کردن قابلیت پیوند حساب کاربری Play Games.
- در دسترس بودن تنظیمات برای مدیریت این اشتراکگذاری، مانند تنظیمات بازیهای Play.
- پردازش چنین دادههایی تحت سیاست حفظ حریم خصوصی گوگل .
یک جفت توکن و شخصیت ذخیره کنید

- کاربری که پروفایل PGS ندارد، بازیای را باز میکند که قابلیت فراخوانی بدون پروفایل در آن فعال است.
- کیت توسعه نرمافزار بازیها (Games SDK) احراز هویت خودکار پلتفرم را آغاز میکند، که به دلیل نداشتن پروفایل PGS توسط کاربر، با شکست مواجه میشود.
- کیت توسعه نرمافزار بازیها (Games SDK) یک نوار اعلان نمایش میدهد که به کاربر اطلاع میدهد که بازی با گوگل یکپارچه شده است. این نوار اعلان قابل اجرا است - کاربر میتواند تا زمان ایجاد پروفایل، فراخوانی را غیرفعال کند.
- بازی درخواست دسترسی مجدد میکند. توجه داشته باشید که PGS درخواستهای دسترسی مجدد را در صورت وجود پروفایلهای PGS در دستگاه یا عدم وجود حسابهای گوگل در دستگاه رد میکند. در این صورت، بازی باید بدون استفاده از PGS ادامه یابد.
- پس از اینکه کاربر با یک حساب درون بازی وارد سیستم میشود، بازی یک جفت توکن و شخصیت برای کاربر ایجاد میکند که مربوط به حساب درون بازی اوست. بازی این جفت را در گوگل ذخیره میکند. اگر کاربر بعداً با حسابهای درون بازی دیگری وارد سیستم شود، ممکن است توکنهای بیشتری ذخیره کند.
اجرای بازی روی دستگاه جدید
- کاربری بدون پروفایل PGS، بازیای را باز میکند که قابلیت فراخوانی بدون پروفایل آن روی دستگاهش فعال است.
- بازی یک توکن فراخوان بدون پروفایل را همانطور که در بخش «ذخیره توکن و جفت شخصیت» توضیح داده شده است، ثبت میکند.
- کاربر همان بازی را در دستگاه دیگری که تنظیمات حساب کاربری مشابهی دارد، باز میکند.
- کیت توسعه نرمافزار بازیها (Games SDK) ایجاد پروفایل را آغاز میکند. کاربر میتواند توکنهای فراخوانی ذخیرهشده قبلی را بررسی و رد کند. در این زمان، کاربر یک پروفایل PGS ایجاد میکند.
- احراز هویت خودکار پلتفرم در PGS تکمیل میشود و بازی وضعیت احراز هویت شده را دریافت میکند.
- بازی طبق معمول توکنهای بازیابی را برای کاربر بازیابی میکند.
مراحل بعدی
برای ادغام API Recall با کلاینت و سرور بازی خود، این راهنما را دنبال کنید .