Wdrażanie interfejsu Co-Doing API

Interfejs 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ładowy kod następujących po sobie.

Z tego przewodnika dowiesz się, jak wdrożyć interfejs Co-Doing API.

Rozpocznij

Aby używać interfejsu API Co-Doing, musisz najpierw utworzyć Dodatek do Meet. Jednorazowo Gdy już wykonasz te kroki, możesz zacząć korzystać z interfejsu API Co-Doing z poziomu nowego dodatku.

Aby używać interfejsu API Co-Doing, zacznij od pobrania AddonSession, czyli jest punktem wyjścia dla wspólnych działań:

TypeScript

const session = await window.meet.addon.createAddonSession({
    cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});

Tworzenie klienta CoDoing

Na początek utwórz CoDoingClient na urządzeniu AddonSession.

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 wywołuje 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.