Recall API به بازیها اجازه میدهد پیوندهای بین کاربران خدمات بازیهای Google Play (PGS) و حسابهای درون بازی آنها را با ذخیره کردن نشانههای فراخوان در سرورهای Google مدیریت کنند. در اینجا یک سناریوی نمونه از نحوه استفاده از Recall API آمده است.
یک کاربر در حال انجام بازی است که در آن توسعه دهنده یک سیستم هویت برای ردیابی پیشرفت کاربر دارد و از PGS به موازات سایر روش های احراز هویت برای ورود کاربران به بازی خود استفاده می کند. در این مثال، یک کاربر به حساب PGS خود Laura وارد شده و یک حساب کاربری درون بازی با سیستم هویت توسعه دهنده به نام Racer94 ایجاد می کند. همانطور که کاربر بازی را انجام می دهد، سرور بازی توسعه دهنده پیشرفت آنها را همگام می کند.
بهطور جداگانه، توسعهدهنده یک توکن فراخوان را با Google ذخیره میکند که با حساب کاربری درون بازی کاربر مطابقت دارد. گوگل به طور خودکار توکن های فراخوان را در نمایه PGS کاربر ذخیره می کند.
اکنون کاربر تصمیم می گیرد برای اولین بار بازی را روی GPG روی رایانه شخصی بازی کند. کاربر به طور خودکار با حساب PGS خود احراز هویت می شود و مشتری بازی بررسی می کند که آیا پیشرفتی برای این کاربر PGS وجود دارد یا خیر. سپس سرور بازی از گوگل پرس و جو می کند تا ببیند آیا نشانه هایی برای این حساب PGS وجود دارد یا خیر. از آنجایی که وجود دارد، گوگل توکن فراخوان را پس میفرستد و سرور بازی از آن رمز برای یافتن حساب مرتبط کاربر Racer94 و بازیابی پیشرفت آنها استفاده میکند. از آنجایی که احراز هویت با PGS یک تجربه بدون اصطکاک است، پیشرفت کاربر توسط برنامه بدون نیاز به وارد کردن نام کاربری یا رمز عبور بازیابی میشود. علاوه بر این، توسعهدهنده میتواند از احراز هویت PGS با سیستم هویت موجود خود استفاده کند و برای ذخیره پیوند بین پیشرفت بازیکن و حساب PGS خود به Google تکیه کند.
همانطور که در مثال قبلی مشاهده شد، دو عمل اصلی وجود دارد که توسط Recall API انجام می شود:
هنگامی که کاربر با یکی از حسابهای درون بازی وارد میشود، رمز را با Google ذخیره میکند .
بازیابی رمز برای یک کاربر به منظور بازیابی حساب های درون بازی خود.
علاوه بر توکنهای فراخوان، Recall API همچنین به یک شناسه پایدار مطابق با حساب درون بازی نیاز دارد که به عنوان persona شناخته میشود. شما ممکن است شخصیت را به عنوان برچسبی در نظر بگیرید که حساب کاربری در بازی کاربر را در سیستم هویت توسعه دهنده نشان می دهد و نشانه فراخوانی را به عنوان کلیدی که برای بازگرداندن حساب کاربری در بازی به بازی استفاده می شود. مقادیر پرسونا و نشانه نباید در پروژه های مختلف PGS دوباره استفاده شوند. همچنین، در حالی که نشانههای فراخوان ممکن است در طول زمان تغییر کنند، یک پرسونا باید مطابق با حساب کاربری کاربر در بازی پایدار باشد.
جریان های فنی برای ذخیره و بازیابی نشانه های فراخوان
این بخش جریان فنی بین کلاینت بازی و سرورها با سرورهای Google را هنگام ذخیره و بازیابی نشانههای فراخوان پوشش میدهد.
مرحله 1: کاربر PGS را احراز هویت کنید و شناسه جلسه را بازیابی کنید
بازی PGS SDK را مقداردهی اولیه می کند و سعی می کند کاربر را با PGS احراز هویت کند.
با فرض اینکه کاربر احراز هویت شده است، یک شناسه جلسه از Games SDK در کلاینت بازی درخواست کنید و یک توکن OAuth 2.0 را از باطن OAuth Google درخواست کنید. شناسه جلسه و نشانههای OAuth 2.0 برای برقراری ارتباط با Google Games استفاده میشوند.
مرحله 2: هر نشانه فراخوانی موجود را بازیابی کنید
درخواست هرگونه نشانه فراخوان مرتبط با حساب کاربر PGS. اگر نشانه ای وجود دارد، به مرحله 3a بروید و پیشرفت را بازیابی کنید . در غیر این صورت، اگر این کاربر جدید است و هیچ نشانه ای وجود ندارد، به مرحله 3b بروید و یک توکن جدید ذخیره کنید .
مرحله 3a: اگر نشانه وجود دارد، پیشرفت را بازیابی کنید
اگر نشانه ای وجود دارد، رمز را بازیابی و رمزگشایی کنید و داده های کاربر را بازیابی کنید.
مرحله 3b: اگر نشانه ای وجود ندارد، یک توکن ذخیره کنید
از آنجایی که هیچ نشانه ای وجود ندارد، هیچ پیشرفتی بازیابی نمی شود. کاربر به احراز هویت پلتفرم با سیستم هویت توسعهدهنده ادامه میدهد، یا اگر حساب جدیدی وجود نداشته باشد، حساب جدیدی ایجاد میکند. توجه - این تأیید اعتبار با PGS نیست (که قبلاً انجام شده است)، بلکه با سیستم هویت توسعهدهنده خارج از PGS است.
یک رمز فراخوان رمزگذاری شده ایجاد کنید که حساب کاربری درون بازی کاربر را رمزگذاری میکند و آن را به همراه شناسه جلسه و نشانه OAuth 2.0 به Google ارسال کنید. در این مرحله، گوگل ارتباطی بین توکن فراخوان ارسال شده و حساب PGS بازیکن ایجاد می کند.
برای کاربران بدون نمایه PGS جریان دارد
میتوانید با استفاده از حالت بدون پروفایل، نشانههای فراخوان را برای کاربری ذخیره کنید که هنوز نمایه PGS ایجاد نکرده است. با این حال، دو اخطار مهم وجود دارد:
- شما نمی توانید نشانه های کاربری را که نمایه PGS ندارد بازیابی کنید. هنگامی که کاربر سعی می کند با سرویس بازی های Play در دستگاه دوم وارد بازی شما شود، ایجاد نمایه به طور خودکار از شما خواسته می شود.
- شما باید دستورالعملهای اضافی را دنبال کنید تا اطمینان حاصل کنید که اخطار مناسبی در توصیف موارد زیر و کسب رضایت کاربر نهایی مناسب دارید:
- اشتراکگذاری دادهها با Google برای فعال کردن ویژگی پیوند دادن حساب بازیهای Play.
- در دسترس بودن تنظیماتی برای مدیریت این اشتراکگذاری، مانند تنظیمات بازیهای Play.
- پردازش چنین دادههایی تحت خطمشی رازداری Google .
یک جفت توکن و پرسونا را ذخیره کنید
- کاربر بدون نمایه PGS بازیای را باز میکند که فراخوانی بدون پروفایل را فعال کرده است.
- Games SDK یک تأیید هویت خودکار پلتفرم را راهاندازی میکند، که به دلیل نداشتن نمایه PGS، ناموفق است.
- Games SDK نواری اسنک را نشان میدهد که به کاربر اطلاع میدهد که بازی با Google ادغام شده است. این نوار اسنک قابل اجرا است - کاربر می تواند تا زمانی که یک نمایه ایجاد شود، فراخوانی را غیرفعال کند.
- بازی درخواست دسترسی به یاد آوری می کند. توجه داشته باشید که PGS زمانی که نمایههای PGS در دستگاه وجود دارد یا زمانی که حساب Google در دستگاه وجود ندارد، درخواستهای دسترسی به فراخوان را رد میکند. در این صورت، بازی باید بدون استفاده از PGS ادامه یابد.
- پس از اینکه کاربر با یک حساب درون بازی وارد شد، بازی یک جفت توکن و پرسونا برای کاربر ایجاد می کند که با حساب درون بازی او مطابقت دارد. بازی این جفت را با گوگل ذخیره می کند. اگر کاربر به حسابهای دیگر داخل بازی وارد شود، ممکن است بازی بعداً توکنهای بیشتری ذخیره کند.
یک بازی را در یک دستگاه جدید راه اندازی کنید
- کاربر بدون نمایه PGS بازیای را باز میکند که فراخوانی بدون پروفایل در دستگاهی فعال است.
- بازی یک نشانه فراخوانی بدون پروفایل را ثبت میکند، همانطور که در Store a token و جفت پرسونا توضیح داده شده است.
- کاربر همان بازی را در دستگاه دیگری که تنظیمات حساب یکسانی دارد باز می کند.
- Games SDK باعث ایجاد نمایه می شود. کاربر می تواند توکن های فراخوانی که قبلاً ذخیره شده است را بررسی و رد کند. کاربر در این زمان یک نمایه PGS ایجاد می کند.
- احراز هویت خودکار پلت فرم به PGS کامل می شود و بازی وضعیت احراز هویت را دریافت می کند.
- بازی طبق معمول نشانه های فراخوانی را برای کاربر بازیابی می کند.
مراحل بعدی
به منظور ادغام Recall API با سرویس گیرنده و سرور بازی خود، این دستورالعمل را دنبال کنید .