Mobile Integration von Turnieren und Quests
1) Architektur und Einbettungspunkte
Navigation: Lobby → Registerkarte „Turniere “/„ Quests“; schneller Zugriff vom Header (Symbol mit Fortschrittsmarke).
Diploinki: 'app ://event/{ id}', 'app ://mission/{ id}', 'app ://leaderboard/{ id}? tab = my' ist ein einzelner Router für In-App, Flusen und Web Widgets.
Einbetten von Inhalten:- Native/React Native/Flutter für Leaderboards, Missionskarten und Timer.
- WebView - nur für statische Info/Regeln; Sie können keine kritische Echtzeit rendern.
2) Missionskarte: mobile Anatomie
Titel ≤ 2 Zeilen, Typsymbol, kurze Beschreibung (was/wo/wie viel Zeit).
Fortschrittsbalken + Zahl (2/3), Zeitschätzung (≈ 20-25 min), Schwierigkeit (•).
Belohnungen: Token/Kosmetik mit Mini-Ikonen, ohne „monetären“ Subtext.
CTA eins: „Starten/Fortsetzen/Abholen“. Sekundär: „Ändern“ (cooldown), „Weitere Informationen“.
Timer bis zum Stichtag (weiche Farben, rot in den letzten 10%).
Zustand on_hold: "Wir überprüfen das Ergebnis (bis zu 3 Minuten). Die Belohnung bleibt erhalten".
3) Leaderboards auf dem Handy (kein Flicker)
Spalten: # Ort, Spieler (Avatar/Rahmen/Nick), Punkte, Preiszone, Timer.
Sticky „Ich“ + Schaltfläche „zu sich selbst“. Jump to rank (Eingabefeld für Zahlen).
Updates durch Battles alle 1-2 Sekunden, Animation der Bewegung 120-200 ms.
Pagination: endloses Scrollen + „zum Anfang/zu sich selbst“.
In der Sichtbarkeit gibt es nur Diff-Strings (Virtualisierung, Windowing).
4) Push- und In-App-Benachrichtigungen (Orchestrierung ohne Spam)
Regel: Priorität der In-App-Karten → Push → E-Mail.
Fenster: Schnittpunkt des wahrscheinlichen Online-Benutzers mit dem Veranstaltungsplan (Modell „Aktivität in den nächsten 90-120 Minuten“).
Häufigkeit: ≤ N/Woche, ≤ M/Tag; ruhige Stunden; „kluge Stille“ nach dem Mut.
Payloads: kurzer Text + Diplomink + Vorschau der Auszeichnung.
Beispiele: `push. payload`:json
{
"title": "Abendsprint, 20 Minuten", "body": "Start in 15 Minuten. Seltene Kosmetik im Preisbereich. ",    "deeplink": "app://event/ev. s5. sprint20? highlight=reward"
}In-App-Karte: „≈20 -25 min, 3 Anbieter, seltener Tropfen 10%“.
5) Offline und schwaches Netzwerk
Mission/Zeitplan Cache für 24-48 Stunden; Beschriftung „Letzte Synchronisation: 14:02“.
Offline-Status: „Regeln anzeigen“ und „Teilnahme planen“, kein Start.
Schaltfläche „Wiederholen“ für Netzwerkfehler; ETag/If-None-Match für Einsparungen.
6) Leistung und Batterie
Virtualisierung von Listen (300 + Zeilen).
Lottie/Sprites, Begrenzung der VFX-Dauer (0. 6–1. 2 c), ohne schwere Shader.
Timer sind ein einzelner Teak-Sheduler, nicht ein 'setInterval' pro Element.
Hintergrund-Updates: BG App Refresh/WorkManager mit Frequenz-Mundschutz und Antwortgröße.
Telemetrie: WebSocket/SSE → Kompression; Backoff vor dem Hintergrund.
7) Sicherheit, Ehrlichkeit und Anti-Missbrauch
Der Server entscheidet über RNG, der Client ist nur visuell.
Idempotenz von Belohnungen: ein Ereignis → eine Gebühr (Server-Side).
Humanity-Challenges statt Captchas (Mikro-Gesten), schalten sich je nach Risiko ein.
Einschränkung „Change Mission“ (Cooldown), Variabilität der Anforderungen (Anti-Farm).
Onboarding „Wie es funktioniert“: Chancen des Drops, Pity, Mundschutz, Liga-Regeln.
8) RG-Wachen auf dem Handy
Kippschalter „leiser Modus“, „die Effekte anderer Leute stummschalten“, Erinnerungen an Pausen.
Bei Müdigkeitssignalen - Komplexitätsreduktion, Pausenangebot, Verbot von Langformaten.
Schnelles Opt-out von der Personalisierung von Benachrichtigungen und Minispielen.
9) Rechte und Vertraulichkeit
iOS ATT/Benachrichtigungen: Wert erklären, Erlaubnis nach Mikro-Onboarding fragen.
Android 13 + Laufzeitauflösungen für Puschi; Benachrichtigungskanäle (niedrig/normal/hoch).
Datenerfassung - Aggregate; PII Minimum; Bildschirme mit Richtlinie und „Daten löschen“.
10) Analytik und Metriken
Missionskarten: CTR, Start Rate, Completion Rate, Median TTC, Equip Rate/Duration für Kosmetik.
Turniere: Join Rate, Anteil „an sich selbst“, Zeit für die Sichtbarkeit der Tische, P95 Zeit bis zur Belohnung.
Benachrichtigungen: Trefferrate des Fensters (traf die aktive Sitzung), Join Uplift, Mute/Unsub Rate.
Wirtschaft: Emission nach GGR, Preis ROI, Gini nach SP.
Stabilität: Netzwerkfehler, Rendering-Dauer, ANR/Crash-frei.
11) A/B-Plan
1. Fortschrittsbalken: numerisch + visuell vs nur visuell.
2. Schätzung der Zeit auf der Karte: ein/aus.
3. Aktualisierungsrate des Leaderboards: 1 mit vs 2 mit.
4. Push-Zeit: T-30 vs T-15 min.
5. Kartenformat: ein CTA vs zwei gleich.
6. „To yourself“: festgeschriebene Zeile vs Taste.
12) Plattform Nuancen
iOS: BG App Refresh ist limitiert; Verwenden Sie Puschis mit 'content-available' für leise Updates (vorsichtig).
Android: WorkManager/Foreground Service nur bei expliziter Aktivität; Benachrichtigungskanäle sind obligatorisch.
React Native/Flutter:- RN: FlatList mit 'getItemLayout '/' windowSize', Reanimated 3 für Diff-Animationen.
- Flutter: `ListView. builder'+ 'AnimatedList '/' ImplicitlyAnimatedReorderableList', Isolate für schwere Logik.
13) Content Model (JSON) und Diplominka
Mission
json
{
"id": "m. s5. play. providers. 3", "title": "Open three providers", "summary": "Play with 3 different providers in 30 minutes", "difficulty": "medium", "est_time_min": 25, "progress": {"current": 1, "target": 3}, "rewards": {"tokens": 12, "cosmetic_drop": {"rarity": "Selten", "p": 0. 1}},  "expires_at": "2025-10-28T18:00:00Z",  "state": "available",  "deeplink": "app://mission/m. s5. play. providers. 3? start=true"
}Turnier
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-Schema
app://event/{id}
app://mission/{id}
app://leaderboard/{id}?tab=my app://quests/today14) Zustände, Fehler, Skelette
Belastung: Skeleton 3-5 Zeilen/tiles, shimmer ≤ 1. 2 c.
Leer: hilfreicher Text + „Starting Mission“.
Fehler: einfache Meldung + „Wiederholen“; offline - Cache und Uhrzeit der letzten Synchronisation.
15) Release Checklist (MVP → v1. 0)
MVP (2-4 Wochen):- Diploinki, Basis-Missionskarten, Leaderboard mit Batch-Upgrades 2 s.
- In-App-Benachrichtigungskarten, ein Push-Kanal, Zeitplan-Cache, Bildschirm „Wie es funktioniert“.
- RG-Kippschalter, Anti-Pharm (Cooldown „Change Mission“).
- Persönliches „zu sich selbst“, Sprung zum Rang, Mini-Aufwärmspiel (≤ 90 s) im Qualifier.
- Leise Flusen für Hintergrundaktualisierung, Reason-Codes bei on_hold.
- Telemetrie: Hit Rate Fenster, Join Uplift, Gini SP.
- Komplette saisonale Spur, Retro-Comeback-Kosmetik, Lokalisierung, Verfügbarkeit (Kontrast, VoiceOver/TalkBack-Tags).
- Prüfprotokolle, Appelle, Antibot-Biometrie.
- A/B-Engine (Fichi-Flaggen), Integritätsberichte.
Die mobile Integration von Turnieren und Quests funktioniert, wenn die Navigation sofort (Diplominka) erfolgt, die Benutzeroberfläche „auf einen Blick“ lesbar ist, die Updates reibungslos und batteriesparend sind und Ehrlichkeit und RG-Wächter in jede Lösung integriert sind - von Missionskarten bis zur Push-Orchestrierung. Geben Sie dem Spieler klare Ziele, vorhersehbare Timer und einen ruhigen VFX, halten Sie die Promo-Economy unter Ihren Mundschutz und messen Sie die Hit Rate von Fenstern, Completion/Join Uplift und Gini über SP - dann wird das mobile Bundle zu einem stetigen Engagement-Motor ohne unnötigen Lärm.
