Co-Doing API を使用すると、会議間で任意のデータを同期できます。 できます。アプリが依存する任意のデータを指定できます。
送信するには、データを Uint8Array
にシリアル化する必要があります。対象
詳しくは、JavaScript 標準ライブラリ
参照をご覧ください。
データをシリアル化する方法がわからない場合は、コードサンプルを確認する できます。
このガイドでは、Co-Doing API の実装方法について説明します。
始める
Co-Doing API を使用するには、まず Meet アドオン。1 回 Co-Doing API の使用を開始できます 編集することもできます。
Co-Doing API を使用するには、まず
AddonSession
:
共同アクティビティの入り口として機能します。
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CoDoing クライアントを作成する
まず、Terraform で
CoDoingClient
AddonSession
から取得。
CoDoingClient
を作成するには、
AddonSession.createCoDoingClient
メソッドを呼び出し、
CoDoingDelegate
。
CoDoingDelegate
は、Co-Doing API の仕組みです。
は、新しい状態が利用可能になるたびにアプリケーションを更新します。想定されている
動作が
CoDoingDelegate.onCoDoingStateChanged
メソッドが呼び出されると、アプリケーションはすぐに新しい状態を適用します。
次のコードサンプルは、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 newState to your ongoing CoDoing activity
},
});
ACTIVITY_TITLE は、アクティビティのタイトルに置き換えます。
現状の管理
ユーザーがアプリ内でアクションを起こすと、アプリケーションは
直ちに
CoDoingClient.broadcastStateUpdate
メソッドを呼び出します。
次のコードサンプルは、
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) });
});
SOME_STRING は、アプリの現在の状態に置き換えます。