Турнирлер мен квесттердің ұтқыр интеграциясы
1) Сәулет және кірістіру нүктелері
Навигация: лобби → «Турнирлер »/« Квесттер» қойындысы; хедерден жылдам қол жеткізу (прогресс белгісі бар иконка).
Диплинкалар: 'app ://event/{ id}', 'app ://mission/{ id}', 'app ://leaderboard/{ id}? tab = my' - in-app, мех және веб-виджеттер үшін бірыңғай роутер.
Мазмұнды кірістіру:- Лидбордтар, миссиялар мен таймерлер карточкалары үшін Native/React Native/Flutter.
- WebView - тек статикалық ақпарат/ережелер үшін; сындарлы real-time рендерлеуге болмайды.
2) Миссия карточкасы: жылжымалы анатомия
Тақырып ≤ 2 жол, түрі, қысқаша сипаттамасы (нені/қайда/қанша уақыт).
Прогресс-бар + сан (2/3), уақытты бағалау (20-25 минутқа ≈), күрделілік (•).
Наградалар: «ақшалай» мәнсіз шағын иконалармен белгілер/косметика.
CTA жалғыз: «Бастау/Жалғастыру/Алу». Secondary: «Ауыстыру» (cooldown), «Толығырақ».
Таймер (жұмсақ түстер, соңғы 10% қызыл).
on_hold жай-күйі: "Нәтижені тексереміз (3 минутқа дейін). Награда сақталды".
3) Мобильді лидбордтар (фликерсіз)
Бағандар: # орын, ойыншы (аватар/рама/ник), көзілдірік, жүлделі аймақ, таймер.
Sticky «Мен» + «өзіме» түймешігі. Jump to rank (санды енгізу өрісі).
Батчалармен жаңарту 1-2 сек сайын, орын ауыстыруды анимациялау 120-200 мс.
Пагинация: шексіз скролл + «басына/өзіне».
Көрінуде - тек дифф-жолдар (виртуалдандыру, windowing).
4) Мылтық және in-app хабарламалар (спамсыз оркестрлеу)
Ереже: in-app карточкаларының артықшылығы → пуш → email.
Терезелер: пайдаланушының ықтимал онлайнының ивент кестесімен қиылысуы («жақын арадағы белсенділік 90-120 минут» моделі).
Жиілік: ≤ N/апта, ≤ М/күн; тыныш сағат; мьюттан кейінгі «ақылды үнсіздік».
Пэйлоадтар: қысқа мәтін + дипломинк + алдын ала наградалар.
Мысалдар: `push. payload`:json
{
"title": "Кешкі спринт, 20 минут", "body": "15 минуттан кейін старт. ", "deeplink": "app://event/ev. s5. sprint20? highlight=reward"
}
In-app карточкасы: «≈ 20-25 мин., 3 провайдер, сирек кездейсоқ 10%».
5) Оффлайн және әлсіз желі
24-48 сағатқа арналған миссиялар/кестелер кэші; «Соңғы үндестіру: 14:02» белгісі.
Оффлайн күйі: «Ережелерді қарау» және «Қатысуды жоспарлау», басталмай.
Желілік қателерге арналған «Қайталау» түймешігі; ETag/If-None-Match үнемдеу үшін.
6) Өнімділік және батарея
Тізімдерді виртуалдандыру (300 + жол).
Lottie/спрайттар, VFX ұзақтығын шектеу (0. 6–1. 2 с), ауыр шейдерсіз.
Таймерлер - элементке бір 'setInterval' емес, бірыңғай тік қадамдар.
Өңдік жаңартулар: BG App Refresh/WorkManager жиілік қақпағы және жауап мөлшері.
Telemetry: WebSocket/SSE → қысу; backoff фонында.
7) Қауіпсіздік, адалдық және анти-абьюз
Сервер RNG шешеді, клиент - тек визуалды.
Наградалардың теңсіздігі: бір оқиға → бір есептеу (server-side).
Humanity-челлендждер капчаның орнына (микро-қимылдар) тәуекел бойынша қосылады.
«Миссияны ауыстыру» (cooldown), талаптардың вариативтілігі (анти-фарм).
Онбординг «Бұл қалай жұмыс істейді»: дроп, pity, капа мүмкіндіктері, лигалар ережелері.
8) Ұялы телефондардағы RG-сақшылар
«Тыныш режим», «басқалардың әсерлерін басу», үзілістер туралы ескертулер.
Шаршау сигналдары кезінде - күрделіліктің азаюы, үзіліс ұсыну, ұзын форматтарға тыйым салу.
Хабарламалар мен шағын ойындарды дербестендіруден жылдам opt-out.
9) Құқықтар және құпиялылық
iOS ATT/Notifications: құндылығын түсіндіру, микро-онбордингтен кейін рұқсат алу.
Android 13 + runtime-қаруға рұқсаттар; хабарлама арналары (low/normal/high).
Деректер жинау - агрегаттар; PII минимум; «Деректерді жою» саясаты бар экрандар.
10) Аналитика және метрика
Миссиялардың карточкалары: CTR, Start Rate, Completion Rate, Median TTC, Equip Rate/Duration косметикаға арналған.
Турнирлер: Join Rate, «өзіне» үлесі, кестелердің көріну уақыты, марапатқа дейінгі уақыт P95.
Ескертулер: Hit Rate терезелері (белсенді сессияға түсті), Join Uplift, Mute/Unsub Rate.
Экономика: Emission to GGR, Prize ROI, Gini бойынша SP.
Тұрақтылық: желілік қателер бойынша кесектер, рендерлердің ұзақтығы, ANR/Crash-free.
11) A/B-жоспары
1. Прогресс-бар: сандық + көрнекі vs тек көрнекі.
2. Карточкадағы уақытты бағалау: қосылған/өшірілген.
3. Лидбордты жаңарту жиілігі: 1 с vs 2 с
4. Іске қосу уақыты: T-30 vs T-15 мин.
5. Карточка форматы: бір CTA vs екі бірдей.
6. «Өзіне»: бекітілген жол vs түймешігі.
12) Платформалық нюанстар
iOS: BG App Refresh шектеулі; тыныш жаңартулар үшін 'content-available' доңғалақтарын пайдаланыңыз (мұқият).
Android: WorkManager/Foreground Service тек айқын белсенділікте; хабарламалар арналары міндетті.
React Native/Flutter:- RN: FlatList с 'getItemLayout '/' windowSize', Reanimated 3 дифф-анимациялар үшін.
- Flutter: `ListView. builder '+' AnimatedList '/' ImplicitlyAnimatedReorderableList ', ауыр логика үшін оқшауланған.
13) Контент-модель (JSON) және дипломинкалар
Миссиясы
json
{
"id": "m. s5. play. providers. 3 «,» title «:» Үш провайдер ашыңыз «,» summary «:» 3 түрлі провайдерден 30 минут ішінде ойнаңыз «,» difficulty «:» medium «,» est_time_min": 25 «,» progress «: {» current «: 1,» target «: 3},» rewards «: {» tokens «: 12,» cosmetic_drop": {«rarity»: «Rare», «p»: 0. 1}}, "expires_at": "2025-10-28T18:00:00Z", "state": "available", "deeplink": "app://mission/m. s5. play. providers. 3? start=true"
}
Турнир
json
{
"event_id": "ev. s5. sprint20", "title": "Вечерний спринт 20 мин", "stage": "qualifier", "ends_at": "2025-10-24T21:00:00Z", "leaderboard": {"league": "Gold I", "my_rank": 128, "delta_to_next": 42}, "rewards_preview": [{"type": "cosmetic", "rarity": "Epic"}], "deeplink": "app://event/ev. s5. sprint20? tab=leaderboard"
}
URI схемасы
app://event/{id}
app://mission/{id}
app://leaderboard/{id}?tab=my app://quests/today
14) Жай-күйлер, қателер, скелетондар
Loading: 3-5 жол/тайлдер скелетондары, shimmer ≤ 1. 2 c.
Empty: пайдалы мәтін + «Бастапқы миссияны алу».
Error: жай хабар + «Қайталау»; офлайн - кэш және соңғы үндестіру уақыты.
15) Релиздік чеклист (MVP → v1. 0)
MVP (2-4 апта):- Дипломинкалар, миссиялардың базалық карточкалары, батч-апдейтi бар лидборд 2 с.
- In-app хабарлама карточкалары, бір іске қосу арнасы, кесте кэші, «Бұл қалай жұмыс істейді» экраны.
- RG-тумблерлер, анти-фарм (cooldown «Миссияны ауыстыру»).
- Жеке «өзіне», Jump to rank, шағын ойын-қыздыру (≤ 90 с).
- Фондық жаңарту үшін тыныш пушкалар, on_hold кезінде reason-codes.
- Телеметрия: Hit Rate терезелер, Join Uplift, Gini SP.
- Толық маусымдық жол, косметика ретро-камбэктері, локализация, қолжетімділік (контраст, VoiceOver/TalkBack белгілері).
- Аудит логтары, апелляциялар, антибот-биометрия.
- A/B-қозғалтқыш (фич-жалаулар), адалдық есептері.
Турнирлер мен квесттердің ұтқыр интеграциясы навигация жылдам (дипломинка), UI «бір көзқараспен» оқылатындай, жаңартулар батареяға бірқалыпты және үнемді болғанда, ал адалдық пен RG-сақшылар әрбір шешімге - миссия карточкаларынан бастап пуш-оркестрге дейін кіріктірілгенде жұмыс істейді. Ойыншыға түсінікті мақсаттарды, болжамды таймерлерді және тыныш VFX-ті беріңіз, промо-экономиканы қақпақтардың астында ұстаңыз және Hit Rate терезелерін, Completion/Join Uplift және Gini-ді SP бойынша өлшеңіз - онда мобильді байланыс шусыз тұрақты қозғалтқышқа айналады.