Wie Ereignisse in der Video API funktionieren
Die Vonage Video API ist ereignisgesteuert: Jede Änderung einer Sitzung, eines Streams oder eines optionalen Moduls sendet dokumentierte Rückrufe an Client SDK-Objekte (Session, Publisher, Subscriber) und an alle von Ihnen registrierten Serverendpunkte. Durch die Verknüpfung von Handlern mit diesen Rückrufen - und deren spätere Überprüfung mit Tools wie Video Inspector oder Archiving Inspector - können Sie sofort reagieren, die Teilnehmer auf dem Laufenden halten und ein Audit-Protokoll über den Zustand der Sitzung führen.
Ereignisablauf in einer Videositzung
- Verbinden und beitreten: Ein Client stellt eine Verbindung zu einer Sitzung her und beginnt mit der Veröffentlichung oder dem Abonnieren von Streams.
- Lebenszyklus-Ereignisse aussenden: SDK-Objekte (
Session,Publisher,Subscriber,Stream) und optionale Module - wie zum Beispiel Archivierung, Übertragung/Live-Streaming, Erlebniskomponist, Live-Untertitel, Transkriptionund SIP-Zusammenschaltung - Versand von Ereignissen, die Lebenszyklus- und Medienänderungen beschreiben (siehe die Tabelle der optionalen Module unten für den vollständigen Katalog). - Versenden von Ereignissen: Die Vonage Cloud leitet Ereignisse an andere Teilnehmer und, wenn konfiguriert, an Ihre Webhook-Endpunkte weiter.
- React in Ihrer Anwendung: Aktualisieren Sie den Zustand der Benutzeroberfläche auf dem Client, lösen Sie Geschäftslogik auf dem Server aus, und zeichnen Sie wichtige Ereignisse zur späteren Analyse auf. Mit diesen Funktionen können Sie dynamisch beobachten, reagieren und wiederherstellen - alles über ein einheitliches Ereignismodell.
Woher Video-Events kommen
Client-SDKs
Anmerkung: In diesem Leitfaden werden repräsentative Client- und Server-Ereignisfamilien vorgestellt. Siehe die Client SDK Überblick für Links zu plattformspezifischem Referenzmaterial zu Ereignissen.
Sitzung
- Lebenszyklus:
sessionConnected,connectionDestroyed. - Stromänderungen:
streamCreated,streamPropertyChanged. - Signalisierung:
signal,signal:type. - Optionale Module: Kundenseitige Callbacks für Archivierung, Transkription, Live-Untertitel und Sendesteuerung. In den unten verlinkten Modulhandbüchern finden Sie alle Informationen.
Herausgeber
- Zustand der Medien:
videoEnabled/videoDisabled,audioEnabled/audioDisabled. - Netz/Qualität:
networkQualityLevelChanged,videoDisableWarning. - Optionale Module: Eingabeaufforderungen für die Gerätezulassung (
accessDialogOpened,accessDenied) und Diagnose (audioLevelUpdated) leben in den Verlagsleitfäden.
Abonnent
- Zustand der Medien:
videoEnabled/videoDisabled. - Netz/Qualität:
videoDisableWarning,videoDisableWarningLifted. - Optionale Module:
audioLevelUpdated, Layout-Callbacks und andere Hilfsmittel für Abonnenten finden Sie in den Anpassungshandbüchern.
Rückruf-Familien
| Familie | Wenn es brennt | Referenz |
|---|---|---|
| Überwachung von Sitzungen | Sitzung starten/stoppen; Verbindung/Strom erstellen/zerstören | Leitfaden zur Sitzungsüberwachung |
| Archivierung | Lebenszyklus des Archivs: gestartet, gestoppt, fehlgeschlagen | Leitfaden zur Archivierung |
| Sendung | Lebenszyklus der Sendung: gestartet, gestoppt, fehlgeschlagen | Sendeführer |
| Erlebnis-Komponist | Lebenszyklus-/Statusaktualisierungen des Composers | Komponistenführer erleben |
| Live-Unterschriften | Bildunterschriften Nutzlastlieferung | Leitfaden für Live-Untertitel |
| Transkription | Verfügbarkeit/Status der Abschrift | Anleitung zur Transkription |
| SIP-Zusammenschaltung | SIP-Anruflebenszyklus: eingehende/ausgehende Einladung, Trennung der Verbindung | SIP-Leitfaden |
Instrumente zur Beobachtung
- Video-Inspektor legt die Zeitleisten der Sitzungsereignisse für die Fehlersuche offen.
- Archivierungsinspektor zeigt eine Zeitleiste der Archivierungsstatusänderungen für Archivierungsworkflows.
- Einblicke API und Berichte über die Videonutzung die Anzahl der Ereignisse zu Analysezwecken zu aggregieren.
- Die Leitfaden zur Sitzungsüberwachung wird erklärt, wie Sie verfolgen können, wann Sitzungen beginnen und enden, und wie Sie den aktuellen Sitzungsstatus für operative Teams anzeigen können (z. B. in Ihren eigenen Dashboards).
Arbeiten mit Client-Event-Handlern
Die Muster für Ereignisbehandlungen sind in allen SDKs ähnlich. Das folgende Beispiel zeigt das JavaScript-SDK:
Wenden Sie das gleiche Muster auf die nativen SDKs an: iOS (OTSessionDelegate), Android (Session.SessionListener), Windows (Session Ereignisbehandler) und Linux (otc_session_callbacks) durch Bindung der entsprechenden Beobachter für jede Plattform.
Eine vollständige Liste der Ereignisse finden Sie in den Referenzen der Plattform: JavaScript-Sitzungsereignisse, iOS OTSessionDelegate Rückrufe, Android Session.SessionListener, Windows-Sitzungs-APIund Linux-Sitzungsrückrufe.
Handhabung von Server-Rückrufen
- Registrieren Sie Callback-URLs in der Dashboard der Vonage Video API oder über die Video REST API.
- Validieren Sie eingehende Anfragen, implementieren Sie Wiederholungsversuche und überprüfen Sie die in den folgenden Abschnitten beschriebene Signing/Backoff-Politik Webhooks verifizieren.
- Schnelle Verarbeitung von Nutzdaten: Arbeit in die Warteschlange stellen und mit
200 OKum zu vermeiden, dass Wiederholungen Ihre Warteschlange blockieren. - Protokollieren Sie Anfragekörper zusammen mit Metadaten wie Sitzungs-ID, Verbindungs-ID und Stream-ID, damit Sie Server-Callbacks mit clientseitigen Ereignissen korrelieren können.
Auswählen, wo reagiert werden soll
- Behandlung von vorübergehenden UX-Aktualisierungen im Client: Verwenden Sie SDK-Ereignisse, um UI-Indikatoren (Stummschaltungssymbole, Banner für die Wiederherstellung der Verbindung) umzuschalten oder den Benutzer zur Aktualisierung aufzufordern.
- Eskalieren Sie anhaltende Probleme an den Server: Leiten Sie Stream- oder Verbindungsfehler an Ihr Backend weiter, um Bediener zu warnen oder automatische Workflows auszulösen.
- Audit-Daten beibehalten: Speichern Sie kritische Rückrufe (zum Beispiel
sessionDestroyed, Archivfailed) für die Einhaltung der Vorschriften und für Überprüfungen nach Unfällen. - Test mit Werkzeugen: Reproduzieren Sie Probleme, indem Sie die Sitzungsprotokolle in der Video-Inspektor oder den Export von Metriken über die Einblicke API.
Spickzettel für Ereignisse
| Veranstaltung Familie | Beispielhafte Ereignisse | Geliefert über | Typische Reaktion |
|---|---|---|---|
| Lebenszyklus einer Sitzung | sessionConnected, connectionDestroyed, streamCreated | Client-SDKs, Rückrufe zur Sitzungsüberwachung | Teilnehmerlisten aktualisieren, Benutzeroberfläche aufräumen, Sitzungsstatus beibehalten |
| Qualität der Medien | videoDisabled, networkQualityLevelChanged, reconnected | Client-SDKs | Layouts anpassen, Warnungen anzeigen, zu reinen Audiomodi wechseln |
| Applikationssignalisierung | signal, signal:layout, benutzerdefinierte Datenkanäle | Client-SDKs | Synchronisierung des UI-Status, Übertragung von Anmerkungen, gemeinsame Nutzung von Metadaten |
| Aufzeichnung und Übertragung | Archiv- oder Broadcast-Rückrufstatus (started, stopped, failed) | Rückrufe archivieren und versenden | Status anzeigen, Nachbearbeitung auslösen, Warnungen auslösen |
| Untertitel und Transkription | Status des Transkriptionsrückrufs (completed) | Rückrufe bei der Transkription | Abschriften in den Speicher übertragen |