سلام؛
برای اینکه تشخیص بدین کـاربـر با PC (کامپیوتر) از بازی شما استفاده میکنه یا با دستگاه موبایلی و یا هر نوع دیوایس دیگه ای باید
Useragent (یوزر ایجنت) کاربر رو تحلیل کنین.
یوزر ایجنت در دنیای وب یک هدر HTTP هست که تقریباً در همه درخواست های HTTP از جانب کلاینت (کـاربـر) حضور داره. در واقع میتونیم یوزر ایجنت کاربر رو هم در سمت سرور (به کمک زبان ها یا تکنولوژی های سمت سرور) و یـا در سمت کلاینت (کاربر) به کمک جاوا اسکریپت دریافت کنیم.
قبل از هر چیز شیء
Browser رو به پروژه خودتون اضافه کنین. حالا به کمک عبارات با قاعده (Regex) و کاندیشن سیستمی
Test Regex بررسی میکنیم که مقدار خروجی که اکسپرشن
Browser.UserAgent برگشت میده با پترن (الگو) زیر همخوانی داره یا خیر. البته دقت پترن زیر 100 درصد نیست اما اجتماع خوبی از دیوایس های موبایلی رو شامل میشه.
کد:
"Mobile|iP(hone|od|ad)|Android|BlackBerry|IEMobile|Kindle|NetFront|Silk-Accelerated|(hpw|web)OS|Fennec|Minimo|Opera M(obi|ini)|Blazer|Dolfin|Dolphin|Skyfire|Zune"
فلگ ها (Flags) رو هم برابر با "gm" قرار میدیم.
![[تصویر: jgk.png]](https://s17.picofile.com/file/8420824276/jgk.png)
حالا میتونیم رو به روی این کاندیشن اکشن های مربوط به زمانی که دیوایس موبایلی شناسایی میشه رو تعریف و تنظیم کنیم.
برای شناسایی دسکتاپ (کامپیوتر) هم کافیه یک کاندیشن مشابه کاندیشن فعلی منتها از نوع Invert ایجاد کنم.
![[تصویر: dkjf.png]](https://s16.picofile.com/file/8420823550/dkjf.png)
اما دقت کنین که یوزر ایجنت کاربر به هیچ وجه معیار مناسبی برای اظهار نظر قطعی نیست چرا که امکان جعل (Spoof) یوزر ایجنت به سادگی حتی برای کاربران غیر حرفه ای هم وجود داره. مثلاً وقتی که شما با دیوایس موبایلی تون مشغول وبگردی هستین میتونین خیلی راحت با فعال کردن گزینه
Request Desktop Site یوزر ایجنت خودتون رو به نحوی جلوه بدین که گویا از دسکتاپ استفاده میکنین.
عکس همین مسئله برای دسکتاپ هم میتونه اتفاق بیفته. شما میتونین به کمک
Developer Tools مرورگـر خودتون یوزر ایجنتتون رو به هر یوزر ایجنت دلخواهی تغییر بدین. حتی میتونین از اکستنشن های مختلف برای مرورگرها استفاده کنین تا بتونین یوزر ایجنت خودتون رو تعویض کنین.
بعد از اینکه شما تشخیص دادین کاربر با دیوایس موبایلی یا دسکتاپ وارد بازی شما شده میتونین ابعاد صفحه رو متناسب با دیوایس کاربر تنظیم کنین. البته میشد به جای اینکه خودمون یوزر ایجنت رو تحلیل کنیم از اکسپرشن
Browser.Platform استفاده کنیم تا نام سیستم عامل کاربر به ما برگشت داده بشه و بتونیم از روی نام سیستم عامل تشخیص بدیم که کاربر از دیوایس موبایلی استفاده میکنه یا دسکتاپ.
برای بهینه سازی ابعاد صفحه متناسب با دیوایس دسکتاپ میتونین مجدداً از همین شیء Browser استفاده کنین و اکشن هایی رو مقابل جایی که با کامنت مشخص کردم اعمال کنین. کافیه در اکشن سیستمی
Set Canvas Size تعریف کنین که
ابعاد به Browser.WindowInnerWidth × Browser.WindowInnerHeight تغییر کنه. شاید بتونین با دستکاری مود فول اسکرین از طریق اکشن
Request fullscreen شیء Browser هم مشکل رو حل کنین.
در ضمن توصیه میکنم
این مقاله رو مطالعه کنین.
به هر حال من آن چنان با بحث بهینه سازی ابعاد صفحه نمایش مأنوس نیستم. امیدوارم راهنمایی های سایر دوستان با تجربه تر هم براتون راه گـشـا باشه.
موفق باشین.