L'API Co-Doing viene utilizzata per sincronizzare i dati arbitrari tra le riunioni partecipanti. Può trattarsi di qualsiasi dato da cui dipende la tua app.
Per poter essere trasmessi, i dati devono essere serializzati in un Uint8Array
. Per maggiori informazioni
informazioni, consulta la libreria standard JavaScript
riferimento.
Se non sai come serializzare i dati, rivedi gli esempi di codice seguire.
Questa guida spiega come implementare l'API Co-Doing.
Inizia
Per utilizzare l'API Co-Doing, devi prima implementare un plug-in di Meet. Una volta hai completato questi passaggi, puoi iniziare a usare l'API Co-Doing dal nuovo componente aggiuntivo.
Per utilizzare l'API Co-Doing, inizia ottenendo un
Oggetto AddonSession
,
che funge da punto di accesso per le co-attività di Google Meet:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Sostituisci CLOUD_PROJECT_NUMBER con il numero del progetto di del tuo progetto Google Cloud.
Crea un cliente per il co-doing
Per iniziare, crea un
CoDoingClient
dal tuo AddonSession
.
Per creare un CoDoingClient
, chiama il
createCoDoingClient()
e fornirà un
CoDoingDelegate
.
L'CoDoingDelegate
è l'API Co-Doing
aggiorna l'app quando è disponibile un nuovo stato. Ci si aspetta che, quando
il
onCoDoingStateChanged()
, la tua app applica immediatamente il nuovo stato.
Il seguente esempio di codice mostra come utilizzare l'API 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
},
});
Sostituisci ACTIVITY_TITLE con il titolo della tua attività.
Gestire lo stato attuale
Quando gli utenti intraprendono un'azione nella tua app, è normale che l'app chiami immediatamente il metodo broadcastStateUpdate()
.
Il seguente esempio di codice mostra un'implementazione del metodo 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) });
});
Sostituisci SOME_STRING con lo stato corrente dell'app.