Adaptif casino arayüzü nasıl uygulanır
Neden casino adaptif UI
Oyuncular bir mobil tarayıcıdan, webview uygulamalarından, masaüstünden, tabletten, Smart TV'den ve mini uygulamalardan (örneğin Telegram WebApp) girerler. Uyarlanabilirlik bir "grid break'değil, istikrarlı bir UX'dir: hızlı giriş, okunabilirlik, anlaşılabilir CTA'lar ve herhangi bir ekran boyutu ve girişi (dokunmatik/klavye/uzaktan) için güvenli parasal eylemler.
Temel: tasarım sistemi ve belirteçler
Токены: '--space', '--radius', '--shadow', '--brand', '--fg/bg', '--danger', '---success', '--font-size', '--line-height'.
'Clamp ()' üzerinden tipografi:css
: root {--fs-body: kelepçe (14px, 1. 6vw, 16px); --fs-h1: kelepçe (22px, 4vw, 32px);}
Açık/koyu temalar: '@ media (prefers-color-scheme: dark)' + çalışma zamanı anahtarı.
Hareket güvenliği:css
@ media (prefers-reduced-motion: reduce) {{animasyon: yok! önemli; geçiş: yok! Önemli}}}
Kesme noktaları ve ızgaralar (öneri)
'xs <360' - süper kompakt telefonlar (1 hoparlör).
'sm 360-479' - toplu telefonlar (lobide 2 sütun).
'md 480-767' - büyük telefonlar/küçük tabletler (2-3 hoparlör).
'lg 768-1023' - tabletler (3-4 sütun, talep üzerine kenar çubuğu).
'xl 1024-1439' - dizüstü bilgisayarlar (4-5 sütun, sabit kenar çubuğu).
'2xl ≥ 1440' - masaüstü/TV (5-7 sütun, genişletilmiş paneller).
Izgara lobisi:css
.lobby {
görüntüleme: ızgara; gap: var (--space-3);
Izgara-şablon-sütunlar: tekrar (otomatik doldurma, minmax (min (45 %, 220px), 1fr));
}
@ media (min-width: 768px) {.lobby {grid-template-columns: repeat (auto-fill, minmax (220px, 1fr)))}
Oyun kartı: tıklanabilir, bilgilendirici, ekonomik
Object-fit: cover ile 16: 9/4: 3 en/boy oranı.
Rozetler: "Canlı", sağlayıcı, yenilik, RTP (izin verilirse).
Eylemler: "Oynat", "Demo", favoriler - klavyeden görünür/erişilebilir.
DPR yoğunlukları için tembel yükleme 'yükleme =' tembel '' + 'srcset'/' boyutlar'.
Oyun tuvalini ve canlı videoyu ölçeklendirme
Sabit oran (örn. 16:9) ve tuval için 'içermek' uygun; Kritik CTA'lar patlama/gösterge evinin dışındadır.
Güvenli Alanlar (iOS/Android):css
.safe {dolgu: env (safe-area-inset-top) env (safe-area-inset-right) env (safe-area-inset-bottom) env (safe-area-inset-left);}
Yönlendirme: UX manzara/portre için kritik ise oyunu engelleyin, ancak net bir ipucu verin.
Canlı (WebRTC/LL-HLS): ayrı UI kaplama katmanı; Bahis düğmeleri büyüktür (44 × 44 pt +), zamanlayıcı 'xs' üzerinde okunur.
Navigasyon ve anahtar modülleri
Heder ve arama
Mobil: Burger + hızlı arama (icon - modal/fullscreen).
Masaüstü: sürekli arama ve filtreler (sağlayıcılar, türler, özellikler).
Beth slip (spor/canlı tablolar)
Mobil: dock/swipe-up; masaüstü: sağ kenar çubuğu.
"Put" miktarını/düğmesini sabitlemek her zaman başparmak alanındadır.
Nakit masası
Adım adım akış, idempotency isteği, PII maskeleme.
'Xs/sm' üzerinde - ekran başına bir soru, sahne göstergesi üstte.
Profil ve RG
Tek dokunuşta depozito/kayıp/zaman sınırları; Yerel yardım referansları.
Uyumluluk birimleri her zaman erişilebilir ve okunabilir durumdadır.
Yerelleştirme: i18n, para birimleri, RTL
Anahtarlardaki dizeleri çeviren ICU yer tutucuları HTML'de değildir.
Kelime uzunluğu: Almanca/Fince germe düğmeleri - 'minmax've' kelepçe '.
Para birimleri/tarih biçimleri: 'Intl. NumberFormat/DateTimeFormat '.
RTL: Metin konteynerlerinde'dir = "auto" ', yansıtma simgeleri/okları.
Kullanılabilirlik (A11y)
Kontrast 4'ten düşük değil. 5:1, büyük etkileşimli (≥44×44 pt).
Tam klavye navigasyonu (focus-ring görünür), hatalar/denge/zamanlayıcılar için 'aria-live'.
Jestlere alternatifler; Sadece kaydırmalara/uzun dokunuşlara güvenmeyin.
'Prefers-reduced-motion' aracılığıyla 'azaltılmış animasyon' moduna saygı gösterin.
Varlıkların üretkenliği ve teslimi
HTTP/3 + TLS 1. 3, CDN/oyun alanlarına 'preconnect'.
Özet adları ve statikler için 'değişmez' olan CDN önbelleği, atlaslar/demetler için SW-çalışma zamanı önbelleği.
WebP/AVIF görüntüleri, KTX2 dokular (Basis/UASTC), Opus ses.
Rotalara göre kod bölünmesi: lobi/oyun/ödeme/profil, ilk paket ≤150 -200 KB br.
Boş ekranlar yerine iskeletler ve ön yükleyiciler (TTI hissi).
Örnek başlıklar:
Önbellek Kontrolü: genel, maksimum yaş = 31536000, değişmez
İçerik-Kodlama: br
Düzen ve adaptasyon kalıpları
Konteyner kapakları (mevcut olduğunda)
Kartı konteynerin genişliğine göre ayarlayın, istiflemeye göre değil.
Esnek tablolar/işlem geçmişi
Mobilde: Tablolar yerine "kartlar", önemli alanlar - önce.
Masaüstünde: sıralama/filtreler ile tam teşekküllü bir tablo.
Modal ve alt sayfa
Telefonda - bir kapanış hareketi ile alt sayfa; masaüstünde - merkez modal.
Birbirinize parşömen koymayın; Arka planı düzelt.
İletişim kaybı davranışı ve çevrimdışı
PWA/Service Worker: kabuk önbelleği, anlaşılabilir bir kopyası olan çevrimdışı durum; Sadece online nakit işlemleri.
Yeniden deneme istekleri, 'Idempotency-Key'ile işlem kuyruğu.
Test ve Analiz
Cihaz matrisi: iOS/Android (WebView + tarayıcılar), masaüstü bilgisayarlar (Chrome/Safari/Firefox/Edge), tabletler ve TV.
RUM metrikleri: TTFB/LCP/TTI/CLS, "bahis/para yatırma yolu", web görüntüleme hataları.
Bayraklar (sunucu) aracılığıyla A/B, yalnızca güvenli bozulma ile deneyler.
Mini şablonlar
Oynat düğmesi (uyarlanabilir ve kullanılabilir):html
<button class =" cta" aria- label="Играть в Gates of Fortune">
<span> Oynat </span>
</button>
css
.cta {
yazı tipi: inherit; Dolgu: .75rem 1rem; border-radius: var (--radius-2);
min-genişlik: kelepçe (120px, 30vw, 200px);
}
.cta: focus-visible {anahat: 3px katı var (--brand); anahat-ofset: 2px;}
'Srcset'ile oyunun resmi:
html
<img src = "/img/game @ 1x. avif"
srcset = "/img/game @ 1x. avif 1x ,/img/game @ 2x. avif 2x"
Alt = "Oyun Önizlemesi"
yükleme =" tembel" width =" 320" height =" 180">
Ön tarafta güvenlik ve uyumluluk
RG afişleri ve yasal metinler - her zaman 'xs' üzerinde okunabilir, CTA ile örtüşmez.
Çerez/rıza - uyarlanabilir katman, gezinmeyi bozmaz.
Paylaşılan katmanlarda kişisel API yanıtlarını önbelleğe almayın; Günlüklerdeki PII'yi maskeleyin.
Anti-desenler
Bir monolitik paket 5-10 MB'her şey için "- uzun bir ilk ekran.
Standart olmayan DPI'larda 'kelepçe' olmadan sabit px değerleri.
Ayırt edilemez etkileşimler (küçük, odak yok) - hatalar ve şikayetler.
Izgaralar görüntüleri yüklerken "atlama" ('genişlik/yükseklik yok') - yüksek CLS.
RTL/uzun transferleri yok sayma - seyahat eden UI ve kırpılmış miktarlar.
Bir telefon ekranında karmaşık yazarkasalar - CR'de bir düşüş ve hatalarda bir artış.
IOS'ta güvenli alan eksikliği - kapalı düğmeler.
Adaptif Casino Arayüzü Kontrol Listesi
Tasarım sistemi
- Belirteçler, temalar (açık/karanlık), 'kelepçe', 'tercihler-'.
- Konteyner-klavye odaklı bileşenler.
Navigasyon/Modüller
- Kesme noktası lobi ızgarası, 'srcset' içeren kartlar.
- Bahis fişi: alt sayfa (mobil )/kenar çubuğu (masaüstü).
- Adımlarla nakit masası, büyük CTA'lar, idempotency.
Oyun
- 16:9 tuval/oyuncu ve güvenli alanlar.
- Zamanlayıcılar/kaplamalar 'xs' üzerinde okunabilir, hareketler düğmelerle çoğaltılır.
Yerelleştirme
- Yoğun bakım sırası, 'Intl. ', para birimleri; RTL desteği.
- Uzun çizgiler düğmeleri/menüleri kırmaz.
Kullanılabilirlik
- Kontrast ≥4. 5:1 odak halkaları, boyutları 44 × 44 pt.
- Hatalar/denge/zamanlayıcılar için 'aria-live'.
Performans
- HTTP/3, 'değişmez'/hash varlıkları ile CDN.
- Kod bölme, WebP/AVIF/Opus/KTX2, SW- кэш.
- Mobil ile LCP ≤ 2, ilk paket ≤ 200 KB br.
Kalite
- RUM panoları (Web Hayati, huni).
- Cihaz test matrisi/web görünümü, özellik bayrakları ve geri dönüşler.
Kumarhanenin uyarlanabilir arayüzü, bir tasarım sistemi, yetkin bir ızgara, ölçeklenebilir tuval/video, yerelleştirme ve erişilebilirlik, varlıkların hızlı teslimatı ve gözlemlenebilirlik ile desteklenen bir kombinasyondur. Bu uygulamaları takiben, istikrarlı bir şekilde dönüştüren, egzotik cihazlarda bozulmayan ve sorumlu oyun ve gizlilik kurallarına saygı duyan tek bir temel kod elde edersiniz - bu da geliri arttırır ve operasyonel riskleri azaltır.