GH GambleHub

Awatarlar, statuslar we presence

1) UX-daky awataryň we statusyň roly

Awatar şahsyýetiň wizual labyrydyr, statusy bolsa onuň işjeňliginiň mazmunydyr. Olar bilelikde:
  • tanalmagy üpjün edýär (sanawlarda, söhbetdeşliklerde, tablisalarda);
  • barlygy barada derrew seslenme berýär (online/offline);
  • interfeýsiň janly duýgusyny döredýär (esasanam real-time oýunlarynda, PvP, söhbetdeşliklerde);
  • oýunçylaryň arasyndaky özara gatnaşyklara bolan ynamy we gatnaşygy artdyrýar.

2) Tipologiýa

ElementMaksadyGörkeziş mysaly
AvatarUlanyjynyň wizual şahsyýetiTegelek ýa-da inedördül miniatýura 32-64 px
PresenceHäzirki baglanyşyk ýagdaýyGreenaşyl/çal nokat, "torda", "hereketsiz"
ActivityHäzirki hereket"Book of Ra", "Ýaryşda", "Jedel edýär"
Custom statusUlanyjy goly"Biynjalyk etmäň", "Arakesmede"

3) Ölçegleri we görnüşi

32 px - iň pes ululyk (sanawlar, tablisalar, söhbetdeşlikler).
40-48 px - profiller, kartoçkalar, nawigasiýa paneli.
64-96 px - uly profil bloklary, akym otaglary.
Görnüşi: tegelek - standart, inedördül - markalar/operatorlar üçin.
Radius: tegelek üçin '50%' ýa-da ýumşak inedördül üçin '8-12 px'.


4) Ýüklemek we fallback

Goldanýan formatlar: JPEG, PNG, WebP, SVG (2-3 MB çenli).
Serwerde gaýtadan işlemek we optimizasiýa (mysal üçin 128, 256, 512 px).
Ýok bolsa - avataryň baş harpy: adyň ilkinji harplary, palitradan fon.
Ulanyjy nyşany bilen → placeholder ýükleneninde ýalňyşlyk bar.

html
<img class="avatar" src="/u/123/avatar.jpg" alt="Аватар игрока Alex" onerror="this.src='/assets/avatar-fallback.png'">

5) Reňk palitralary we fon

Adyň heşi boýunça fon awtogenerasiýasy: durnukly, ýöne özboluşly reňk.
AA ≥ fon bilen baş harplaryň arasyndaky tapawut.
Garaňky tema üçin - 15-20% garaňkylyk.
Tötänleýin "zäherli" birleşmelerden gaça duruň; palitrany çäklendiriň (6-10 tonna).


6) Presence-görkezme

6. 1 Esasy statuslar

StatusReňkTekstÖzüni alyp barşy
OnlineÝaşyl ('#00C853')OnlaýnWebSocket birikdirildi
IdleSary ('#FFD600')HereketsizHereket ýok> 5 min
Busy / DNDGyzyl ('#D32F2F')Biynjalyk etmeOýunda ýa-da duýduryşlary öçürdi
OfflineÇal ('#9E9E9E')Onlaýn dälBaglanyşyk ýok> 2 min

6. 2 Activity-level presence

Goşmaça hereketleri görkezip bilersiňiz:
  • "Oýnaýar"
  • "Jedel edýär"
  • "Ýaryşda"
  • "Arakesmede"

6. 3 Tehniki taýdan ýerine ýetirmek

'heartbeat' her 30 sekuntda WebSocket arkaly iberilýär.
Signal ýok bolsa> 60 sek → 'offline'.
Işjeňleşende (scroll, click, bet) → 'online' statusyny täzelemek.
Ammarda: TTL 120 sek (Redis/Realtime API).


7) Görkeziş nusgalary

7. 1 Ulanyjy sanawynda

Awatar + status sag aşaky burçda (8-10 px).
Tooltip: "Onlaýn "/" Iň soňky giriş 5 minut öň".

7. 2 Söhbetdeşlik

Awatar + nik + mini-presence ('online/offline').
Iň soňky habar we wagt.
socket event 'user _ presence' arkaly sinhronlamak.

7. 3 Liderler tablisasynda

Awatar + at + dereje/dereje.
Hover → kiçi profil (iň soňky işjeňlik, ýurt, ýeňiş).

7. 4 Oýunçynyň kartoçkasynda (PvP/Live)

Uly awatar (64-80 px).
Durmuş ýagdaýy: "Oýunda", "Arakesmede", "Garşydaşyna garaşýar".
Kontur reňki = ýagdaýy ('border-color' var).


8) Elýeterlilik (A11y)

'alt' ady we statusy bilen: "Alex oýunçysynyň awatary - torda".
Statuslar üçin - diňe bir reňk däl, tekstli dublikatlar.
'aria-live =' polite 'status üýtgese.
AA ≥ fon statusy üçin kontrast.
Yşyk çyralaryny ulanma.


9) Ýüklemek we ýalňyşlyk ýagdaýlary

Ýüklemek: çarçuwasyz çal tegelek/skelet.
Error: fallback nyşany + "Avatar ýüklenmedi" maslahaty.
Empty: başlangyç ýa-da ulgam placeholder.


10) Gizlinlik

Ulanyjy presence (on/off) görnüşine gözegçilik etmeli.
Sazlamalar: "Onlaýn ýagdaýy görkez "/" Iň soňky işjeňligi görkez".
Myhman hasaplary üçin presence gizlenýär.
PvP-de diňe "elýeterli/meşgul" görkezilip bilner, takyk wagt ýok.


11) Prezence API-ni durmuşa geçirmek

