Interfejs Co-Doing API służy do synchronizowania dowolnych danych między uczestnikami spotkania. Mogą to być dowolne dane, od których zależy działanie aplikacji.
Aby dane mogły zostać przesłane, musisz je zserializować do formatu Uint8Array
. Więcej informacji znajdziesz w dokumentacji standardowej biblioteki JavaScript.
Jeśli nie wiesz, jak serializować dane, zapoznaj się z przykładowymi kodami poniżej.
Z tego przewodnika dowiesz się, jak zaimplementować interfejs Co-Doing API.
Rozpocznij
Aby korzystać z interfejsu Co-Doing API, musisz najpierw wdrożyć dodatek do Meet. Po wykonaniu tych czynności możesz zacząć korzystać z interfejsu Co-Doing API w ramach nowego dodatku.
Aby użyć interfejsu Co-Doing API, zacznij od pobrania obiektu
AddonSession
, który służy jako punkt wejścia do wspólnych czynności w Google Meet:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Zastąp CLOUD_PROJECT_NUMBER numerem projektu Google Cloud.
Tworzenie klienta do wspólnego działania
Aby rozpocząć, utwórz obiekt
CoDoingClient
z AddonSession
.
Aby utworzyć obiekt CoDoingClient
, wywołaj metodę createCoDoingClient()
i podaj obiekt CoDoingDelegate
.
CoDoingDelegate
to sposób, w jaki interfejs Co-Doing API aktualizuje aplikację, gdy jest dostępny nowy stan. Oczekuje się, że po wywołaniu metody onCoDoingStateChanged()
aplikacja natychmiast zastosuje nowy stan.
Poniższy przykładowy kod pokazuje, jak korzystać z interfejsu Co-Doing API:
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
},
});
Zastąp ACTIVITY_TITLE tytułem aktywności.
Zarządzanie bieżącym stanem
Gdy użytkownicy podejmą działanie w Twojej aplikacji, powinna ona natychmiast wywołać metodę broadcastStateUpdate()
.
Poniższy przykładowy kod pokazuje implementację metody 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) });
});
Zastąp SOME_STRING bieżącym stanem aplikacji.