ინტერფეისის პერსონალიზაცია
1) პრინციპები
1. ჯერ სარგებელი, შემდეგ მაგია. ნებისმიერ ცვლილებამ უნდა შეამციროს მიზნის გზა (განაკვეთი/ანაბარი/თამაში/კონფიგურაცია) და არა მხოლოდ „გაოცება“.
2. გამჭვირვალეობა და კონტროლი. მომხმარებელი ხედავს რა არის პერსონალიზებული და ადვილად აკონტროლებს მას. არსებობს ჭკვიანი პერსონალიზაციის ნისლი.
3. რბილი ადაპტაცია. შესთავაზეთ და არ დააწესოთ: უყურადღებო რეკომენდაციები, სახელმძღვანელო არჩევანის შენარჩუნება.
4. უსაფრთხოება და კონფიდენციალურობა. მინიმალური მონაცემები, მხოლოდ შეთანხმებული სიგნალები, გასაგები შენახვის პოლიტიკოსები.
5. A/B დაჭერის ნაცვლად. თითოეული ჰიპოთეზა გადის ექსპერიმენტს და რეგრესიების კონტროლს.
2) პერსონალიზაციის სფეროები
ნავიგაცია: სექციების რიგი, სწრაფი ეტიკეტები, ბოლო მონახულებული ეკრანები.
ლეიუთი და სიმკვრივე: ბარათების ზომა, სვეტების რაოდენობა, „მკვრივი“ რეჟიმი ძალაუფლებისთვის.
შინაარსი: რეკომენდებული თამაშები/ბაზრები, ინტერესთა ჭდეები, არჩეული პროვაიდერები.
პრომო და ბანერები: შესაბამისი მოქმედებები, ტურნირები, პრემიები (სიხშირის კონტროლით).
ძებნა და ფილტრები: მანქანის დასრულება ისტორიის გათვალისწინებით, შენახული პრესეტები.
შეტყობინებები: ჭკვიანი ციფრები „ქარიშხლის“ წინააღმდეგ, ღამით სიჩუმე, ტიპების მნიშვნელობა.
თემა/კონტრასტი/შრიფტები: ვიზუალური პრეფერენციების დამახსოვრება.
დომენის ფორმატები: კოეფიციენტები (ათობითი/წილადი/ამერიკული), რუქის ვალუტა, ენა.
3) პერსონალიზაციის მოდელები
3. 1 სახელმძღვანელო პარამეტრები
პრეფერენციული პანელი: მომხმარებელი თავად მოიცავს/გამორთავს ვიჯეტებს, ადგენს წესრიგს, ადგენს კოეფიციენტების/ვალუტის/თემის ფორმატს.
3. 2 კონტექსტური ადაპტაცია
იგი ეყრდნობა მოწყობილობას, დღის საათს, ქსელს: ღამით - ნაგულისხმევი ბნელი თემა, სუსტი კავშირი - გამარტივებული მედია, მობილური - შემცირებული კარუსელები.
3. 3 ქცევითი სეგმენტები (behavioral)
მტევანი „სლოტი მოთამაშე“, „სპორტული ფსონები“, „ცოცხალი თამაშები“, „ახალბედა“. გავლენას ახდენს სექციების წესრიგზე, რეკომენდაციებსა და რჩევებზე. ყოველთვის დატოვეთ გზა „ნაგულისხმევი“ დაბრუნებისკენ.
4) არქიტექტურა: სიგნალები და გადაწყვეტილებები UI
სიგნალები: მოვლენები (შეხედულებები/კლიშეები/განაკვეთები), პროფილის პარამეტრები, კონტექსტი (დროის ზონა, მოწყობილობა), შეზღუდვები (ლიმიტები/იურისდიქცია).
წესების/მოდელების ფენა: ფიჩეფლაგები, სეგმენტი, სარეკონსტრუქციო მომსახურება.
UI Render: კომპონენტი იღებს სემანტიკურ ნიშნებს და კონფისკაციებს (შიგნით ML ლოგიკის გარეშე).
ადგილობრივი პროფილები: პრეფერენციების ნაწილი ინახება კლიენტზე (მაგალითად, ვიჯეტის შეკვეთა) ანგარიშში სინქრონიზაციით.
5) მომხმარებლის კონტროლი და გამჭვირვალობა
პერსონალიზაცია აღინიშნება Smart Constation Wade ერთად tooltip „ჩვენ ვცვლით ბლოკების ბრძანებას თქვენი მოქმედებების საფუძველზე“.
პარამეტრები: პერსონალიზაცია/ამოღება, „რეკომენდაციების გამოტოვება“, „სტანდარტული მთავარი ჩვენება“.
ცვლილებების ისტორია (მიკრო ჟურნალი): „დაემატა ბლოკი „არჩეული“, რადგან ხშირად გახსნით“....
6) ურთიერთქმედება და ნიმუშები
Vijet- ის გადატანა (drag-n-drop) + ღილაკი „დაბრუნდი როგორც იყო“.
ბარათის მენიუდან ბლოკის დამალვა/ჩვენება.
შენახული ფილტრები/ნაკრები ძებნაში/კატალოგებში.
ავტომობილების დასრულება ითვალისწინებს უახლეს ძებნას და ფიქსირებულ ლიგებს/თამაშებს.
„გაგრძელება ადგილიდან“: ბოლო კუპონი/თამაში/ტურნირი პირველი ეკრანია.
„თქვენთვის“ განყოფილება არ არის პირველი და არ არის დაწესებული; ყოველთვის არის „აჩვენეთ ყველაფერი“ და „არ აჩვენოთ ეს“.
7) iGaming სპეციფიკა
საპასუხისმგებლო თამაში: პირადი შეხსენებები შეზღუდვებისა და დროის გადაღებების შესახებ - უფრო პრიორიტეტულია პრომო. არანაირი ზეწოლა არ აქვთ აქტიური შეზღუდვების მქონე მოთამაშეებზე.
კოეფიციენტები და ბაზრები: აჩვენეთ პირველი თქვენი საყვარელი ლიგები და ბაზრები; გულწრფელად მიუთითეთ „ახლახან შეცვლილი კოეფიციენტი“.
თამაშების რეკომენდაციები: მრავალფეროვნება პროვაიდერებს/თემებზე, ერთი პროვაიდერის გამეორების შეზღუდვა; „თქვენ ითამაშეთ ეს 3 × - შეეცადეთ მსგავსი“.
სალარო: ანაბრის/გამომავალი არჩეული მეთოდის დამახსოვრება, რუქის ვალუტა; ETA და კომისიები ქვეყნის აქტუალურია.
დღის დრო: ღამით - მშვიდი შეტყობინებები და რბილი აქცენტები.
8) ხელმისაწვდომობა და ლოკალიზაცია
ყველა პერსონალიზებულ ბლოკს აქვს ფოკუსირებული ჰენდლები, 'aria-grabbed' drag-n-drop- ისთვის.
ნუ დაეყრდნობით ფერს, როგორც ერთადერთი ინდიკატორი „თქვენთვის“ - დაამატეთ ტექსტური ეტიკეტი.
გასაღებების/მინიშნებების ლოკალიზაცია; რიცხვითი ფორმატები და ვალუტები - იდაყვის მიხედვით.
RTL რეჟიმი: სარკეების შეკვეთა, დრაკონის მიმართულებები სწორია.
9) შესრულება და სტაბილურობა
კონფისკაცია და რეკომენდაციები - ქეში კლიენტზე TTL- ით (მაგალითად, 15-30 წუთი) და სავარაუდო განახლებები.
„გმირების“ (პირველი ეკრანის) ჰიდრატაცია დანარჩენი UI- ს დაბლოკვის გარეშე.
სარეკონსტრუქციო სამსახურის დაცემა UI- ს დაცემა: ნაგულისხმევი სიები.
ჩვენ შეზღუდავს ბლოკების „ტრიალებას“: permutation არა უმეტეს N საათისა/სესიების.
10) კონფიდენციალურობა და შესაბამისობა
მიიღეთ აშკარა თანხმობა მარკეტინგის პერსონალიზაციაზე.
შეინახეთ მხოლოდ საჭირო სიგნალები მანქანის მოცილების ვადით.
მოდით, მარტივი ექსპორტი/გადინება პრეფერენციების პროფილი.
ნუ გამოიყენებთ მგრძნობიარე კატეგორიებს მიზნობრივი მიზნებისათვის; დააკვირდით ადგილობრივ მოთხოვნებს.
11) მეტრიკი
Task Success/Time-to-Action: სწრაფად მიაღწევს თუ არა მომხმარებელი მიზანს?
CTR პერსონალური ბლოკების კონტროლი.
Retention/Session dept- ში, რომელშიც შედიოდა პერსონალიზაცია.
Dismiss/Hide rate ვიჯეტები („ეს არ არის საინტერესო“).
დაბნეულობის მხარდაჭერა ("რატომ აჩვენებთ ამას? ”).
Regret rate (გამოტოვება პირადი რეკომენდაციის შემდეგ).
12) ანტი შაბლონები
დამალეთ ნავიგაცია „პირადი ფანჯრის“ გულისთვის.
მომხმარებლის თვალწინ ელემენტების „ტელეპორტაცია“ თანხმობის გარეშე.
აგრესიული პრომო სიხშირის ჩვენება პერსონალიზაციის ქვეშ.
პერსონალიზაცია კრიტიკულ ნაკადში გამჭვირვალეობის გარეშე (სალარო, KYC).
არაპროგნოზირებადი ცვლილებები თითოეულ შეყვანაში.
„საკეტები“ სახელმძღვანელო პარამეტრებზე ალგორითმის გულისთვის.
13) დიზაინის სისტემის ნიშნები და კონფიგურაცია (მაგალითი)
json
{
"personalization": {
"enabledDefault": true,
"showBadge": true,
"maxReorderPerWeek": 2,
"widgetVariants": ["default","compact","dense"],
"cooldownHours": 24
},
"recommendations": {
"fallback": "trending",
"diversity": { "provider": true, "category": true },
"ttlMinutes": 30
},
"notifications": {
"digestHour": 9,
"quietHours": [22, 8]
}
}
14) Snippets
ფიჩეფლაგი + სეგმენტი (React)
tsx type Segment = 'slots' 'sports' 'live' 'newbie';
type Flags = { personalizeHome:boolean };
function useSegments (): Segment [] {/return from profile/dimensions/return ['sports', 'live'];}
function useFlags(): Flags { return { personalizeHome: true }; }
function Home() {
const segs = useSegments();
const { personalizeHome } = useFlags();
const blocks = [
{id: 'continue', title: 'Continue', fixed: true},
{id: 'sportsTop', title: 'Top Events', seg: 'sports'},
{id: 'slotsRec', title: 'Recommended slots', seg: 'slots'},
{id: 'liveRooms', title: 'Live rooms', seg: 'live'}
];
const ordered = personalizeHome
? [...blocks. filter(b=>b. fixed),...blocks. filter(b=>!b.fixed). sort((a,b)=> Number((segs. includes(b. seg as Segment)))-(segs. includes(a. seg as Segment)))]
: blocks;
return <Main blocks={ordered}/>;
}
Drag-n-drop reorder (გამარტივებული)
js const list = document. querySelector('[data-widgets]');
let dragId = null;
list. addEventListener('dragstart', e => dragId = e. target. id);
list. addEventListener('drop', e => {
e. preventDefault();
const to = e. target. closest('[draggable]'). id;
if (dragId & & to & dragId! = = to) reorderWidgets (dragId, to) ;//save in profile
});
list. addEventListener('dragover', e => e. preventDefault());
პერსონალიზაციის კონტროლი
html
<label>
<input type="checkbox" id="pToggle" checked>
Smart personalization
</label>
<button id = "reset "> Reset recommendations </button>
<script>
pToggle. onchange = () => setPersonalization(pToggle. checked);
reset. onclick = () => resetRecommendations () ;//clear profile/cache
</script>
15) ცარიელი/შეცდომები/მდგომარეობა
პერსონალიზაციის მონაცემები არ არსებობს: აჩვენეთ ტენდენციები/სიახლეები, ავუხსნათ „ჩვენ მაინც ვსწავლობთ თქვენს ქმედებებს“.
რეკომენდაციების სერვისის შეცდომა: fallback ბლოკები; სადღეგრძელო „ჩვენ ვაჩვენებთ პოპულარობას“.
ძალიან ვიწრო პროფილი: მრავალფეროვნების გაზრდა (პროვაიდერები/კატეგორიები).
16) QA ჩეკის სია
გამჭვირვალობა
- Smart კონფიგურაცია და გასაგები tooltip.
- პერსონალიზაციის tumbler; „რეკომენდაციების დაკარგვა“.
UX
- ბლოკის გადაადგილება/დამალვა შესაძლებელია კლავიატურიდან.
- პირადი ბლოკები არ ბლოკავს კრიტიკულ შინაარსს.
პრომო სიხშირე შეზღუდულია; „არ მაინტერესებს“.
A11u/ლოკალიზაცია
- 'aria' drag-n-drop- ისთვის, სწორი bp- წესრიგი.
- ტექსტები/ფორმატები/ვალუტები ლოკალიზებულია; RTL სწორია.
შესრულება/საიმედოობა
- UI მუშაობს რეკომენდაციების ვარდნით.
- სხდომის ფარგლებში ბლოკების შეკვეთის „მოსავლიანობა“ არ არსებობს.
- კონფისკაცია ხდება; დაცულია TTL და რეკონსტრუქციის ბეკოფი.
შესაბამისობა
- თანხმობა მარკეტინგის პერსონალიზაციაზე.
- სიგნალების შენახვის დრო და ამოღების/ექსპორტის მექანიზმი.
17) დოკუმენტაცია დიზაინის სისტემაში
Компоненты: `PersonalizedHome`, `ForYouRail`, `WidgetContainer`, `ReorderHandle`, `PrefsPanel`.
ნიშნები/კონფისკაციები: სიხშირის ლიმიტები, TTL, „ფუქსირებული“ ბლოკების ნიშნები, დივერსიის წესები.
გაიდები: „როდესაც პერსონალიზაცია“, „როგორ ვაჩვენოთ კონტროლი“, „Fallback ქცევა“.
Do/Don 't: ფარული ნავიგაცია, აგრესიული ბანერები, ხშირი ცვლილებები სესიის განმავლობაში.
მოკლე რეზიუმე
პერსონალიზაცია მუშაობს, როდესაც ის გამჭვირვალეა, შექცევადია და ნამდვილად ამცირებს მიზნის მიღწევას. მიეცით მომხმარებელს კონტროლი, დაეყრდნოს შეთანხმებულ სიგნალებს, შეინარჩუნოს ML/წესები კომპონენტების გარეთ და ყოველთვის გქონდეთ უსაფრთხო ნაგულისხმევი. IGaming- ში ეს ზრდის ნდობას და მონაწილეობას: სწრაფად იპოვოთ „თქვენი“ ბაზრები და თამაშები, ნახოთ შესაბამისი ლიმიტები და რჩევები - შეპყრობილობისა და სიურპრიზების გარეშე.