Co-Doing API dùng để đồng bộ hoá dữ liệu tuỳ ý giữa các cuộc họp người tham gia. Đây có thể là bất kỳ dữ liệu nào mà ứng dụng của bạn phụ thuộc vào.
Bạn phải chuyển đổi tuần tự dữ liệu xuống Uint8Array
để dữ liệu được truyền. Cho
để biết thêm thông tin, hãy xem thư viện JavaScript chuẩn
tham khảo.
Nếu bạn không chắc chắn về cách chuyển đổi tuần tự dữ liệu của mình, hãy xem các mã mẫu đang theo dõi.
Hướng dẫn này giải thích cách triển khai API Co-Doing.
Bắt đầu
Để sử dụng Co-Doing API, trước tiên, bạn phải Tạo Tiện ích bổ sung của Meet. Một lần khi đã hoàn tất những bước đó, bạn có thể bắt đầu sử dụng Co-Doing API ngay trong tiện ích bổ sung mới.
Để dùng Co-Doing API, hãy bắt đầu bằng cách tải một
AddonSession
là
đóng vai trò là điểm bắt đầu cho các hoạt động cùng hoạt động:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Tạo một ứng dụng CoDoing
Để bắt đầu, hãy tạo một
CoDoingClient
từ AddonSession
của bạn.
Để tạo CoDoingClient
, hãy gọi phương thức
AddonSession.createCoDoingClient
và cung cấp một
CoDoingDelegate
.
CoDoingDelegate
là cách API cùng hành động
cập nhật ứng dụng của bạn bất cứ khi nào ứng dụng có trạng thái mới. Dự kiến
mà, khi
CoDoingDelegate.onCoDoingStateChanged
được gọi, ứng dụng của bạn sẽ ngay lập tức áp dụng trạng thái mới.
Mã mẫu sau đây cho biết cách sử dụng 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
},
});
Thay thế ACTIVITY_TITLE bằng tiêu đề của hoạt động.
Quản lý trạng thái hiện tại
Khi người dùng thực hiện hành động trong ứng dụng, ứng dụng đó thường sẽ có
ngay lập tức gọi hàm
CoDoingClient.broadcastStateUpdate
.
Mã mẫu sau đây cho thấy cách triển khai của
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) });
});
Thay thế SOME_STRING bằng trạng thái hiện tại của ứng dụng.