Interfejs Google Meet Co-Doing API służy do synchronizowania dowolnych danych między spotkaniami uczestników. Mogą to być dowolne dane, od których zależy działanie aplikacji.
Aby dane mogły być przesyłane, musisz je zserializować do typu Uint8Array
. Dla:
więcej informacji znajdziesz w standardowej bibliotece JavaScriptu
odniesienie.
Jeśli nie masz pewności, jak zserializować dane, przejrzyj przykłady kodu poniżej.
Z tego przewodnika dowiesz się, jak wdrożyć interfejs Co-Doing API.
Utwórz CoDoingClient
Na początek utwórz
CoDoingClient
z AddonSession
utworzony w kroku Rozpocznij.
Aby utworzyć CoDoingClient
, wywołaj metodę
AddonSession.createCoDoingClient
i podaj
CoDoingDelegate
W interfejsie API Co-Doing działa CoDoingDelegate
aktualizuje aplikację, gdy uzyska nowy stan. To normalne
że gdy
CoDoingDelegate.onCoDoingStateChanged
aplikacja natychmiast stosuje nowy stan.
Poniższy przykładowy kod pokazuje, jak korzystać z interfejsu 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 newState to your ongoing CoDoing activity
},
});
Zastąp ACTIVITY_TITLE tytułem aktywności.
Zarządzaj bieżącym stanem
Gdy użytkownicy wykonują działania w Twojej aplikacji,
natychmiast dzwoni
CoDoingClient.broadcastStateUpdate
Poniższa próbka kodu pokazuje implementację funkcji
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) });
});
Zastąp SOME_STRING bieżącym stanem aplikacji.