
Passer des appels vidéo avec Vonage Video et Flutter
Temps de lecture : 2 minutes
Flutter gagne de plus en plus en popularité, nous avons donc décidé de construire une application simple qui permet de passer des appels vidéo entre deux appareils. Les deux technologies utilisées pour construire l'application sont Flutter et les SDK Video de Vonage. Récapitulons rapidement ces technologies :
Flutter - kit de développement logiciel d'interface utilisateur open-source utilisé pour développer des applications multiplateformes pour Android, iOS, Linux et Mac. Le principal langage de programmation est Dart.
Vonage Video - utilisé pour créer des appels vidéo entre différents appareils. Les langages de programmation utilisés sont Kotlin pour la plateforme Android et Swift pour la plateforme iOS.
Cette application est un équivalent Flutter de l'application Basic-Video-Chat (Basic-Video-Chat Android / Basic-Video-Chat iOS). Voici les principales caractéristiques de l'application :
Se connecter à une session Video de Vonage
Publier un flux audio-vidéo pour la session
S'abonner au flux audio-vidéo d'un autre client
NOTE : Le code source de l'application est disponible sur GitHub.
Flutter est la technologie principale ici. Il s'agit d'une fondation utilisée pour construire une application mobile qui fonctionne sur Android et iOS. Elle sera responsable de la gestion et de l'affichage de l'interface utilisateur, et elle contiendra la logique de l'application. Ainsi, la logique applicative n'est écrite qu'une seule fois pour les deux plateformes.
Sous le capot, cette application Flutter utilisera les éléments suivants. Android Vonage Video SDK et iOS Vonage Video SDK (via des projets natifs Android/iOS) :

Le code natif de la plateforme (Android, iOS) communique avec Flutter en utilisant Flutter CanalMéthodequi utilise des appels de méthode. MethodChannel sert de pont pour envoyer des messages entre Flutter et le code natif (ajouté au projet natif Android et au projet natif iOS). Cela nous permet de connecter l'utilisateur et de configurer la session vidéo pour passer un appel vidéo :

Flutter peut envoyer des messages à la partie native (Android / iOS) de l'application et la partie native de l'application peut renvoyer un message à Flutter. Flutter appelle la méthode initSession et transmet la méthode apiKey, sessionId, et token au code natif pour démarrer une session Vonage Video. Le code natif informera la partie Flutter de l'application de la réussite de la connexion (ou de l'erreur) et le code côté Flutter mettra à jour l'interface utilisateur.
NOTE : une application Flutter peut être packagée en tant qu'application Android ou iOS, mais jamais les deux en même temps. Lorsque la plateforme cible est Android, MethodChannel communique avec le code natif de l'application Android. Lorsque la plateforme cible est iOS, MethodChannel communique avec le code natif de l'application iOS.
Pour exécuter l Applications vous devez installer Flutter. Cela varie d'une plateforme à l'autre, comme vous pouvez le voir dans les instructions détaillées.
NOTE : Assurez-vous de lancer
flutter doctorpour vérifier votre configuration locale de Flutter.
Pour vous connecter à la session Vonage Video, vous aurez besoin d'un compte Vonage Video et pour générer initSession, apiKey, et sessionId. Vous pouvez obtenir ces valeurs dans le Tableau de bord Video de Vonage. Ouvrez maintenant le fichier main.dart et utilisez ces valeurs dans les variables correspondantes :
static String API_KEY = "";
static String SESSION_ID = "";
static String TOKEN = "";Lancez l'application mobile pour démarrer l'appel vidéo.
NOTE : Vous pouvez utiliser Terrain de jeu du développeur pour vous connecter à la même session que l'appareil mobile qui exécute l'application Flutter.
Résumé
Il y a encore quelques inconvénientsMais l'intégration globale de Flutter et de Vonage Video se fait en douceur. Même sans paquetage Flutter natif, il est possible de créer rapidement une application Flutter à part entière qui utilise les SDK mobiles de Vonage Video sous le capot et fonctionne sur les appareils Android et iOS.