Die Co-Doing API wird verwendet, um beliebige Daten zwischen Teilnehmenden. Das können beliebige Daten sein, von denen Ihre App abhängig ist.
Sie müssen die Daten zu einer Uint8Array
serialisieren, damit sie übertragen werden können. Für
Weitere Informationen finden 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.
Um die Co-Doing API zu verwenden, müssen Sie zuerst eine
AddonSession
, die
dient als Einstiegspunkt für gemeinsame Aktivitäten:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CoDoing-Client erstellen
Erstellen Sie zunächst ein
CoDoingClient
von deinem AddonSession
.
Rufen Sie zum Erstellen eines CoDoingClient
die Methode
AddonSession.createCoDoingClient
und stellen eine
CoDoingDelegate
Mit der CoDoingDelegate
wird die Co-Doing API
aktualisiert Ihre Anwendung, sobald ein neuer Status verfügbar ist. Erwartungsgemäß
dass, wenn der
CoDoingDelegate.onCoDoingStateChanged
aufgerufen wird, wendet Ihre Anwendung sofort den neuen Status an.
Das folgende Codebeispiel zeigt, wie die Co-Doing API verwendet wird:
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 newState to your ongoing CoDoing activity
},
});
Ersetzen Sie ACTIVITY_TITLE durch den Titel Ihrer Aktivität.
Aktuellen Status verwalten
Wenn Nutzer in Ihrer App Aktionen durchführen, wird erwartet, dass Ihre App
ruft sofort die Funktion
CoDoingClient.broadcastStateUpdate
.
Das folgende Codebeispiel zeigt eine Implementierung des
CoDoingClient.broadcastStateUpdate
:
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.