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

  1. Verbinden und beitreten: Ein Client stellt eine Verbindung zu einer Sitzung her und beginnt mit der Veröffentlichung oder dem Abonnieren von Streams.
  2. 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).
  3. Versenden von Ereignissen: Die Vonage Cloud leitet Ereignisse an andere Teilnehmer und, wenn konfiguriert, an Ihre Webhook-Endpunkte weiter.
  4. 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

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 OK um 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, Archiv failed) 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

Zusätzliche Ressourcen