App Sender

Quando i contenuti vengono trasmessi a un ricevitore web, l'utente deve sempre essere in grado di controllarli dall'app mittente.

Nota: in conformità con i Termini di servizio aggiuntivi per gli sviluppatori dell'SDK Google Cast, un'applicazione multimediale Cast deve utilizzare le API di controllo della riproduzione (messaggi di riproduzione multimediale) definite per l'SDK per controllare la riproduzione multimediale sul ricevitore web.

Le app mittenti devono fornire i controlli di Cast in queste aree:

Lo stato e i controlli di riproduzione di Cast dell'app mittente in queste aree devono essere sincronizzati con le modifiche alla riproduzione che si verificano sul Web Receiver, anche se non originate dall'app mittente. Ciò consentirà la corretta gestione sia dei comandi multi-mittente sia del controllo della riproduzione proveniente dai telecomandi, dai pulsanti e così via del dispositivo.

Android

Controlli della finestra di dialogo Trasmetti

Mini controller

Controlli delle notifiche

Controlli blocco schermo

iOS

Controlli della finestra di dialogo Trasmetti

Mini controller

Chrome

Controlli della finestra di dialogo Trasmetti

Mini controller

 

  Controlli del volume del mittente

L'app mittente deve consentire agli utenti di controllare il volume dei contenuti riprodotti sulla TV o sugli speaker utilizzando i tasti del volume hardware e/o il cursore del volume software sul dispositivo di invio. Questi controlli riguardano:

  • Il livello audio inviato alla TV per i dispositivi Google Cast come Chromecast.
  • Il volume effettivo della TV/dell'altoparlante nativo per le TV Google Cast, le TV con Android TV integrata e gli smart speaker.

