Bir Meet eklentisi kullanarak ortak çalışma

Toplantıdaki katılımcılar, Google Meet eklenti etkinliğinde ortak çalışabilir. Ortak çalışma etkinliği başladığında toplantıdaki tüm katılımcılara etkinliğin devam ettiğine dair bildirim gönderilir.

Bu bildirim, eklentinin kullanılabilirliğine ve yükleme durumuna göre uyarlanır:

  • Katılımcının eklentisi yüklüyse: Katılımcı etkinliğe katılabilir.

  • Katılımcının eklentisi yüklü değilse: Katılımcı, eklentiyi yüklemeye yönlendirilir.

  • Katılımcının platformunda eklenti kullanılamıyorsa: Kullanıcıya, mevcut cihazını kullanarak etkinliğe katılamayacağı bildirilir.

Kullanıcılar etkinliğe katıldığında kendi iFrame'lerini eklenti içeriğinizle yükler. Yeni katılan kullanıcıların ortak çalışma etkinliğini ana sahnede mi yoksa yan panelde mi açacağını özelleştirebilirsiniz.

Etkinliği başlatma

Bir etkinlik, ActivityStartingState arabirimini kullanan startActivity() yöntemi çağrılarak başlatılır.

1. Adım (İsteğe bağlı): Eklenti, etkinliğin başlangıç durumunu belirler

ActivityStartingState, katılımcı etkinliğe katılma davetini kabul ettiğinde kullanılan eklentinin ilk durumuyla ilgili bilgileri içerir.

Eklenti, etkinlikten önce veya etkinlik sırasında dilediğinde setActivityStartingState() yöntemini çağırarak ActivityStartingState değerini ayarlayabilir veya güncelleyebilir. ActivityStartingState, yalnızca startActivity() aramasında ayarlanmışsa setActivityStartingState() aramaları atlanabilir.

2. Adım: Eklenti etkinliği başlatır

Etkinlik, eklenti MeetSidePanelClient üzerinde startActivity() yöntemini çağırdığında başlar. startActivity() yöntemi parametre olarak bir ActivityStartingState nesnesi alır. Bu nedenle, setActivityStartingState() yerine startActivity() çağrılabilir.

Kullanıcı içerik seçimini tamamlayıp bir etkinlik başlatmaya hazır olduğunda, eklentinizde startActivity() yöntemini aşağıdaki gibi çağırın:

    sidePanelClient.startActivity({
        mainStageUrl: "https://app.example.com/mainstage",
        additionalData: JSON.stringify({
            // State to send to participants.
        })
    });

startActivity() yöntemi çağrıldığında Meet aşağıdaki işlemleri gerçekleştirir:

  • Diğer katılımcılar için: Meet, etkinliğin devam ettiğine dair bir bildirim gösterir.

  • Başlatıcı için: ActivityStartingState içinde bir ana sahne URL'si belirtilmişse Meet, ActivityStartingState içindeki URL'yi kullanarak ana sahneyi açar.

3. Adım: Etkinliğin başlangıç durumunu alın

Kullanıcılar etkinliğe katıldıklarında ActivityStartingState değerine bağlı olarak eklentinizi ana sahneye veya yan panele yükler.

additionalData mülkü sayesinde, etkinliğe katılan kullanıcılarla ilk verileri (durum olarak da bilinir) paylaşabilirsiniz. Bir MainStageClient veya SidePanelClient öğesini başlattıktan sonra additionalData mülkünü almak için getActivityStartingState() yöntemini çağırabilirsiniz.

const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);

4. Adım (İsteğe bağlı): Etkinlikte eklenti durumunu paylaşma

Etkinlik devam ederken durumu kullanıcılar arasında da paylaşabilirsiniz. Durumu iki şekilde paylaşabilirsiniz:

  • Kendi senkronizasyon arka uçunuzu yazarak bu işlemi kendiniz yapabilirsiniz.
  • Kullanıcılar arasında rastgele verileri paylaşmanın kolay ve hızlı bir yolu olan Co-Doing API'yi kullanın.

Örnek: GitHub'daki animasyon eklentisi

GitHub'daki "Animasyon" örnek eklentisi, eklentide ortak çalışmayı içerir. Bu kılavuzun 1. adımı örnek içeriğine dahil edilmemiştir. Bunun yerine, eklenti başlatıcı yan paneldeki "Animasyonu başlat" düğmesini tıkladığında, başlangıç durumu kullanıcının seçtiği renkle doldurularak startActivity() yöntemi çağrılır (2. Adım). Etkinlik başladıktan sonra ana aşama, getActivityStartingState() yöntemini çağırarak başlangıç durumunu alır (3. Adım). Bu örnek eklentide etkinlik sırasında durum (seçilen renk) katılımcılar arasında paylaşılmadığından 4. Adım atlanmıştır. Ancak kullanıcılar, karedan kareye mesajlaşma kullanılarak yan panel çerçevesinden ana sahne çerçevesine gönderilen bir renk seçerek kendi durumlarını değiştirebilir.

Sınırlamalar