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>
2.3 KiB
2.3 KiB
Diretta YouTube dall’app (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_SECRETconfigurati sul server- Partita programmata per la squadra
1. Invito
- Il titolare società → Responsabili trasmissione → invita
tua@email.it - L’invitato apre il link (web o Apri invito nell’app)
- Registrazione / login con la stessa email dell’invito
- L’app accetta l’invito automaticamente dopo il login
API: GET /api/v1/invitations/:token, POST /api/v1/invitations/:token/accept
2. Collega canale YouTube (tuo)
- Nell’app: nuova diretta → passo Piattaforma
- Tocca YouTube Live → si apre Google OAuth
- Avanzate → continua (se app OAuth in verifica)
- Scegli l’account del tuo canale → Consenti
- Torna all’app → 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
- Nel wizard, seleziona YouTube Live (dopo il collegamento canale)
- Completa i passi → Camera
- 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/TOKENoppure 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 |