Obbligatorio
  A   L'app mittente deve consentire agli utenti di controllare il volume dei contenuti riprodotti sulla TV o sugli speaker utilizzando i tasti del volume hardware e/o il cursore del volume software sul dispositivo di invio.

  • Android: è obbligatorio il supporto sia dei pulsanti hardware sia del cursore del volume software.
  • iOS: il cursore del volume del software è obbligatorio.
  • Web/Chrome: il supporto del cursore del volume del software è obbligatorio.

  B   Sul dispositivo mobile il cursore del volume del software deve essere disponibile nella finestra di dialogo Trasmetti, durante la trasmissione.
  C   Il cursore del volume nell'app mittente deve sincronizzarsi con il volume corrente di Web Receiver dopo la connessione a Web Receiver e rimanere sincronizzato.
  D   Il cursore del volume nell'app mittente deve riflettere le modifiche al volume apportate da altri mittenti o dal telecomando dell'app Chromecast.
  E   Le app mittenti non devono mai impostare il volume su un livello predefinito, ma devono solo trasmettere le modifiche al volume avviate dall'utente.
  F   Solo Android: quando si utilizzano i tasti hardware per modificare il livello del volume sul ricevitore web, deve essere visualizzato un cursore del volume visivo (con un'icona Cast a sinistra) quando vengono premuti i tasti hardware del volume. Nota: per Android Gingerbread (versione 2.3), l'icona Trasmetti non viene visualizzata.

Best practice

  • Incrementi di volume:
    • Android: il framework aumenta automaticamente il volume.
    • iOS e Chrome: per i tasti del volume hardware, utilizza incrementi inferiori o uguali al 5% dell'intervallo di volume completo del dispositivo Web Receiver per i dispositivi audio/video e incrementi pari al 2% dell'intervallo di volume completo del dispositivo Web Receiver per i dispositivi solo audio.

  Controller mittente espanso

L'app mittente deve fornire un controller espanso per i contenuti trasmessi.

Obbligatorio
  Un   Identifica i contenuti trasmessi visualizzando il titolo o la copertina.
  B   Prima dell'inizio della riproduzione, mostra un indicatore di caricamento e il titolo o la copertina dei contenuti.
  C   Quando i contenuti iniziano, identifica lo stato di Web Receiver.
  D   Fornisci controlli pertinenti.
  E   All'estremità sinistra della barra di ricerca, visualizza il tempo di riproduzione corrente.
       All'estremità destra, visualizza la durata totale dello stream, se nota e se non si tratta di un live streaming.
  F   Nascondi i controlli non pertinenti alla trasmissione.
  G   Non disconnettere o interrompere la trasmissione quando gli utenti escono dal controller espanso.
  H   Offri un modo semplice per tornare al controller espanso quando gli utenti escono.

Best practice

  • Fornire un cursore della posizione di riproduzione per gli stream multimediali.
  • Mostrare altre opere e metadati significativi correlati ai contenuti.
  • Identifica il tempo trascorso e la durata dei contenuti per gli stream multimediali.

Android

Caricamento dei contenuti del mittente

Caricamento dei contenuti del mittente

Caricamento dei contenuti del destinatario

Riproduzione dei contenuti del mittente

Web Receiver riproduce i contenuti

iOS

Caricamento dei contenuti del mittente

Caricamento dei contenuti di Web Receiver

Riproduzione dei contenuti del mittente

Web Receiver riproduce i contenuti

Chrome

Caricamento dei contenuti del mittente

Caricamento dei contenuti di Web Receiver

Riproduzione dei contenuti del mittente

Web Receiver riproduce i contenuti

 

  Mini controller del mittente

Durante la trasmissione, quando l'utente esce dalla pagina dei contenuti correnti o dal controller espanso per passare a un'altra visualizzazione all'interno dell'app mittente, dovrebbe essere visualizzato un piccolo controllo persistente noto come mini controller. Il mini controller è un promemoria visibile della trasmissione corrente e consente di accedervi immediatamente.

Obbligatorio
  A   Una barra o una casella che mostra i contenuti trasmessi viene visualizzata vicino alla parte inferiore dell'app mittente. Questi controlli rimangono visibili mentre l'utente sfoglia altri contenuti o sezioni dell'app.
  B   I controlli funzionano meglio se sono semplici e comunicano i contenuti trasmessi.
  C   Disponibile in tutte le schermate dell'app (ad eccezione della pagina del controller espanso).
  D   Toccando l'area dei contenuti si apre il controller espanso.
  E   Fornisci eventuali altri controlli pertinenti all'azione immediata.

Best practice
Per un'esperienza utente ottimale, fornisci i controlli nella finestra di dialogo Trasmetti oltre al mini controller.

Android

Mini controller del mittente

Contenuti di Web Receiver in pausa

iOS

Mini controller del mittente

Contenuti di Web Receiver in pausa

Chrome

Mini controller del mittente

Contenuti di Web Receiver in pausa

 

  Notifica al mittente

Obbligatorio (solo Android)
  A   Utilizza l'icona dell'app (non l'icona Trasmetti) per la notifica nella barra di stato.
  B   Identifica i contenuti in fase di trasmissione. Ad esempio, il titolo o la copertina dei contenuti visualizzati.
  C   Identifica quale Web Receiver sta trasmettendo.
  D   Fornisci controlli dei contenuti di base.
  E   fornisci una "X" per interrompere la trasmissione e disconnetterti dal ricevitore web nella riga delle azioni.
  F   Se tocchi il logo dell'app, il titolo dei contenuti o la copertina, si apre il controller espanso dell'app mittente.

Note

  • Solo Android: non è possibile implementare le notifiche in iOS o Chrome.
  • In Android Gingerbread (versione 2.3), le notifiche mostreranno solo l'icona e il testo dell'app, non riproduzione/pausa o interruzione.
  • Per saperne di più, vedi aggiunta dei controlli multimediali alle notifiche.

Android

Icona di notifica del mittente

Web Receiver riproduce i contenuti

Controlli di gestione delle notifiche del mittente

Web Receiver riproduce i contenuti

 

  Schermata di blocco del mittente

Obbligatorio (solo Android)
  A   Identifica la trasmissione dei contenuti utilizzando il titolo o la copertina.
  B   Identifica quale Web Receiver sta trasmettendo. Nota: questo non è necessario per le app musicali.
  C   Fornisci controlli di riproduzione.
  D   Fornisci l'accesso al controllo del volume tramite i pulsanti hardware.

Obbligatorio per Android 4.4 KitKat e versioni successive:

  • Icona dell'app
  • Artwork (ad esempio, copertina dell'album)
  • Identifica nel testo i contenuti in fase di trasmissione (ad esempio "Tears of Steel")
  • Identifica quale Web Receiver sta trasmettendo (ad esempio, "Salotto")

Requisiti per Android 4.3 Jelly Bean:

  • Artwork (ad esempio, copertina dell'album)
  • Identifica nel testo i contenuti in fase di trasmissione (ad esempio "Tears of Steel")
  • Identifica quale Web Receiver sta trasmettendo (ad esempio, "Salotto")

Note

  • Solo Android: non è possibile implementare le notifiche in iOS o Chrome.
  • I controlli della schermata di blocco sono necessari per Android 4.1 e versioni successive.
  • Sono disponibili controlli diversi per le diverse versioni del sistema operativo Android e la schermata di blocco può contenere solo campi di testo. In genere, la grafica e l'iconografia descrivono i contenuti in modo più immediato rispetto al testo.
  • I tasti hardware di controllo del volume devono regolare il volume nell'app mittente quando lo smartphone è bloccato.
  • Il controllo deve utilizzare il componente framework: MediaSession o MediaSessionCompat (per le versioni 4.4 e 4.3) o Notification (per la versione 5.0 e successive).

Android

Controlli della schermata di blocco del mittente

Web Receiver riproduce i contenuti

 

  Sender resumes cast

Un'app mittente connessa deve ripristinare il proprio stato di connessione dopo una disconnessione implicita (ad esempio una caduta della rete, la sospensione del dispositivo o l'esaurimento della batteria).

Obbligatorio
  A   Se l'app mittente si disconnette implicitamente (l'utente non ha interrotto esplicitamente la trasmissione o la disconnessione), la riproduzione dei contenuti trasmessi deve continuare sul Web Receiver. Quando l'app o la connessione viene riavviata, l'app mittente deve ripristinare la connessione al Web Receiver, a condizione che la sessione di Web Receiver sia ancora attuale.
  B   Il pulsante Trasmetti deve tornare allo stato connesso.
  C   Se l'utente tocca il pulsante Trasmetti prima che il mittente si riconnetta, viene visualizzato l'elenco dei dispositivi Web Receiver. Quando l'utente seleziona il ricevitore web attualmente in trasmissione, nell'app mittente dovrebbe apparire un controller mini o espanso.

Note
L'app Web Receiver potrebbe anche disconnettersi e interrompere l'esecuzione a causa di un'interruzione di corrente o di un'altra interruzione fuori contesto. Questa operazione viene considerata una normale fine della sessione, come descritto in Il mittente interrompe la trasmissione.

Android

Selezione dell'app

Web Receiver riproduce i contenuti

Connessione di trasmissione ripristinata

Web Receiver riproduce i contenuti

iOS

Selezione dell'app

Web Receiver riproduce i contenuti

Connessione di trasmissione ripristinata

Web Receiver riproduce i contenuti

 

  Il mittente interrompe la trasmissione

I contenuti trasmessi a una TV continuano a essere riprodotti finché un utente non sceglie Interrompi trasmissione o un mittente non trasmette nuovi contenuti. Quando più mittenti sono connessi allo stesso Web Receiver, ogni app mittente deve avere un pulsante Disconnetti (anziché un pulsante Interrompi trasmissione) nella finestra di dialogo Trasmetti.

Obbligatorio
  A   Quando più mittenti sono connessi a un Web Receiver, se si preme Interrompi trasmissione da un'app mittente, non succede nulla al Web Receiver e i controlli e le notifiche di trasmissione vengono rimossi dal dispositivo mittente. I dispositivi mittenti connessi rimanenti rimangono connessi con i controlli di trasmissione disponibili.
  B   Quando un'app mittente si disconnette implicitamente (ad esempio, la batteria del dispositivo mittente si scarica o la connessione di rete del dispositivo mittente al Web Receiver si interrompe), non succede nulla al Web Receiver e i controlli e le notifiche di trasmissione vengono rimossi dal dispositivo mittente. L'app mittente deve tenere traccia delle disconnessioni implicite e tentare di riconnettersi a un Web Receiver quando viene riaperta.

Android

Finestra di dialogo Trasmetti, pulsante Disconnetti

Web Receiver riproduce i contenuti

iOS

Finestra di dialogo Trasmetti, pulsante Disconnetti

Web Receiver riproduce i contenuti

Chrome

Finestra di dialogo Trasmetti, pulsante Disconnetti

Web Receiver riproduce i contenuti

 

 

Le immagini utilizzate in questa guida alla progettazione sono fornite per gentile concessione della Blender Foundation e condivise con licenza Creative Commons o di copyright.

  • Elephant's Dream: (c) copyright 2006, Blender Foundation / Netherlands Media Art Institute / www.elephantsdream.org
  • Sintel: (c) copyright Blender Foundation | www.sintel.org
  • Tears of Steel: (CC) Blender Foundation | mango.blender.org
  • Big Buck Bunny: (c) copyright 2008, Blender Foundation / www.bigbuckbunny.org