Die Co-Doing API wird verwendet, um beliebige Daten zwischen Besprechungsteilnehmern zu synchronisieren. Das können beliebige Daten sein, von denen Ihre App abhängig ist.
Sie müssen die Daten in eine Uint8Array
serialisieren, damit sie übertragen werden können. Weitere Informationen
erhalten Sie in der JavaScript-Standardbibliothek
Referenz.
Wenn Sie sich nicht sicher sind, wie Sie Ihre Daten serialisieren, sehen Sie sich die Codebeispiele an folgen.
In diesem Leitfaden wird erläutert, wie die Co-Doing API implementiert wird.
Erste Schritte
Um die Co-Doing API zu verwenden, müssen Sie zunächst ein Meet-Add-on. Einmal Wenn Sie diese Schritte ausgeführt haben, können Sie die Co-Doing API aus dem neuen Add-on aus.
Wenn Sie die Co-Doing API verwenden möchten, rufen Sie zuerst ein AddonSession
-Objekt ab, das als Ausgangspunkt für gemeinsame Aktivitäten in Google Meet dient:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Ersetzen Sie CLOUD_PROJECT_NUMBER durch die Projektnummer Ihres Google Cloud-Projekts.
Co-Doing-Client erstellen
Erstellen Sie zunächst ein
CoDoingClient
von AddonSession
entfernt.
Rufen Sie zum Erstellen eines CoDoingClient
die Methode
createCoDoingClient()
und stellen eine
CoDoingDelegate
-Objekt enthält.
Über CoDoingDelegate
aktualisiert die Co-Doing API Ihre App, sobald ein neuer Status verfügbar ist. Es ist zu erwarten, dass
die
onCoDoingStateChanged()
aufgerufen wird, wendet Ihre App sofort den neuen Status an.
Das folgende Codebeispiel zeigt die Verwendung der Co-Doing API:
TypeScript
interface MyState {
someString: string;
someNumber: number;
}
/**
* Serialize/deserialize using JSON.stringify
* You can use any method you want; this is included for as an example
*/
function toBytes(state: MyState): Uint8Array {
return new TextEncoder().encode(JSON.stringify(state));
}
function fromBytes(bytes: Uint8Array): MyState {
return JSON.parse(new TextDecoder().decode(bytes)) as MyState;
}
const coDoingClient = await addonSession.createCoDoingClient({
activityTitle: "ACTIVITY_TITLE",
onCoDoingStateChanged(coDoingState: CoDoingState) {
const newState = fromBytes(coDoingState.bytes);
// This function should apply the new state to your ongoing CoDoing activity
},
});
Ersetzen Sie ACTIVITY_TITLE durch den Titel Ihrer Aktivität.
Aktuellen Status verwalten
Wenn Nutzer Aktionen in Ihrer App ausführen, sollte Ihre App sofort
ruft die
broadcastStateUpdate()
.
Das folgende Codebeispiel zeigt eine Implementierung des
broadcastStateUpdate()
-Methode:
TypeScript
const myState: MyState = {
someString: "SOME_STRING",
someNumber: 0
};
document.getElementById('some-button').onClick(() => {
myState.someNumber = myState.someNumber + 1;
coDoingClient.broadcastStateUpdate({ bytes: toBytes(myState) });
});
Ersetzen Sie SOME_STRING durch den aktuellen Status der App.