Adaptasiýa kazino interfeýsi nähili amala aşyrylýar
Näme üçin adaptasiýa UI kazino
Oýunçylar ykjam brauzerden, webwiew programmalaryndan, desktopdan, planşetden, Smart TV we mini-applardan (mysal üçin Telegram WebApp) girýärler. Uýgunlaşma "toruň döwülmegi" däl-de, durnukly UX: ekranyň islendik ululygynda we girelgesinde (taç/klawiatura/konsol) çalt girmek, okamak, düşnükli CTA we ygtybarly pul hereketleri.
Esasy: dizaýn ulgamy we bellikleri
Токены: `--space`, `--radius`, `--shadow`, `--brand`, `--fg/bg`, `--danger`, `--success`, `--font-size`, `--line-height`.
'Clamp ()' arkaly tipografiýa:css
:root{ --fs-body: clamp(14px, 1. 6vw, 16px); --fs-h1: clamp(22px, 4vw, 32px); }
Açyk/garaňky mowzuklar: '@media (prefers-color-scheme: dark)' + runtime-switch.
Motion-safety:css
@media (prefers-reduced-motion: reduce){ { animation: none! important; transition:none! important; } }
Arakesmeler we torlar (maslahat)
'xs <360' - super-ykjam telefonlar (1 sütün).
'sm 360-479' - köpçülikleýin telefonlar (lobbide 2 sütün).
'md 480-767' - uly telefonlar/kiçi planşetler (2-3 sütün).
'lg 768-1023' - planşetler (3-4 sütün, talap boýunça sidbar).
'xl 1024-1439' - laptoplar (4-5 sütün, hemişelik sidbar).
'2xl ≥ 1440' - desktoplar/TV (5-7 sütün, giňeldilen paneller).
Lobbi çyzgysy:css
.lobby{
display:grid; gap:var(--space-3);
grid-template-columns: repeat(auto-fill, minmax(min(45%, 220px), 1fr));
}
@media (min-width:768px){.lobby{ grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); } }
Oýun kartoçkasy: klişe, maglumat beriji, tygşytly
Tarap gatnaşygy 16: 9/4: 3 object-fit: cover.
Nyşanlar: "Live", üpjün ediji, täzelik, RTP (rugsat berilse).
Hereketler: "Oýnamak", "Demo", saýlanan - klawiaturadan görünýär/elýeterlidir.
'loading =' lazy '' + 'srcset '/' sizes' DPR dykyzlyklary üçin ýaltalyk ýükleýär.
Oýun kanwasyny we durmuş wideosyny ulaltmak
Kesgitlenen gatnaşygy (mysal üçin 16:9) we kanwas üçin 'contain' ýazmak; kritiki CTA - "çelok/öý görkezijilerinden" daşarda.
Howpsuz ýerler (iOS/Android):css
.safe{ padding: env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left); }
Ugrukdyryş: UX albom/portret oýny üçin möhüm bolsa, oýny blokirläň, ýöne düşnükli maslahat beriň.
Live (WebRTC/LL-HLS): aýratyn UI-örtük gatlagy; jedelleriň düwmeleri uly (44 × 44 pt +), taýmer - "xs" -de okaýarys.
Nawigasiýa we esasy modullar
Gider we gözlemek
Jübi: burger + çalt gözleg (nyşan → modal/fullskrin).
Desktop: Yzygiderli gözleg we süzgüçler (üpjün edijiler, resanrlar, çyzgylar).
Bet-slip (sport/durmuş-stollary)
Jübi: dock-panel/swipp-ap; desktop: sag saidbar.
"Goýuň" düwmesini/mukdaryny elmydama baş barmak zolagynda düzmek.
Kassa
Ädimme-ädim flow, haýyşlaryň idempotentligi, PII maskalanmagy.
'xs/sm' - ekranda bir sorag, ýokarky basgançaklaryň görkezijisi.
Profil we RG
Depozit/ýitgiler/wagt çäkleri bir sapakda; lokallaşdyrylan kömek salgylanmalary.
Komplayens bloklary elmydama elýeterlidir we okalýar.
Lokalizasiýa: i18n, walýuta, RTL
ICU-pleysholderler, HTML däl-de, açarda terjime edilýän setirler.
Sözleriň uzynlygy: nemes/fin → 'minmax' we 'clamp' düwmelerini uzadýar.
Pullar/seneler formatlary: 'Intl. NumberFormat/DateTimeFormat`.
RTL: 'dir = "auto"' tekst konteýnerlerinde, nyşanlary/oklary aýnalamak.
Elýeterlilik (A11y)
Kontrast 4-den pes däldir. 5:1, uly interaktiw (≥ 44 × 44 pt).
Doly klawiatura nawigasiýasy (focus-ring), ýalňyşlyklar/balans/taýmerler üçin 'aria-live'.
Yşaratlara alternatiwalar; diňe swiplere/uzyn topa bil baglamaň.
"Azaldylan animasiýa" re modeimine 'prefers-reduced-motion' arkaly hormat goýuň.
Assetleriň öndürijiligi we eltilmegi
HTTP/3 + TLS 1. 3, 'preconnect' CDN/oýun domenlerine.
Statika üçin "immutable", atlaslar/bandllar üçin SW-runtime-keş.
WebP/AVIF şekilleri, KTX2 teksturalary (Basis/UASTC), Opus audio.
Marşrutlar boýunça kode-split: lobbi/oýun/kassa/profil, başlangyç bandl ≤ 150-200 KB br.
Boş ekranlaryň ýerine skeletler we preloaderler (TTI duýgusy).
Sözbaşy mysaly:
Cache-Control: public, max-age=31536000, immutable
Content-Encoding: br
Çyzgylar we uýgunlaşmalar
Kweri konteýner (elýeterli bolanda)
Kartoçkany gapyň giňligine däl-de, gapyň giňligine sazlaň.
Çeýe tablisalar/amallar taryhy
Jübi telefonlarynda: tablisalaryň ýerine "kartoçkalar", möhüm meýdanlar - birinji.
Iş stolunda: sortlanan/süzgüçli doly hukukly tablisa.
Modal & bottom-sheet
Telefonda - ýapylýan alamatly bottom-sheet; desktop - merkezi-modal.
Skrollary biri-birine goýmaň; fon düzüň.
Aragatnaşyk ýitirilende we awtonom ýagdaýda hereket etmek
PWA/Service Worker: düşnükli göçürmesi bolan oflayn ýagdaý; pul amallary diňe onlaýn.
Soraglaryň gaýtalanmagy, 'Idempotency-Key' bilen geleşik nobaty.
Synag we seljeriş
Enjam matrisi: iOS/Android (WebView + brauzerler), desktoplar (Chrome/Safari/Firefox/Edge), planşetler we telewizorlar.
RUM-metrikler: TTFB/LCP/TTI/CLS, "stawka/depozite barýan ýol", webwiew ýalňyşlyklary.
A/B baýdaklar arkaly (serwer), synaglar diňe howpsuz pese gaçmak bilen.
Kiçi şablonlar
"Oýun" düwmesi (uýgunlaşdyrylan we elýeterli):html
<button class="cta" aria-label="Играть в Gates of Fortune">
<span> Oýnamak </span>
</button>
css
.cta{
font: inherit; padding:.75rem 1rem; border-radius: var(--radius-2);
min-width: clamp(120px, 30vw, 200px);
}
.cta:focus-visible{ outline: 3px solid var(--brand); outline-offset: 2px; }
'srcset' bilen oýnuň suraty:
html
<img src="/img/game@1x. avif"
srcset="/img/game@1x. avif 1x, /img/game@2x. avif 2x"
alt = "Oýnuň öňünden"
loading="lazy" width="320" height="180">
Frontda howpsuzlyk we laýyklyk
RG-bannerler we kanuny tekstler - elmydama 'xs' -de okalýar, CTA-ny ýapmaýar.
Cookie/consent - adaptasiýa gatlagy, nawigasiýany bozmaýar.
Umumy gatlaklarda şahsy API jogaplaryny kesmäň; PII-ni ýazgylarda gizläň.
Anti-patternler
Bir monolit bandl 5-10 MB "hemme zada" → uzyn birinji ekran.
Kesgitlenen px-bahalar 'clamp' → standart däl DPI-lerde döwülýär.
Tapawutlanmaýan interaktiwler (kiçijik, fokussyz) → ýalňyşlyklar we şikaýatlar.
Suratlar ýüklenende "bökýän" torlar (ýok 'width/height') → ýokary CLS.
Ignor RTL/uzyn terjimeler → UI we kesilen summalar.
Telefonyň bir ekranynda çylşyrymly kassa görnüşleri → CR-iň düşmegi we ýalňyşlyklaryň ösmegi.
iOS-da safe-area ýoklugy → ýapyk düwmeler.
Adaptasiýa kazino interfeýsiniň barlag sanawy
Dizaýn ulgamy
- Bellikler, mowzuklar (ýagtylyk/garaňky), 'clamp', 'prefers-'.
- Konteýner-kweri we klawiatura fokusy bolan komponentler.
Nawigasiýa/modullar
- Arakesme nokatlary boýunça lobbi ugrukdyryjy, 'srcset' kartoçkalary.
- Bet-slip: bottom-sheet (mobail )/saidbar (desktop).
- Ädimler boýunça kassa, uly CTA, idempotency.
Oýun
- Kanwas/çalyjy 16:9 we safe-areas.
- Taýmerler/overlelar 'xs' -de okalýar, yşaratlar düwmeler bilen köpeldilýär.
Lokalizasiýa
- ICU-setirler, 'Intl.', walýutalar; RTL goldawy.
- Uzyn setirler düwmeleri/menýuny bozmaýar.
Elýeterlilik
- Kontrast ≥ 4. 5:1, fokus halkasy, ölçegleri 44 × 44 pt.
- 'aria-live' hatalar/balans/taýmerler üçin.
Öndürijilik
- HTTP/3, CDN 'immutable '/hash-assets.
- Code-split, WebP/AVIF/Opus/KTX2, SW-кэш.
- LCP ≤ 2 s mobile, başlangyç bandl ≤ 200 KB br.
Hil
- RUM-daşbordlary (Web Vitals, funnel).
- Enjam/webwiew synag matrisi, ficha-baýdaklar we yza gaýdyp gelmek.
Adaptiw kazino interfeýsi - assetleriň çalt eltilmegi we syn edilmegi bilen berkidilen dizaýn ulgamynyň, başarnykly toruň, masştably kanwanyň/wideonyň, lokalizasiýa we elýeterliligiň utgaşmasydyr. Bu amallara eýerip, siz yzygiderli konwertirleýän, ekzotik enjamlarda döwülmeýän we jogapkärli oýnuň we şahsy durmuşyň kadalaryna hormat goýýan ýeke-täk kod-bazis alýarsyňyz - bu bolsa girdejini ýokarlandyrýar we amal töwekgelçiligini peseldýär.