Vidéo en direct

Les informations multimédias, comme les vidéos en direct, peuvent être utiles aux opérateurs d'appels d'urgence dans les situations critiques. Exemple :

  • Incidents de voiture : une vidéo en direct de la scène peut les aider à comprendre les véhicules impliqués.
  • Incendies : pour comprendre l'étendue de l'incendie et des dégâts.
  • Urgences médicales : guider les utilisateurs pour qu'ils puissent effectuer une réanimation cardiopulmonaire et sauver des vies

Le système ELS peut désormais intercepter un SMS envoyé par un opérateur demandant une vidéo en direct à un utilisateur et présenter une expérience vidéo intégrée. Comme il s'agit spécifiquement de situations d'urgence, l'autorisation d'accès à la caméra devrait être accordée au préalable pendant toute la durée de l'urgence.

Nos principaux objectifs avec cette fonctionnalité sont de fournir aux utilisateurs :

  • une expérience vidéo en direct fluide sans autorisations complexes.
  • une expérience cohérente pour tous les utilisateurs Android.

Fonctionnement

Flux vidéo en direct ELS montrant comment un appel ou un message d'urgence d'un utilisateur Android déclenche ELS, y compris un nouveau jeton vidéo en direct. Lorsque le logiciel de réception d'appels détecte ce jeton et le renvoie à l'utilisateur Android dans un message SMS contenant un lien vers un flux vidéo WebRTC en direct, le système ELS peut alors fournir une expérience vidéo intégrée.

Guide d'intégration

1. Réception

Après avoir mis à jour votre configuration ELS pour activer la vidéo en direct, vous commencerez à recevoir le champ live_video_token dans les messages ELS HTTPS lorsqu'un téléphone d'utilisateur est compatible avec la fonctionnalité. Cette fonctionnalité est compatible avec les appareils Android 8 Oreo et versions ultérieures.

Le jeton est un identifiant généré sur l'appareil qui change à chaque appel ou message et se compose des éléments suivants :

  • 6 caractères aléatoires
  • Alphanumérique
  • Majuscule

2. Invitation

Lorsque vous détectez le jeton, transmettez-le dans l'URL, par exemple en tant que paramètre d'URL, dans le SMS contenant le lien vers votre flux vidéo. Par exemple : https://example.com/live?token=AFZ791. Le service ELS détecte les SMS entrants pendant les appels ou messages d'urgence, et recherche le jeton vidéo en direct correspondant, qui est AFZ791 dans ce cas.

Lorsque l'appareil détecte une URL et un jeton valides, une boîte de dialogue s'affiche pour demander à l'utilisateur s'il souhaite accepter la demande. S'il clique sur Accept, le lien envoyé dans le SMS de demande s'ouvre dans une expérience WebView intégrée.

3. Expérience vidéo en direct

Le lien vers votre vidéo en direct doit être compatible avec deux expériences :

A. Expérience basée sur un navigateur Web :

Cela peut inclure votre propre UI personnalisée, par exemple :

  • Boutons
  • Demandes de localisation
  • Boîtes de dialogue et consentements

B. Expérience intégrée :

Pour ce faire, vous devez :

  • Supprimer tous les boutons, car les événements tactiles ne fonctionneront pas
  • Lancer directement le flux vidéo sans boîte de dialogue

Détection

Vous pouvez détecter le mode intégré en observant l'user-agent contenant Live.

Exemple d'user-agent dans un navigateur mobile : Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36

Exemple d'user-agent dans une expérience WebView intégrée : 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

En JavaScript, vous pouvez y parvenir en utilisant le code suivant :

if (navigator.userAgent.includes("Live")) {
    <!-- Render integrated experience -->
} else {
    <!-- Render your your own custom UI -->
}

Autorisations

  • L'autorisation d'accès à la caméra doit être accordée au préalable pour la vidéo en direct intégrée. Vous devez la demander comme d'habitude via JavaScript.
  • Les autorisations d'accès à la position, à l'audio et autres seront automatiquement refusées.

Accroches

Pour offrir la meilleure expérience utilisateur, l'expérience intégrée fournit les éléments d'interface utilisateur permettant d'inverser la caméra et d'activer/désactiver la lampe torche.

Nom de la fonction Renvois Description
Appareil photo switchCamera Promise<bool> Au chargement, commencez par la caméra orientée vers l'arrière (mode "environnement") qui est la plus utile en cas d'urgence. Passez d'une caméra disponible à l'autre chaque fois que la fonction est appelée. Renvoie true si le changement de caméra a réussi.
Lampe de poche toggleFlashlight Promise<bool> Activez et désactivez la lampe de poche chaque fois que la fonction est appelée. Renvoie true si la lampe de poche a été activée ou désactivée.
Lampe de poche isFlashlightAvailable bool Renvoie true ou false selon la disponibilité de la lampe torche pour le mode caméra actuel. Après un appel à switchCamera, la valeur renvoyée reflète l'état de disponibilité mis à jour dès que Promise de switchCamera est résolu.
Lampe de poche isFlashlightOn bool Renvoie true lorsque la lampe de poche est allumée, ou false si ce n'est pas le cas. Après un appel à toggleFlashlight, suppose que la valeur renvoyée reflète l'état de la lampe de poche mis à jour dès que Promise de toggleFlashlight est résolu.