Recall API به بازیها اجازه میدهد از خدمات بازیهای Play (PGS) بهعنوان همراهی برای مکانیسمهای ورود به سیستم موجود خود استفاده کنند، برای مثال ورود به سیستم Google، و بهطور یکپارچه اطلاعات ورود به سیستم بازیکنان را در دستگاههایشان همگامسازی کنند تا انقباض ورود به سیستم را کاهش دهند و حفظ D1 را افزایش دهند. . API پیوندهای بین حساب خدمات بازیهای بازی (PGS) کاربر و حسابهای درون بازی آنها را با ذخیره نشانههای فراخوان در سرورهای Google مدیریت میکند. در اینجا یک سناریوی نمونه از نحوه استفاده از Recall API آمده است:
یک کاربر در حال انجام بازی است که در آن توسعه دهنده یک سیستم هویت برای ردیابی پیشرفت کاربر دارد و از PGS به موازات سایر روش های احراز هویت برای ورود کاربران به بازی خود استفاده می کند. در این مثال، یک کاربر به حساب PGS خود Laura وارد شده و یک حساب کاربری درون بازی با سیستم هویت توسعه دهنده به نام Racer94 ایجاد می کند. همانطور که کاربر بازی را انجام می دهد، سرور بازی توسعه دهنده پیشرفت آنها را همگام می کند.
بهطور جداگانه، توسعهدهنده یک توکن فراخوان را با Google ذخیره میکند که با حساب کاربری درون بازی کاربر مطابقت دارد. گوگل به طور خودکار توکن های فراخوان را در نمایه PGS کاربر ذخیره می کند.
اکنون کاربر تصمیم می گیرد برای اولین بار بازی را در Google Play Games روی رایانه شخصی انجام دهد. کاربر به طور خودکار با حساب PGS خود وارد می شود و مشتری بازی بررسی می کند که آیا پیشرفتی برای این کاربر PGS وجود دارد یا خیر. سپس سرور بازی از گوگل پرس و جو می کند تا ببیند آیا نشانه هایی برای این حساب PGS وجود دارد یا خیر. از آنجایی که وجود دارد، گوگل توکن فراخوان را پس میفرستد و سرور بازی از آن رمز برای یافتن حساب مرتبط کاربر Racer94 و بازیابی پیشرفت آنها استفاده میکند. از آنجایی که ورود به سیستم با PGS یک تجربه بدون اصطکاک است، پیشرفت کاربر توسط برنامه بدون نیاز به وارد کردن نام کاربری یا رمز عبور بازیابی میشود. علاوه بر این، توسعهدهنده میتواند از ورود به سیستم PGS با سیستم هویت موجود خود استفاده کند و برای ذخیره پیوند بین پیشرفت بازیکن و حساب PGS خود به Google تکیه کند.
همانطور که در مثال بالا مشاهده می شود، دو عمل اصلی وجود دارد که توسط Recall API انجام می شود:
- هنگامی که کاربر با یکی از حسابهای درون بازی وارد میشود، رمز را با Google ذخیره میکند .
- بازیابی رمز برای یک کاربر به منظور بازیابی حساب های درون بازی خود.
علاوه بر نشانههای فراخوان، Recall API همچنین به یک شناسه پایدار مطابق با حساب درون بازی، معروف به persona نیاز دارد تا محدودیتهای اصلی را اعمال کند. شما ممکن است شخصیت را به عنوان برچسبی در نظر بگیرید که حساب کاربری در بازی کاربر را در سیستم هویت توسعه دهنده نشان می دهد و نشانه فراخوانی را به عنوان کلیدی که برای بازگرداندن حساب کاربری در بازی به بازی استفاده می شود. مقادیر پرسونا و نشانه نباید در پروژه های مختلف PGS دوباره استفاده شوند. همچنین، در حالی که نشانههای فراخوان ممکن است در طول زمان تغییر کنند، یک پرسونا باید مطابق با حساب کاربری کاربر در بازی پایدار باشد.
قواعد کاردینالیته
Recall API یک رابطه 1:1 را بین نمایههای PGS و حسابهای درون بازی اعمال میکند (که به آنها قوانین اصلی گفته میشود)، که در آن یک پرسونا فقط میتواند به یک نمایه PGS مرتبط شود و یک نمایه PGS فقط میتواند به یک شخصیت مرتبط شود. پرسونا به عنوان یک شناسه پایدار برای یک حساب درون بازی استفاده می شود، زیرا نشانه های فراخوان ممکن است در طول زمان تغییر کنند.
پرسونای پیوند شده به نمایه PGS نیز ممکن است در طول زمان تغییر کند (زیرا حسابهای مختلف درون بازی به نمایه 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: اگر نشانه ای وجود ندارد، یک توکن ذخیره کنید
از آنجایی که هیچ نشانه ای وجود ندارد، هیچ پیشرفتی بازیابی نمی شود. کاربر وارد سیستم هویت توسعهدهنده میشود یا در صورت عدم وجود یک حساب کاربری جدید ایجاد میکند.
یک رمز فراخوان رمزگذاری شده ایجاد کنید که حساب کاربری درون بازی کاربر را رمزگذاری میکند و آن را به همراه شناسه جلسه و توکن OAuth 2.0 به Google ارسال کنید. در این مرحله، گوگل ارتباطی بین توکن فراخوان ارسال شده و حساب PGS بازیکن ایجاد می کند.
مراحل بعدی
به منظور ادغام Recall API با کلاینت و سرور بازی خود، این راهنمای پیاده سازی را دنبال کنید.