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 ver más
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
objeto AddonSession
,
que sirve como punto de entrada a las actividades colaborativas de Google Meet:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Reemplaza CLOUD_PROJECT_NUMBER por el número del proyecto de tu proyecto de Google Cloud.
Crea un cliente de cooperación
Para empezar, crea
CoDoingClient
objeto de tu AddonSession
.
Para crear un CoDoingClient
, llama al
createCoDoingClient()
y proporciona un
CoDoingDelegate
.
El CoDoingDelegate
es cómo la API de Co-Doing
y actualiza tu app cuando tenga un nuevo estado disponible. Se espera que, cuando
el
onCoDoingStateChanged()
, tu app 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 the new state 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 app, se espera que esta
llama al
broadcastStateUpdate()
.
En la siguiente muestra de código, se presenta una implementación del
Método 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.