Files
MatchLiveTv/docs/APP_YOUTUBE_LIVE.md
Emiliano Frascaro 566104aff4 Billing upgrade/downgrade, inviti in app e diretta YouTube da mobile.
Upgrade Stripe con addebito immediato; downgrade programmato a fine periodo.
UX billing più sobria con box info; icone piani. API inviti e OAuth YouTube
per staff trasmissione; deep link join; scelta partita programmata o nuova.

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

60 lines
2.3 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, collega **il proprio** canale YouTube e avvia la live.
## Prerequisiti (società)
- Piano **Premium Full** attivo
- `YOUTUBE_CLIENT_ID` / `YOUTUBE_CLIENT_SECRET` configurati sul server
- Partita programmata per la squadra
## 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 (tuo)
1. Nellapp: nuova diretta → passo **Piattaforma**
2. Tocca **YouTube Live** → si apre Google OAuth
3. **Avanzate** → continua (se app OAuth in verifica)
4. Scegli laccount del **tuo** canale → Consenti
5. Torna allapp → messaggio «Canale collegato»
Il token OAuth è salvato sulla **squadra**; chi collega deve essere `can_stream` (responsabile trasmissione o titolare).
## 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** (dopo il collegamento canale)
2. Completa i passi → **Camera**
3. Il telefono invia RTMP a MediaMTX; il server inolvia su YouTube con la stream key della live creata via API
## 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 Full + collegamento canale |
| «Collega canale» | Tocca YouTube Live per OAuth da app |
| OAuth «app non verificata» | Utente di test Google + Avanzate |
| Live non su YouTube | Verifica relay ffmpeg / `stream_key` in sessione |