Le informazioni multimediali, come i video in diretta, possono essere utili agli operatori che rispondono alle chiamate di emergenza durante situazioni critiche. Ad esempio:
- Incidenti stradali: un video in diretta della scena può aiutarli a capire i veicoli coinvolti.
- Incendi: per comprendere l'entità dell'incendio e dei danni.
- Emergenze mediche: guida gli utenti nella rianimazione cardiopolmonare per salvare vite umane.
Il servizio ELS ora può intercettare un SMS avviato da un operatore che richiede un video in diretta a un utente e presentare un'esperienza video integrata. Poiché questa funzionalità è pensata specificamente per le situazioni di emergenza, ha il vantaggio che l'autorizzazione della videocamera dovrebbe essere concessa in anticipo per tutta la durata dell'emergenza.
Gli obiettivi principali di questa funzionalità sono fornire agli utenti:
- esperienza video live senza interruzioni e senza autorizzazioni complesse
- un'esperienza coerente per tutti gli utenti Android
Come funziona
Guida all'integrazione
1. Ricezioni
Dopo aver aggiornato la configurazione del servizio ELS per attivare il video in diretta, inizierai a
ricevere il campo live_video_token nei messaggi ELS HTTPS quando lo smartphone di un utente
supporta la funzionalità. La funzionalità supporta i dispositivi con Android 8 Oreo e versioni successive.
Il token è un ID generato sul dispositivo che cambia a ogni chiamata o messaggio e consiste in:
- 6 caratteri casuali
- Alfanumerico
- maiuscola
2. Invito
Quando rilevi il token, trasmettilo nell'URL, ad esempio un parametro URL,
nell'SMS contenente il link al tuo stream video, ad esempio:
https://example.com/live?token=AFZ791. ELS rileverà i messaggi SMS in arrivo
durante le chiamate o i messaggi di emergenza e cercherà il token video live corrispondente, in
questo caso: AFZ791.
Quando il dispositivo rileva un URL valido e il token, all'utente viene mostrata
una finestra di dialogo che chiede se vuole accettare la richiesta. Se fanno clic su
Accept, il link inviato nell'SMS di richiesta verrà aperto in un'esperienza
webview integrata.
3. Esperienza video live
Il link al video live deve supportare due esperienze:
A. Esperienza basata sul browser web:
Ciò può includere la tua UI personalizzata, ad esempio:
- Pulsanti
- Richieste di accesso alla posizione
- Finestre di dialogo e consensi
B. Esperienza integrata:
A questo scopo, devi:
- Rimuovi tutti i pulsanti perché gli eventi tocco non funzionano
- Avvia direttamente lo stream video senza finestre di dialogo
Rilevamento
Puoi rilevare la modalità integrata osservando lo user agent contenente
Live.
User agent di esempio nell'esperienza del browser mobile: Mozilla/5.0 (Linux; Android
10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile
Safari/537.36
User agent di esempio nell'esperienza webview integrata: Mozilla/5.0 (Linux;
Android 10; K; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0
Chrome/125.000 Mobile Safari/537.36 Live/25.23.10
In JavaScript, questo risultato può essere ottenuto con il seguente codice:
if (navigator.userAgent.includes("Live")) {
<!-- Render integrated experience -->
} else {
<!-- Render your your own custom UI -->
}
Autorizzazioni
- L'autorizzazione per la videocamera deve essere concessa in anticipo per il video live integrato, devi richiederle come di consueto tramite JavaScript.
- Le autorizzazioni relative a posizione, audio e altro verranno rifiutate automaticamente.
Hook
Per offrire la migliore esperienza utente, l'esperienza integrata fornirà gli elementi dell'interfaccia utente per capovolgere la fotocamera e attivare/disattivare la torcia.
| Nome funzione | Indietro | Descrizione | |
|---|---|---|---|
| Fotocamera | switchCamera |
Promise<bool> |
Al caricamento, inizia con la fotocamera posteriore (modalità di inquadratura = ambiente), in quanto è la più utile in situazioni di emergenza. Passa da una videocamera disponibile all'altra ogni volta che viene chiamata la funzione. Restituisce true se il cambio di videocamera è riuscito. |
| Torcia | toggleFlashlight |
Promise<bool> |
Attiva e disattiva la torcia ogni volta che viene chiamata la funzione. Restituisce true se l'attivazione/disattivazione della torcia ha esito positivo. |
| Torcia | isFlashlightAvailable |
bool |
Restituisce true o false a seconda della disponibilità della torcia per la modalità fotocamera corrente. Dopo una chiamata a switchCamera, presuppone che il valore restituito rifletta lo stato di disponibilità aggiornato non appena Promise di switchCamera viene risolto. |
| Torcia | isFlashlightOn |
bool |
Restituisce true quando la torcia è accesa, false altrimenti. Dopo una chiamata a toggleFlashlight, presuppone che il valore restituito rifletta lo stato di accensione della torcia aggiornato non appena Promise di toggleFlashlight viene risolto |