Peserta dalam rapat dapat bekerja secara kolaboratif pada aktivitas Add-on Google Meet. Saat aktivitas kolaboratif dimulai, semua peserta dalam rapat akan menerima notifikasi bahwa aktivitas tersebut sedang berlangsung.
Notifikasi ini disesuaikan dengan ketersediaan dan status penginstalan add-on:
Jika peserta telah menginstal add-on: Mereka dapat bergabung ke aktivitas.
Jika peserta tidak memiliki add-on diinstal: Mereka diarahkan untuk menginstal {i>add-on<i}.
Jika add-on tidak tersedia untuk platform peserta: Peserta akan diberi tahu bahwa mereka tidak dapat bergabung ke aktivitas menggunakan perangkat saat ini.
Ketika pengguna bergabung ke aktivitas, mereka akan memuat iframe dengan konten add-on Anda. Anda dapat menyesuaikan apakah peserta baru harus membuka aktivitas kolaboratif di panggung utama atau panel samping.
Memulai aktivitas
Aktivitas dimulai dengan memanggil metode
startActivity()
,
yang menggunakan antarmuka
ActivityStartingState
.
Langkah 1 (Opsional): Add-on menetapkan status awal aktivitas
ActivityStartingState
berisi informasi tentang status awal
yang digunakan ketika peserta menyetujui
undangan untuk bergabung dengan aktivitas.
Add-on dapat menetapkan atau memperbarui
ActivityStartingState
dengan memanggil metode setActivityStartingState()
kapan saja sebelum atau selama aktivitas. Panggilan ke
setActivityStartingState()
dapat dihilangkan jika ActivityStartingState
ditetapkan secara eksklusif dalam panggilan ke startActivity()
.
Langkah 2: Add-on memulai aktivitas
Aktivitas dimulai saat add-on memanggil
startActivity()
pada MeetSidePanelClient
.
Metode startActivity()
menggunakan objek ActivityStartingState
sebagai
parameter, sehingga startActivity()
dapat dipanggil, bukan memanggil
setActivityStartingState()
.
Setelah pengguna menyelesaikan pilihan konten dan siap untuk memulai aktivitas,
panggil metode startActivity()
di add-on Anda sebagai
berikut ini:
sidePanelClient.startActivity({
mainStageUrl: "https://app.example.com/mainstage",
additionalData: JSON.stringify({
// State to send to participants.
})
});
Saat metode startActivity()
dipanggil, Meet akan melakukan
tindakan berikut:
Untuk peserta lain: Meet menampilkan notifikasi yang aktivitas tersebut sedang berlangsung.
Untuk inisiator: Jika URL panggung utama ditentukan di
ActivityStartingState
, Meet akan membuka panggung utama menggunakan URL dariActivityStartingState
.
Langkah 3: Mendapatkan status awal aktivitas
Saat pengguna bergabung ke aktivitas, mereka akan memuat add-on Anda
ke panggung utama atau panel samping, bergantung pada ActivityStartingState
.
Dengan properti additionalData
, Anda dapat membagikan data awal (juga disebut
sebagai status) kepada pengguna yang bergabung dengan aktivitas. Setelah melakukan inisialisasi
MainStageClient
atau SidePanelClient
, Anda
dapat memanggil
getActivityStartingState()
untuk mengambil properti additionalData
.
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
Langkah 4 (Opsional): Membagikan status add-on dalam aktivitas
Anda juga dapat berbagi status antarpengguna saat aktivitas sedang berlangsung. Anda dapat berbagi status dengan dua cara:
- Tangani sendiri dengan menulis backend sinkronisasi Anda sendiri.
- Gunakan Co-Doing API, yang merupakan cara yang mudah dan cepat untuk berbagi data arbitrer antar-pengguna.
Contoh: Add-on animasi di GitHub
Contoh add-on "Animation" di GitHub
menyertakan kolaborasi dalam add-on. Langkah 1
dari panduan ini tidak disertakan dalam contoh. Sebagai gantinya, ketika
inisiator add-on mengklik
"Mulai Animasi" tombol
di panel samping, metode startActivity()
dipanggil (Langkah 2)
dengan mengisi status awal dengan warna yang dipilih pengguna. Setelah
aktivitas dimulai, stage utama mengambil status awal dengan
memanggil metode getActivityStartingState()
(Langkah 3). Langkah 4 dihilangkan, sebagai status (
(warna pilihan) tidak dibagikan antar-peserta selama aktivitas ini
contoh add-on. Namun, setiap pengguna dapat mengubah
statusnya sendiri dengan memilih warna, yang dikirim dari frame panel samping ke
frame panggung utama menggunakan pesan frame ke frame.
Batasan
- URL yang ditentukan dalam
ActivityStartingState
harus berasal dari origin sebagai origin yang ditentukan di manifes add-on. Untuk informasi selengkapnya, lihat Keamanan add-on. - Tujuan
sidePanelUrl
properti,mainStageUrl
properti, danadditionalData
panjang karakter properti harus sesuai dengan batas ukurannya masing-masing sebagai yang dipublikasikan dalam dokumen referensi SDK.