Co-Doing API digunakan untuk menyinkronkan data arbitrer antar-peserta rapat. Ini dapat berupa data apa pun yang menjadi dependensi aplikasi Anda.
Anda harus melakukan serialisasi data ke Uint8Array
agar dapat dikirim. Untuk selengkapnya
informasi tambahan, lihat library standar JavaScript
.
Jika Anda tidak yakin cara melakukan serialisasi data, tinjau contoh kode berikut.
Panduan ini menjelaskan cara menerapkan Co-Doing API.
Mulai
Untuk menggunakan Co-Doing API, Anda harus Men-deploy Add-on Meet terlebih dahulu. Satu kali telah menyelesaikan langkah-langkah tersebut, Anda dapat mulai menggunakan Co-Doing API dari dalam add-on baru Anda.
Untuk menggunakan Co-Doing API, mulailah dengan mendapatkan
Objek AddonSession
,
yang berfungsi sebagai titik entri untuk aktivitas bersama Google Meet:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
Ganti CLOUD_PROJECT_NUMBER dengan nomor project project Google Cloud Anda.
Membuat klien co-doing
Untuk memulai, buat objek
CoDoingClient
dari AddonSession
Anda.
Untuk membuat CoDoingClient
, panggil metode
createCoDoingClient()
dan berikan objek
CoDoingDelegate
.
CoDoingDelegate
adalah cara Co-Doing API
memperbarui aplikasi Anda setiap kali ada status baru yang tersedia. Diharapkan, saat
metode
onCoDoingStateChanged()
dipanggil, aplikasi Anda akan segera menerapkan status baru.
Contoh kode berikut menunjukkan cara menggunakan 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
},
});
Ganti ACTIVITY_TITLE dengan judul aktivitas Anda.
Kelola status saat ini
Saat pengguna melakukan tindakan dalam aplikasi, diharapkan aplikasi Anda langsung
memanggil
broadcastStateUpdate()
.
Contoh kode berikut menunjukkan implementasi
metode 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) });
});
Ganti SOME_STRING dengan status aplikasi saat ini.