L'API de co-doing permet de synchroniser des données arbitraires entre les réunions participants. Il peut s'agir de toutes les données dont votre application dépend.
Vous devez sérialiser les données dans un Uint8Array
pour qu'elles soient transmises. Pour plus
reportez-vous à la bibliothèque standard JavaScript
référence.
Si vous ne savez pas comment sérialiser vos données, consultez les exemples de code suivis.
Ce guide explique comment implémenter l'API Co-Doing.
Premiers pas
Pour utiliser l'API de co-doing, vous devez d'abord créer un le module complémentaire Meet. Une fois que vous avez terminé ces étapes, vous pouvez commencer à utiliser l'API de co-doing depuis votre nouveau module complémentaire.
Pour utiliser l'API de co-doing, commencez par obtenir une
objet AddonSession
,
qui sert de point d'entrée aux activités de groupe Google Meet:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Remplacez CLOUD_PROJECT_NUMBER par le numéro de projet de votre projet Google Cloud.
Créer un client de co-travail
Pour commencer, créez un
CoDoingClient
de votre AddonSession
.
Pour créer un CoDoingClient
, appelez la méthode createCoDoingClient()
et fournissez un objet CoDoingDelegate
.
CoDoingDelegate
indique comment l'API de co-doing
met à jour votre application dès qu'un nouvel état est disponible. Il est normal que, lorsque
la
onCoDoingStateChanged()
est appelée, votre application applique immédiatement le nouvel état.
L'exemple de code suivant montre comment utiliser l'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
},
});
Remplacez ACTIVITY_TITLE par le titre de votre activité.
Gérer l'état actuel
Lorsque les utilisateurs effectuent une action dans votre application, celle-ci doit normalement
appelle la méthode
broadcastStateUpdate()
.
L'exemple de code suivant illustre une implémentation de la méthode 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) });
});
Remplacez SOME_STRING par l'état actuel de l'application.