این صفحه نحوه ادغام ورود به سیستم خدمات بازی های Play را با هویت موجود یا راه حل ذخیره ابری توضیح می دهد. اگرچه این توصیهها اختیاری هستند، اما میتوانند به شما در تکمیل الزامات ذخیره ابری برای بازیهای Google Play در رایانه شخصی کمک کنند. از الزامات تداوم و صفحات رفتارهای مورد انتظار برای تأیید اینکه پیاده سازی شما این الزامات را برآورده می کند استفاده کنید.
بازیابی وضعیت پخش کننده
در باطن بازی شما، حسابهای بازی احتمالاً با یک شناسه نشان داده میشوند که به شما امکان میدهد پیشرفت آنها را در بازی خود واکشی و بهروزرسانی کنید. ما این را به اختصار شناسه حساب شما می نامیم. وقتی بازیکنی به سیستم خدمات بازیهای Play وارد میشود، میتوانید از آن احراز هویت برای دریافت یک شناسه جدید، شناسه پخشکننده خدمات بازیهای Play استفاده کنید، که برای تأمین نیاز ذخیره ابری استفاده میشود.
وقتی بازیکنی با خدمات بازیهای Play وارد میشود، باید به روش زیر ادامه دهید:
- کد OAuth را از مشتری بازیابی کنید و آن را به سرور خود ارسال کنید.
- رمز احراز هویت را مبادله کنید و شناسه تأیید شده خدمات بازیهای Play را از سرور بازیهای Play دریافت کنید. این تضمین می کند که شناسه مورد اعتماد است و کسی که با استفاده از یک دستگاه در معرض خطر تظاهر به بازیکن دیگری نمی کند.
- سعی کنید حساب بازی را بر اساس شرایط دستگاه و هر شناسه مرتبط حل کنید.
دو سناریو اصلی جدید باید به بازی شما وارد شود:
- ذخیره شناسههای خدمات بازیهای Play در باطن خود و تخصیص آنها به شناسههای حساب موجود، مانند موارد زیر:
- برای بازیکنان جدید، پیشرفت باید به طور خودکار به خدمات بازیهای Play مرتبط شود. (به عنوان مثال هنگام راه اندازی بازی، پس از آموزش یا تعدادی از سطوح، و غیره).
- برای بازیکنان موجود، پیشرفت فعلی باید بهطور خودکار به خدمات بازیهای Play مرتبط شود، پس از اینکه بازیکن به نسخهای از بازی شما با Play Games Services V2 یکپارچهشده بهروزرسانی شود.
- شناسه خدمات بازیهای Play را میتوان با یک یا چند حساب مرتبط کرد، و خدمات بازیهای Play را میتوان از آن حسابها جدا کرد، اما باید حداقل به یک حساب معتبر پیوند داده شود.
- بازیابی خودکار پیشرفت بازی در دستگاهی که از سیستم خارج شده/جدید بر اساس شناسه پخش کننده خدمات بازی های Play.
نحوه ذخیره و تخصیص شناسههای خدمات بازیهای Play به حسابهای موجود انعطافپذیر است، همانطور که در مثالهای زیر توضیح داده شده است. الزامات اصلی که باید در نظر داشته باشید این است که بازیکن نباید به صورت دستی وارد سیستم شود یا پیوندی با سیستم هویت دیگری ایجاد کند تا پیوندی بین شناسه خدمات بازیهای Play و پیشرفت بازی ایجاد کند و پیشرفت بازیکن باید بهطور یکپارچه بازیابی شود. در سراسر سطوح
هنگام طراحی راه حل خود، با نگاه کردن به سیستم موجود خود و نحوه ترکیب ارائه دهندگان هویت مختلف در آن شروع کنید. برخی از سیستم ها از یک شناسه واحد در هر حساب استفاده می کنند، در حالی که برخی دیگر از چندین شناسه در هر حساب استفاده می کنند.
اگر میتوانید هر شناسه حساب را فقط با یک شناسه مرتبط کنید، باید برای مرتبط کردن خدمات بازیهای Play با آن، پشتیبانی اضافه کنید. راه حل های زیر نحوه انجام این کار را نشان می دهد.
راه حل های مثال
راه حل های مثال شامل راه حل های اتصال و فراخوان است.
Binding فرآیند پیوند دائمی یا نیمه دائمی شناسه خدمات بازیهای Play به وضعیت حساب است. در صورت الزامآوری، حساب اصلی که از طریق خدمات بازیهای Play بازیابی میشود، بدون اقدام بازیکن برای بازیکن تغییر نمیکند، حتی اگر از سیستم خارج شده و با حساب دیگری در بازی شما وارد شود. ما این موضوع را در اینجا با اتصال حساب پوشش می دهیم.
با فراخوانی، شما بهعنوان توسعهدهنده بازی، نقشهای آزاد از شناسه خدمات بازیهای Play و آخرین حساب(های) مشاهده شده را ذخیره میکنید تا بازیکن هنگام ورود به سرویسهای بازیهای Play در دستگاهی دیگر، آن را بازیابی کند. هر بار که بازیکن با همان شناسه خدمات بازیهای Play به حساب بازی دیگری وارد میشود، این الزامآوری تغییر میکند. در اینجا یک نمونه فلوچارت آمده است که در مثال حساب های اخیر فراخوانی در زیر بیشتر به آن می پردازیم:
نمونههای بیشتر جریان کاربر به راهحلهای زیر پیوست شدهاند.
الزام آور حساب
اگر بازی شما تعداد زیادی پلیر چند اکانتی ندارد، یا اگر دوست دارید گیمرها را تشویق کنید تا یک حساب کاربری در بازی خود داشته باشند، احتمالاً binding بهترین راه حل برای بازی شما است. در این مثال، شما اولین حسابی را که در حین ورود به سرویسهای بازیهای Play مشاهده میکنید (خواه یک حساب مهمان یا یک حساب کاربری محدود به پلتفرم هویت دیگری) با شناسه پخش کننده خدمات بازیهای Play متصل میکنید. پس از این اتصال، آن حساب محدود به طور خودکار در دستگاههای جدید بازیابی میشود. از آنجایی که ما در حال انجام یک اتصال قوی هستیم، بازیکن همچنین میتواند نمایههای خدمات بازیهای Play را برای تغییر حسابها در بازی تغییر دهد، و شما میتوانید در این سناریو از بازیکن بخواهید که تأیید کند.
اگر حسابهای متناقضی وجود دارد، توصیه میکنیم از بازیکن بخواهید حسابی را انتخاب کند. این موارد متناقض فقط باید برای بازیکنانی اتفاق بیفتد که چندین حساب در بازی شما دارند و بنابراین آنها احتمالاً دانش و تمایل به بازی با یک حساب خاص را دارند.
هنگامی که حساب حل شد، بازی شما باید انتخاب بازیکن را به خاطر بسپارد، مگر اینکه تغییری در شناسههای ورود ایجاد شود. اگر نمایه خدمات بازیهای Play تغییر کند، یا بازیکن به شناسه دیگری در بازی وارد شود، مراحل بالا باید تکرار شوند زیرا بازیکن سیگنال قوی مبنی بر تمایل به تغییر در حسابها داده است.
غیر الزام آور
اگر میخواهید به بازیکن توانایی کنترل کامل اتصالات خود را ارائه دهید، میتوانید به بازیکن این امکان را بدهید که شناسه بازیکن خدمات بازیهای Play خود را با یک حساب بازی باز کند. اگر بهطور تصادفی شناسه پخشکننده خدمات بازیهای Play خود را با حسابی که حساب اصلی آنها نیست، متصل کنند، این میتواند برای برخی از بازیکنان چند حسابی مهم باشد.
نمونههای الزامآور حساب اضافی
این مثال اصلی نشان میدهد که شناسه پخشکننده خدمات بازیهای Play داده شده (1) به اولین حساب درون بازی که مشاهده میشود (A) محدود میشود و زمانی که بازیکن از پیشرفت بازی خود خارج میشود تا در حساب دیگری بازی کند، بازگشتی ندارد.
شما می توانید به صورت اختیاری به بازیکنان اجازه دهید حساب خود را مجدداً بایند کنند، اما لازم نیست.
تغییر حساب در دستگاه
در اینجا، بازیکن حسابهای خدمات بازیهای Play را به صورت دستی تغییر داده است و به این ترتیب به بازی سیگنال قوی داده است که میخواهد حساب درون بازی خود را به حساب دیگری تغییر دهد. واکنش به این تغییر چیزی است که بازیکن می خواهد. در نظر گرفتن این سیگنال منجر به تجربه بهتر بازیکن می شود.
حساب محدود موجود با شناسه دیگری
این مثال نشان میدهد که حتی حسابهای متصل به شناسههای خدمات غیربازیهای Play نیز باید به خدمات بازیهای Play متصل شوند و سپس در دستگاههای جدید بازیابی شوند. اکثر بازیکنان موجود بازی شما با حساب کاربری در این دسته قرار می گیرند.
حساب های اخیر را به یاد بیاورید
هنگام فکر کردن به راه حل ها، یکی از مواردی که اغلب مطرح می شود، تجربه چند حسابی است. اگر بازی شما کاربران قدرتمند را تشویق میکند تا حسابهای زیادی ایجاد کنند (مانند بازیهای گاچا یا انتخاب بازیهای ماجراجویی خودتان)، پس اتصال شناسه پخش کننده خدمات بازیهای Play به یک حساب ممکن است بهترین تجربه بازیکن را هنگام حرکت در دستگاهها ارائه نکند.
در راه حل فراخوانی، شما یک نگاشت آزاد از شناسه پخش کننده خدمات بازی های Play و حساب درون بازی را ذخیره می کنید و بازیکن به سادگی آخرین حساب هایی را که ذخیره کرده اید هنگام تعویض دستگاه یا هنگام خروج از سیستم می بیند.
در این مثال، یک بازیکن دارای سه حساب برای یک بازی است و سپس به یک دستگاه جدید نقل مکان می کند:
هنگامی که از بازیکن میخواهید بازیابی کند، همچنین میتوانید یک دکمه «لغو» یا «ایجاد جدید» را برای بازیکنان انتخاب کنید تا یک حساب جدید ایجاد کنند.
برای سادگی، بازی شما می تواند انتخاب کند که فقط آخرین حساب مشاهده شده را به خاطر بیاورد. این ممکن است برای مورد استفاده از تغییر چند حساب دشوارتر باشد، اما همچنان الزامات تداوم را برآورده می کند.
نمونه های فراخوان اضافی
بخش زیر شامل مثال های اضافی با استفاده از فراخوان است.
گوشی های غیر اندرویدی
در اینجا ما هر دو حساب در حال فراخوانی را نشان میدهیم که از قبل وجود داشتهاند (حساب شخص ثالث مرتبط است)، یا از دستگاه دیگری غیر از سرویسهای بازیهای Play ایجاد شدهاند که به سیستم وارد شدهاند.
یک جریان رایج تر ممکن است شروع از یک تلفن غیر آندروید و انتقال به Google Play Games در رایانه شخصی باشد.
از آنجایی که تلفن غیر اندرویدی خدمات بازیهای Play را ندارد، هیچ فراخوانی فعال نیست و بازیکن باید اعتبار خود را به صورت دستی از داخل بازیهای Google Play در رایانه شخصی تایپ کند.
چندین نمایه خدمات بازی های Play برای یک حساب
گاهی اوقات ممکن است چندین نمایه خدمات بازیهای Play فعال باشند که قبلاً یک حساب مشخص را «فراموش کردهاند». برای این مورد، دو راه حل اصلی وجود دارد که به همان اندازه خوب کار می کنند:
به هر حال آن را ذخیره کنید ما نشانگرهای تکراری یک حساب معین را در مدل "Save it anyways" نادیده می گیریم.
لغو آن در مدل «Override it»، توسعهدهنده باید نگاشتهای «خدمات بازیهای Play» به حساب را به خاطر بسپارد و نگاشتهای قدیمی را در جداول خود در مدل «Override it» پاک کند. با انجام این کار، آنها می توانند نقشه 1:1 حساب های فراخوان شده و حساب های خدمات بازی های Play را تمیز نگه دارند.
همان فراخوانی دستگاه یک بازیکن چند حسابی می تواند از پیاده سازی فراخوانی شما برای جابجایی سریع بین حساب های بازی خود نیز استفاده کند.