L'API de partage en direct de Google Meet permet de synchroniser les 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 jusqu'à un Uint8Array
pour qu'elles soient transmises. Pour
Pour en savoir plus, consultez la bibliothèque standard JavaScript
référence.
Si vous ne savez pas comment sérialiser vos données, consultez les exemples de code ci-dessous.
Ce guide explique comment implémenter l'API de co-doing.
Créer un élément CoDoingClient
Pour commencer, créez un
CoDoingClient
à partir du AddonSession
que vous avez créés à l'étape Premiers pas.
Pour créer un CoDoingClient
, appelez la méthode
AddonSession.createCoDoingClient
et fournissez une
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 le
CoDoingDelegate.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 newState to your ongoing CoDoing activity
},
});
Remplacez ACTIVITY_TITLE par le titre de votre activité.
Gérer l'état actuel
Lorsque des utilisateurs effectuent une action dans votre application, celle-ci doit normalement
appelle immédiatement
CoDoingClient.broadcastStateUpdate
L'exemple de code suivant illustre une implémentation de la classe
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) });
});
Remplacez SOME_STRING par l'état actuel de l'application.