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 ya da 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
ActivityStartingState
içinde belirtilen URL'ler, eklenti manifestinde belirtilen kaynaklarla aynı kaynak olmalıdır. Daha fazla bilgi için Ek güvenlik başlıklı makaleyi inceleyin.sidePanelUrl
mülk,mainStageUrl
mülk veadditionalData
mülk karakter uzunlukları, SDK referans dokümanlarındaki ilgili boyut sınırlarına uygun olmalıdır.
İlgili konular
- Etkinlik başlangıç durumunu kullanma
- Meet eklentisi kullanma
- Ortak Çalışma API'sini uygulama
- Eklenti güvenliği