La API de Co-Doing se usa para sincronizar datos arbitrarios entre reuniones participantes. Estos pueden ser cualquier dato de los que dependa tu app.
Debes serializar los datos a un Uint8Array
para que se transmitan. Para
para obtener más información, consulta la Biblioteca estándar de JavaScript
referencia.
Si no estás seguro de cómo serializar tus datos, revisa las muestras de código. siguientes.
Esta guía explica cómo implementar la API de Co-Doing.
Comenzar
Para usar la API de Co-Doing, primero debes crear un Complemento de Meet. Una vez completados esos pasos, puedes comenzar a usar la API de Co-Doing desde tu nuevo complemento.
Para usar la API de Co-Doing, empieza por obtener un
AddonSession
, que
sirve como punto de entrada a actividades colaborativas:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Crear un cliente de CoDoing
Para comenzar, crea
CoDoingClient
de tu AddonSession
.
Para crear un CoDoingClient
, llama al
AddonSession.createCoDoingClient
y proporciona un
CoDoingDelegate
El CoDoingDelegate
es cómo la API de Co-Doing
y actualiza tu aplicación cuando tenga un nuevo estado disponible. Está previsto
que, cuando
CoDoingDelegate.onCoDoingStateChanged
método nuevo, tu aplicación aplica de inmediato el estado nuevo.
En la siguiente muestra de código, se ve cómo usar la API de Co-Doing:
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
},
});
Reemplaza ACTIVITY_TITLE por el título de tu actividad.
Administrar el estado actual
Cuando los usuarios realizan acciones en tu aplicación, se espera que esta
llama inmediatamente al
CoDoingClient.broadcastStateUpdate
.
En la siguiente muestra de código, se presenta una implementación del
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) });
});
Reemplaza SOME_STRING por el estado actual de la app.