Toplantı katılımcıları, Google Meet eklenti etkinliğinde ortak çalışabilir. Ortak etkinlik başladığında toplantıdaki tüm katılımcılar etkinliğin devam ettiğine dair bildirim alır.
Bu bildirim, eklentinin kullanılabilirliğine ve yükleme durumuna göre uyarlanır:
Katılımcının eklenti yüklüyse: Etkinliğe katılabilir.
Katılımcı eklentiyi yüklememişse: Eklentiyi yüklemeye yönlendirilir.
Eklenti, katılımcının platformunda kullanılamıyorsa: Katılımcıya, etkinliğe mevcut cihazıyla katılamayacağı bildirilir.
Etkinliğe katılan kullanıcılar, eklenti içeriğinizle kendi iFrame'lerini yükler. Yeni katılımcıların ortak çalışma etkinliğini ana aşamada mı yoksa yan panelde mi açacağını özelleştirebilirsiniz.
Etkinliği başlatma
Etkinlik, startActivity() yönteminin çağrılmasıyla başlatılır. Bu yöntem, ActivityStartingState arayüzünü kullanır.
1. adım (isteğe bağlı): Eklenti, etkinliğin başlangıç durumunu ayarlar
ActivityStartingState
Katılımcı etkinliğe katılma davetini kabul ettiğinde kullanılan
eklentinin başlangıç durumuyla ilgili bilgileri içerir.
Eklenti, etkinlikten önce veya etkinlik sırasında setActivityStartingState() yöntemini çağırarak ActivityStartingState değerini ayarlayabilir veya güncelleyebilir. setActivityStartingState() aramaları, ActivityStartingState yalnızca startActivity() aramasına ayarlanmışsa atlanabilir.
2. adım: Eklenti, etkinliği başlatır
Etkinlik, eklenti startActivity()
üzerinde MeetSidePanelClient yöntemini çağırdığında başlar.
startActivity() yöntemi, parametre olarak ActivityStartingState nesnesini alır. Bu nedenle, setActivityStartingState() çağrılmak yerine startActivity() çağrılabilir.
Kullanıcı içerik seçimini tamamlayıp etkinliği 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:
ActivityStartingStateiçinde ana sahne URL'si belirtilmişse Meet,ActivityStartingStateiçindeki URL'yi kullanarak ana sahneyi açar.
3. adım: Etkinliğin başlangıç durumunu alın
Kullanıcı etkinliğe katıldığında, ActivityStartingState değerine bağlı olarak eklentiniz ana aşamaya veya yan panele yüklenir.
additionalData özelliğiyle, etkinliğe katılan kullanıcılarla ilk verileri (durum olarak da adlandırılır) paylaşabilirsiniz. MainStageClient veya SidePanelClient başlatıldıktan sonra additionalData özelliğini almak için getActivityStartingState() yöntemini çağırabilirsiniz.
const startingState = client.getActivityStartingState();
const additionalData = JSON.parse(startingState.additionalData);
4. adım (isteğe bağlı): Eklenti durumunu bir etkinlikte paylaşın
Etkinlik devam ederken kullanıcılar arasında durumu da paylaşabilirsiniz. Durumu iki şekilde paylaşabilirsiniz:
- Kendi senkronizasyon arka ucunuzu oluşturarak bu işi kendiniz halledebilirsiniz.
- 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 "Animation" örnek eklentisi
bir eklentide ortak çalışmayı içerir. Bu kılavuzdaki 1. adım örneğe dahil değildir. Bunun yerine, eklenti başlatıcı yan panelde "Animasyonu Başlat" düğmesini tıkladığında startActivity() yöntemi, başlangıç durumu kullanıcının seçtiği renkle doldurularak çağrılır (2. adım). Etkinlik başladıktan sonra ana sahne, 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ığı için 4. adım atlanır. Ancak tek tek kullanıcılar, bir renk seçerek kendi durumlarını değiştirebilir. Bu renk, çerçeveden çerçeveye mesajlaşma kullanılarak yan panel çerçevesinden ana sahne çerçevesine gönderilir.
Sınırlamalar
ActivityStartingStateiçinde belirtilen URL'ler, eklenti manifestinde belirtilen kaynaklarla aynı kaynağa ait olmalıdır. Daha fazla bilgi için Eklenti güvenliği başlıklı makaleyi inceleyin.sidePanelUrlözelliği,mainStageUrlözelliği veadditionalDataözelliği karakter uzunlukları, SDK referans dokümanlarında yayınlandığı şekliyle ilgili boyut sınırlarına uygun olmalıdır.
İlgili konular
- Etkinlik başlangıç durumunu kullanma
- Meet eklentisi kullanma
- Birlikte Çalışma API'sini uygulama
- Eklenti güvenliği