گیم سرویس؛ ذخیره سازی ابری بازی

یکی از اهداف اصلی استفاده از شبکه در بازی ها ذخیره اطلاعات کاربر در فضای ابری است تا با بازگشت کاربر یا تغییر تلفن همراه کاربر اطلاعات از بین نروند. گیم سرویس هم بدین منظور از توابع متنوعی برای انواع ذخیره سازی پشتیبانی میکند. در این آموزش به معرفی این توابع میپردازیم.در صورتی که با راه اندازی گیم سرویس آشنایی ندارید به راهنمای راه اندازی مراجعه کنید.ذخیره سازی غیرساخت یافته :با استفاده از این توابع میتوانید به آسانی داده هایی را تا مرز 128 کیلوبایت به صورت متنی «JSON» یا باینری به ازای هر کاربر ذخیره کنید. در ادامه با توابع آن آشنا میشویم:ذخیره کردن بازی (SaveGame):تابع ذخیره به ازای کاربربرای سیو کردن بازی خود یک نام، یک توضیح و شی سیو بازی(کلاسی که برای سیو از آن استفاده می کنید) خود را قرار داده و تابع را فراخوانی کنید .درصورت موفقیت آمیز بودن ، نتیجه در بخش details و در غیر این صورت خطا در بخش error بازخواهد گشت.دریافت آخرین سیو بازی (GetSaveGame) :دریافت ذخیره بازی به ازای کاربردر این جا نوع شی کلاس سیو خود را داده و تابع را فراخوانی کنید. درصورت موفقیت آمیز بودن ٬ نتیجه در بخش SaveObj در غیر این صورت خطا در بخش error بازخواهد گشت.پاک کردن سیو بازی (RemoveLastSave):برای پاک کردن سیو بازی تابع بالا را فراخوانی کنید.ذخیره سازی ساختاریدر بسیاری از بازی ها نیاز به ذخیره داده های عمومی، ذخیره تعداد بیشتری داده به ازای کاربر و...داریم. در این صورت نیاز است تا داده ها به صورت های مختلف ذخیره و بازیابی شوند. قبل از استفاده از این سرویس به پنل توسعه دهندگان مراجعه و در بخش ذخیره سازی باکت «جدول» و ساختار و دسترسی های مورد نظر را ایجاد کنید. سپس میتوانید در سمت کلاینت از توابع مورد نیاز استفاده کنید.توجه: در صورتی که تابعی در پنل توسعه دهندگان برای سمت کاربر ممنوع شود استفاده از آن پیام خطایی را تولید خواهد کرد.در ادامه با این توابع سمت کاربر آشنا میشویم:دریافت اطلاعات باکت (GetBucketItems):با این دستور تمام اطلاعات مربوط به باکت با ایدی مشخص شده برگرداننده می شود.ورودی ها:bucketId = شناسه باکت مورد نظرonBucketItems = در صورت موفقیت اطلاعات بازگردانده میشوندerror = در صورت وجود مشکل خطا بازگردانده میشودخطاها:invalid_id = درصورتی که شناسه باکت معتبر نباشدbucket_notfound = درصورتی که باکت مورد نظر پیدا نشودpermission_denied = درصورتی که دسترسی لازم برای انجام عملیات را داده باشیدUnreachableService = (درصورتی که گیم سرویس در دسترس نباشد (برای حل این مشکل دوباره گیم سرویس را راه اندازی کنیدNetworkUnreachable = درصورتی که دستگاه کاربر به اینترنت دسترسی نداشته باشدحذف اشیای باکت (DeleteBucketItems):با این دستور تمام اطلاعات باکت مورد نظر با ایدی خاص حذف می شودورودی ها:bucketId = شناسه باکت مورد نظرonDeleteBucket = بازگردانده می شود true درصورت موفقیت آمیز بودن مقدارerror = در صورت وجود مشکل خطا بازگردانده میشودخطاها:invalid_id = در صورتی که شناسه باکت معتبر نباشدpermission_denied = درصورتی که دسترسی لازم برای انجام عملیات را نداشته باشیدbucket_notfound = درصورتی که باکت مورد نظر پیدا نشودinvalid_structure = درصورتی که ساختار باکتی که برای ویرایش ارسال کرده اید با باکت ثبت شده در پنل هماهنگی نداشته باشدUnreachableService = (درصورتی که گیم سرویس در دسترس نباشد (برای حل این مشکل دوباره گیم سرویس را راه اندازی کنیدNetworkUnreachable = درصورتی که دستگاه کاربر به اینترنت دسترسی نداشته باشددریافت شی (GetBucketItem):با این دستور یکی از اطلاعات باکت مورد نظر با ایدی خاص برگرداننده می شودورودی ها:bucketId = شناسه باکت مورد نظرitemId = شناسه شی مورد نظرonBucketItem = شی مورد نظر بازگردانده میشودerror = در صورت وجود مشکل خطا بازگردانده میشودخطاها:invalid_id = در صورتی که شناسه باکت معتبر نباشدbucket_notfound = درصورتی که باکت مورد نظر پیدا نشودpermission_denied = درصورتی که دسترسی لازم برای انجام عملیات را نداشته باشیدUnreachableService = (درصورتی که گیم سرویس در دسترس نباشد (برای حل این مشکل دوباره گیم سرویس را راه اندازی کنیدNetworkUnreachable = درصورتی که دستگاه کاربر به اینترنت دسترسی نداشته باشدافزودن شی (AddBucketItem):با این دستور شی باکت مورد نظر به باکت اضافه می شودورودی ها:bucketId = شناسه باکت مورد نظرnewBucket = اطلاعات مورد نظر برای ذخیره در باکتonAddBucketItem = در صورت موفقیت شی جدید بازگردانده میشودerror = در صورت وجود مشکل خطا بازگردانده میشودخطاها:invalid_id = در صورتی که شناسه باکت معتبر نباشدpermission_denied = درصورتی که دسترسی لازم برای انجام عملیات را نداشته باشیدinvalid_structure = درصورتی که ساختار باکتی که برای ویرایش ارسال کرده اید با باکت ثبت شده در پنل هماهنگی نداشته باشدUnreachableService = (درصورتی که گیم سرویس در دسترس نباشد (برای حل این مشکل دوباره گیم سرویس را راه اندازی کنیدNetworkUnreachable = درصورتی که دستگاه کاربر به اینترنت دسترسی نداشته باشدویرایش شی (UpdateBucketItem):با این دستور یکی از اطلاعات باکت مورد نظر با ایدی خاص ویرایش می شودورودی ها:bucketId = شناسه باکت مورد نظرitemId = شناسه شی مورد نظرTBucket = شی باکتی که ویرایش شده استonUpdateBucketItem = در صورت موفقیت شی جدید بازگردانده میشودerror =در صورت وجود مشکل خطا بازگردانده میشودخطاها:invalid_id = در صورتی که شناسه باکت معتبر نباشدbucket_notfound = درصورتی که باکت مورد نظر پیدا نشودpermission_denied = درصورتی که دسترسی لازم برای انجام عملیات را نداشته باشیدinvalid_structure = درصورتی که ساختار باکتی که برای ویرایش ارسال کرده اید با باکت ثبت شده در پنل هماهنگی نداشته باشدUnreachableService = (درصورتی که گیم سرویس در دسترس نباشد (برای حل این مشکل دوباره گیم سرویس را راه اندازی کنیدNetworkUnreachable = درصورتی که دستگاه کاربر به اینترنت دسترسی نداشته باشدحذف شی (DeleteBucketItem): با این دستور یکی از اطلاعات باکت مورد نظر با ایدی خاص حذف می شودورودی ها:bucketId = شناسه باکت مورد نظرitemId = شناسه شی مورد نظرonDeleteBucket = بازگردانده می شود true درصورت موفقیت آمیز بودن مقدارerror = در صورت وجود مشکل خطا بازگردانده میشودخطاها:invalid_id = در صورتی که شناسه باکت معتبر نباشدpermission_denied = درصورتی که دسترسی لازم برای انجام عملیات را نداشته باشیدbucket_notfound = درصورتی که باکت مورد نظر پیدا نشودinvalid_structure = درصورتی که ساختار باکتی که برای ویرایش ارسال کرده اید با باکت ثبت شده در پنل هماهنگی نداشته باشدUnreachableService = (درصورتی که گیم سرویس در دسترس نباشد (برای حل این مشکل دوباره گیم سرویس را راه اندازی کنیدNetworkUnreachable = درصورتی که دستگاه کاربر به اینترنت دسترسی نداشته باشدمیزبانی بسته های دادهبازی های باکیفیت اغلب به خاطر حجم بالای پکیج سخت تر دریافت میشوند. در این بخش بسته های داده که با فرمت obb آنها را میشناسیم کمک بزرگی محسوب میشوند. گیم سرویس میتواند این بسته ها را در پنل توسعه دهندگان با برچسب های مختلف دریافت و میزبانی کند. بدین صورت میتوانید با توجه به مدل تلفن همراه کاربر و در هنگام اجرای بازی بسته مورد نظر را دریافت و به صورت اتوماتیک در محل مناسب قرار دهید.با توجه به اینکه اطلاعات میزبانی شده در ایران و شامل ترافیک نیم بها میشوند دریافت آنها آسانتر، سریعتر و ارزان تر خواهد بود.گیم سرویس با هدف آسان سازی و ارتقای کیفیت بازی های ایرانی تلاش میکند. پیشنهادات و نظرات توسعه دهندگان نقش موثر در افزایش سطح خدمات دارد.استفاده از بسیاری از سرویس های ارائه شده رایگان و بسیار آسان است. شما میتوانید همین حالا با مراجعه به پنل بازی خود را آنلاین کنید و از خدمات شبکه ای لذت ببرید!موفق باشید.بخش بعدی : بازی های چند نفره (MultiPlayer)بخش قبلی : افزودن لیدربورد و اچیومنت به بازی ها