Peserta dalam rapat dapat berkolaborasi dalam aktivitas add-on Google Meet. Saat aktivitas kolaboratif dimulai, semua peserta dalam rapat akan menerima notifikasi bahwa aktivitas sedang berlangsung.
Notifikasi ini disesuaikan dengan ketersediaan dan status penginstalan add-on:
Jika peserta telah menginstal add-on: Dia dapat bergabung ke aktivitas.
Jika peserta belum menginstal add-on: Peserta akan diarahkan untuk menginstal add-on.
Jika add-on tidak tersedia untuk platform peserta: Peserta akan diberi tahu bahwa dia tidak dapat bergabung ke aktivitas menggunakan perangkatnya saat ini.
Saat pengguna bergabung dengan aktivitas, mereka akan memuat iframe mereka sendiri dengan konten add-on Anda. Anda dapat menyesuaikan apakah peserta baru harus membuka aktivitas kolaboratif di panggung utama atau panel samping.
Mulai 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
add-on yang digunakan saat peserta menerima
undangan untuk bergabung ke aktivitas.
Add-on dapat menyetel atau memperbarui
ActivityStartingState
dengan memanggil metode setActivityStartingState()
kapan saja sebelum atau selama aktivitas. Panggilan ke
setActivityStartingState()
dapat dihilangkan jika ActivityStartingState
disetel secara eksklusif dalam panggilan ke startActivity()
.
Langkah 2: Add-on memulai aktivitas
Aktivitas dimulai saat add-on memanggil metode
startActivity()
di MeetSidePanelClient
.
Metode startActivity()
mengambil objek ActivityStartingState
sebagai
parameter, sehingga startActivity()
dapat dipanggil, bukan memanggil
setActivityStartingState()
.
Setelah pengguna menyelesaikan pemilihan konten dan siap memulai aktivitas,
panggil metode startActivity()
di add-on Anda sebagai
berikut:
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 bahwa aktivitas sedang berlangsung.
Untuk inisiator: Jika URL panggung utama ditentukan dalam
ActivityStartingState
, Meet akan membuka panggung utama menggunakan URL dariActivityStartingState
.
Langkah 3: Dapatkan status awal aktivitas
Saat pengguna bergabung ke aktivitas, mereka 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 menginisialisasi
MainStageClient
atau SidePanelClient
, Anda
dapat memanggil
metode getActivityStartingState()
untuk mengambil properti additionalData
.
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
Langkah 4 (Opsional): Bagikan status add-on dalam aktivitas
Anda juga dapat membagikan status antar-pengguna saat aktivitas sedang berlangsung. Anda dapat membagikan status dengan dua cara:
- Tangani sendiri dengan membuat backend sinkronisasi Anda sendiri.
- Gunakan Co-Doing API, yang merupakan cara mudah dan cepat untuk membagikan data arbitrer antarpengguna.
Contoh: Add-on animasi di GitHub
Add-on contoh"Animasi" di GitHub mencakup kolaborasi dalam add-on. Langkah 1
dari panduan ini tidak disertakan dalam sampel. Sebagai gantinya, saat
pemrakarsa add-on mengklik
tombol "Mulai Animasi"
di panel samping, metode startActivity()
dipanggil (Langkah 2)
dengan mengisi status awal dengan warna yang dipilih pengguna. Setelah
aktivitas dimulai, tahap utama mengambil status awal dengan
memanggil metode getActivityStartingState()
(Langkah 3). Langkah 4 dihilangkan, karena status (warna yang dipilih) tidak dibagikan di antara peserta selama aktivitas dalam add-on contoh ini. Namun, pengguna perorangan dapat mengubah
status mereka sendiri dengan memilih warna, yang dikirim dari frame panel samping ke
frame panggung utama menggunakan frame-to-frame messaging.
Batasan
- URL yang ditentukan dalam
ActivityStartingState
harus berasal dari origin yang sama dengan origin yang ditentukan dalam manifes add-on. Untuk mengetahui informasi selengkapnya, lihat Keamanan add-on. - Panjang karakter properti
sidePanelUrl
,mainStageUrl
, danadditionalData
harus sesuai dengan batas ukuran masing-masing seperti yang dipublikasikan dalam dokumen referensi SDK.