Files
MatchLiveTv/docs/APP_YOUTUBE_LIVE.md
Emiliano Frascaro 9b40deeb61 Unifica admin società/squadre e YouTube Full con fallback MLTV.
Premium Full senza canale società usa il canale piattaforma come Light;
in app restano solo Match Live TV e YouTube Live.

Co-authored-by: Cursor <cursoragent@cursor.com>
2026-06-02 22:38:28 +02:00

67 lines
2.7 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Diretta YouTube dallapp (invito staff)
Percorso per il **responsabile trasmissione** invitato via email: accede in app e avvia la live su YouTube.
## Prerequisiti (società)
- Piano **Premium Light** o **Premium Full** attivo
- `YOUTUBE_CLIENT_ID` / `YOUTUBE_CLIENT_SECRET` configurati sul server
- Partita programmata per la squadra
### Canale usato
| Piano | Canale YouTube in diretta |
|-------|--------------------------|
| Premium Light | Sempre **Match Live TV** (nessun OAuth società) |
| Premium Full, canale collegato | Canale **della società** |
| Premium Full, canale non collegato | **Match Live TV** (default, come Light) |
Il collegamento del canale società è **opzionale** su Full: si fa dal sito (dettaglio squadra) o in futuro da app; finché non cè OAuth, lapp trasmette sul canale piattaforma.
## 1. Invito
1. Il titolare società → **Responsabili trasmissione** → invita `tua@email.it`
2. Linvitato apre il link (web o **Apri invito nellapp**)
3. Registrazione / login con **la stessa email** dellinvito
4. Lapp accetta linvito automaticamente dopo il login
API: `GET /api/v1/invitations/:token`, `POST /api/v1/invitations/:token/accept`
## 2. Collega canale YouTube (opzionale, Premium Full)
Solo se la società vuole il **proprio** canale invece di Match Live TV:
1. Sul sito: dettaglio squadra → **Collega il tuo canale YouTube**
2. Oppure (se abilitato) OAuth da app al tocco YouTube quando non cè ancora canale piattaforma
## 3. Scegli la partita
Nella home app (**Partite**):
- **Partita programmata** — scegli dal calendario una gara già inserita (sito o app)
- **Nuova partita** — programma data/ora oppure **Avvia subito** senza orario
Poi tocca la card o conferma dal foglio: si apre il wizard (Partita → Trasmissione → …).
## 4. Avvia diretta
1. Nel wizard, seleziona **YouTube Live** (se il piano lo consente e il canale è pronto)
2. Completa i passi → **Camera**
3. Il telefono invia RTMP a MediaMTX; il server inoltra su YouTube
## Sviluppo locale
- App: `flutter run --dart-define=API_BASE_URL=http://10.0.2.2:3000` (emulatore) o IP LAN del PC (telefono)
- Invito deep link: `matchlivetv://join/TOKEN` oppure incolla token aprendo `/login?invite=TOKEN`
- OAuth: utente in **Utenti di test** Google Cloud
## Troubleshooting
| Problema | Soluzione |
|----------|-----------|
| Nessuna squadra in app | Accetta invito con email corretta |
| YouTube disabilitato | Premium Light o Full |
| YouTube non selezionabile | Token canale Match Live TV sul server (`admin` → YouTube piattaforma) |
| OAuth «app non verificata» | Utente di test Google + Avanzate |
| Live non su YouTube | Verifica relay ffmpeg / `stream_key` in sessione |