json
{
"userId": "u123",
"presence": "online",
"activity": "playing",
"lastSeen": "2025-11-03T18:52:00Z"
}
Serwer:
  • '/presence/{ userId} 'kanalyna ýazylmak.
  • Socket arkaly ping/pong.
  • TTL boýunça ýagdaýy awtomatiki täzelemek.
Müşderi:
js socket.on('presence:update', data => {
document.querySelector(`#u${data.userId}.status`).dataset.state = data.presence;
});

12) iGaming aýratynlyklary

Live-oýunlar: "12-nji otagda", "Dilere garaşýar", "Paýlamak dowam edýär" statusy.
Ýaryşlar: "Gatnaşýar" nyşany, gutarýan taýmer.
Kooperatiw PvP: "Garşydaş tapyldy/hereketsiz" işjeňligi.
Sosial lentalar: mini-badge ýaryşy ýa-da VIP derejesi bolan awatar.
Nyrhlar: "Stawka prosesinde" (busy) → "Taýýar" (online).


13) Metrika we çykyş

Presence latency: ≤ 1 sek.
Heartbeat success rate: ≥ 99%.
Müşderide CPU ýüklemek: 1000 täzelenmede 5% -den ≤.
TTL accuracy: Ulanyjylar çykandan soň onlaýn "asylmaýarlar".
Memory leak tests: Abonent däl diňleýjileri arassalamak.


14) Antipatternler

"Alt" ýa-da fon ýok awatar - UI-de "deşik".
Diňe status üçin reňk (tekstsiz/tooltip).
Ýalpyldawuk nokatlar/titremeli halkalar - bizar edýär.
Täzelenmelere çäklendirmäniň ýoklugy → WebSocket-i artykmaç ýüklemek.
"last seen" -iň sekuntda görkezilmegi (gizlinligiň bozulmagy).
Bir torda dürli formatlar/proporsiýalar.


15) Dizaýn-ulgamyň bellikleri (mysal)

json
{
"avatar": {
"sizes": { "xs": 24, "sm": 32, "md": 40, "lg": 64 },
"radius": { "circle": "50%", "square": 8 },
"border": { "width": 2, "color": "var(--bg-elevated)" }
},
"presence": {
"dotSize": 10,
"gap": 2,
"colors": {
"online": "#00C853",
"idle": "#FFD600",
"busy": "#D32F2F",
"offline": "#9E9E9E"
}
},
"motion": {
"updateMs": 150,
"fadeMs": 120
},
"a11y": {
"contrastAA": true,
"textLabel": true
}
}

16) QA-çek-sanawy

UI

  • Ölçegler we radiuslar yzygiderlidir; awatar merkezleşdirildi.
  • Kontrast ≥ AA; diňe reňk statuslary ýok.
  • Folbek baş harpy görüp okaýarys.
  • Gural ýa-da tekst ýagdaýy bar.

Presence

  • Status wakadan soň 1 sekunt ≤ täzelenýär.
  • Offline → Online täzelenende dogry.
  • Bökdençlikler ýok (wakalaryň duplikasiýasy).
  • Hereketsizlik göz öňünde tutulýar (idle> 5 min).

Gizlilik

  • Prezence görünmek sazlamalary işleýär.
  • Last seen minutlara/sagatlara çenli tegeleklenýär.
  • Artykmaç açyş ýok (mysal üçin, nyrhlar).

Performans

  • Heartbeat durnukly, WebSocket auto-reconnect with backoff.
  • 1000 täzelenmede ýat syzmaz.
  • TTFF ≤ görkezilende 100 ms.

17) Dizaýn-ulgamdaky resminamalar

Компоненты: `Avatar`, `PresenceDot`, `UserCard`, `ActivityBadge`, `LiveStatus`.
Pattern: "Fallback bilen Avatar", "Nokat ýagdaýy", "Real-time täzelenme presence", "Hususy re regimeim".
Bellikler: ölçegler, reňkler, radiuslar, TTL täzelenmeler, kontrast.
Do/Don 't: tekstsiz reňk (don' t), bir sanawda tegelek we inedördül görnüşler (don 't), durnukly ölçegler we çyzyklar (do).


Gysgaça gysgaça

Awatarlar we statuslar diňe bir bezeg elementleri däl, eýsem ulanyjylar bilen ulgamyň arasyndaky aragatnaşyk dilidir. Yzygiderli reňkler, okalýan gollar, dogry sinhronizasiýa we gizlinlige hormat goýmak "janly" giňişlik duýgusyny emele getirýär, esasanam iGaming-de: arenada, ýaryşda, göni aragatnaşykda ýa-da dostlar bilen jedellerde. Presence interfeýsi dinamiki we adamkärçilikli edýär - ýöne diňe maglumat we dymmak deňagramlylygy bilen.

Contact

Biziň bilen habarlaşyň

Islendik sorag ýa-da goldaw boýunça bize ýazyp bilersiňiz.Biz hemişe kömek etmäge taýýar.

Integrasiýany başlamak

Email — hökmany. Telegram ýa-da WhatsApp — islege görä.

Adyňyz obýýektiw däl / islege görä
Email obýýektiw däl / islege görä
Tema obýýektiw däl / islege görä
Habar obýýektiw däl / islege görä
Telegram obýýektiw däl / islege görä
@
Eger Telegram görkezen bolsaňyz — Email-den daşary şol ýerden hem jogap bereris.
WhatsApp obýýektiw däl / islege görä
Format: ýurduň kody we belgi (meselem, +993XXXXXXXX).

Düwmäni basmak bilen siz maglumatlaryňyzyň işlenmegine razylyk berýärsiňiz.