Die Google Meet Live Sharing Co-Watching API verwaltet die Videokonferenz, wenn mehrere Teilnehmer Inhalte in Ihrer App ansehen oder anhören.
In diesem Leitfaden wird erläutert, wie die Co-Watching API implementiert wird.
CoWatchingClient
erstellen
Erstelle zuerst eine createCoWatchingClient
aus dem AddonSession
, den du unter Jetzt starten erstellt hast.
Rufen Sie zum Erstellen eines CoWatchingCient
die Methode AddonSession.createCoWatchingClient
auf und geben Sie ein CoWatchingDelegate
an.
Mit CoWatchingDelegate
wird deine Anwendung von der Co-Watching API aktualisiert, sobald ein neuer Status verfügbar ist. Es ist zu erwarten, dass Ihre Anwendung beim Aufruf der Methode CoWatchingDelegate.onCoWatchingStateChanged
sofort den neuen Status anwendet.
Das folgende Codebeispiel zeigt, wie die Co-Watching API verwendet wird:
TypeScript
const coWatchingClient = await addonSession.createCoWatchingClient({
activityTitle: "ACTIVITY_TITLE",
onCoWatchingStateQuery() {
// This function should return the current state of your CoWatching activity
return getMyApplicationCoWatchingState();
},
onCoWatchingStateChanged(coWatchingState: CoWatchingState) {
// This function should apply newState to your ongoing CoWatching activity
},
});
Ersetzen Sie ACTIVITY_TITLE durch den Medientitel Ihrer Aktivität.
Aktuellen Status verwalten
Wenn Nutzer in Ihrer Anwendung Aktionen ausführen, wird davon ausgegangen, dass Ihre Anwendung sofort die bereitgestellten API-Methoden aufruft.
Sie sollten diese Methoden nur als Reaktion auf wichtige Ereignisse aufrufen. Sie müssen sie beispielsweise nicht jedes Mal aufrufen, wenn in Ihrer App ein Video wiedergegeben wird. Die CoWatchingDelegate
, die Sie oben erstellt haben, verarbeitet unter diesen Umständen aktualisierte Playout-Positionen.
Mit den folgenden Methoden kannst du den Status der gemeinsamen Wiedergabe steuern:
CoWatchingClient.notifySwitchToMedia
: Ruft immer dann auf, wenn sich die aktiv wiedergegebenen Medien ändern. Der Nutzer wählt beispielsweise ein neues Video aus oder bei der automatischen Wiedergabe wird das nächste Video gestartet.CoWatchingClient.notifyPauseState
: Wird aufgerufen, wenn ein Nutzer die Wiedergabe der Medien pausiert oder die Pausierung wieder aufhebt.CoWatchingClient.notifySeekToTimestamp
: Aufruf, wenn ein Nutzer die Wiedergabeposition explizit ändert.CoWatchingClient.notifyPlayoutRate
: Wird aufgerufen, wenn ein Nutzer die Wiedergabegeschwindigkeit auf einen neuen Wert ändert (z. B. 1,25x).CoWatchingClient.notifyBuffering
: Wird aufgerufen, wenn die App eines Nutzers aufgrund eines vorherigen Medienwechsels, einer Mediensuche oder einer Netzwerküberlastung mit dem Zwischenspeichern beginnt.CoWatchingClient.notifyReady
: Rufe auf, wenn die Zwischenspeicherung abgeschlossen ist und die Medien jetzt abgespielt werden können.