Berkolaborasi menggunakan add-on Meet

Peserta dalam rapat dapat bekerja secara kolaboratif 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 mereka tidak dapat bergabung ke aktivitas menggunakan perangkat yang sedang digunakan.

Saat bergabung ke aktivitas, pengguna 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 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 metode startActivity() di MeetSidePanelClient. Metode startActivity() menggunakan 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 akan menampilkan notifikasi bahwa aktivitas sedang berlangsung.

  • Untuk inisiator: Jika URL panggung utama ditentukan dalam ActivityStartingState, Meet akan membuka panggung utama menggunakan URL dari ActivityStartingState.

Langkah 3: Dapatkan status awal aktivitas

Saat bergabung ke aktivitas, pengguna 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 ke aktivitas. Setelah melakukan inisialisasi 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 berbagi status antar-pengguna saat aktivitas sedang berlangsung dengan membuat backend sinkronisasi Anda sendiri.

Contoh: Add-on animasi di GitHub

Add-on contoh "Animation" di GitHub mencakup kolaborasi dalam add-on. Langkah 1 dari panduan ini tidak disertakan dalam contoh. Sebagai gantinya, saat pemulai add-on mengklik tombol "Start the Animation" di panel samping, metode startActivity() akan dipanggil (Langkah 2) dengan mengisi status awal dengan warna yang dipilih pengguna. Setelah aktivitas dimulai, panggung 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 di add-on contoh ini. 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 yang sama dengan origin yang ditentukan dalam manifes add-on. Untuk mengetahui informasi selengkapnya, lihat Keamanan add-on.
  • Panjang karakter properti sidePanelUrl, properti mainStageUrl, dan properti additionalData harus sesuai dengan batas ukuran masing-masing seperti yang dipublikasikan dalam dokumen referensi SDK.