Ortak Çalışma API'si, toplantı katılımcıları arasında rastgele verileri senkronize etmek için kullanılır. Bu, uygulamanızın ihtiyaç duyduğu herhangi bir veri olabilir.
Verilerin aktarılabilmesi için verileri bir Uint8Array
olarak serileştirmeniz gerekir. Daha fazla bilgi için JavaScript standart kitaplığı referansı bölümüne bakın.
Verilerinizi nasıl serileştireceğinizden emin değilseniz aşağıdaki kod örneklerini inceleyin.
Bu kılavuzda, Co-Doing API'nin nasıl uygulanacağı açıklanmaktadır.
Başlayın
Ortak Çalışma API'sini kullanmak için önce Meet eklentisi dağıtmanız gerekir. Bu adımları tamamladıktan sonra, yeni eklentinizden Co-Doing API'yi kullanmaya başlayabilirsiniz.
Ortak Etkinlik API'sini kullanmak için Google Meet ortak etkinliklerinin giriş noktası olan bir AddonSession
nesnesi elde ederek başlayın:
TypeScript
const session = await window.meet.addon.createAddonSession({
cloudProjectNumber: "CLOUD_PROJECT_NUMBER",
});
CLOUD_PROJECT_NUMBER kısmını Google Cloud projenizin proje numarasıyla değiştirin.
Ortak çalışma istemcisi oluşturma
Başlamak için AddonSession
öğenizden bir CoDoingClient
nesnesi oluşturun.
CoDoingClient
oluşturmak için createCoDoingClient()
yöntemini çağırın ve bir CoDoingDelegate
nesnesi sağlayın.
CoDoingDelegate
, Co-Doing API'nin yeni bir durum olduğunda uygulamanızı güncelleme şeklidir. onCoDoingStateChanged()
yöntemi çağrıldığında uygulamanızın yeni durumu hemen uygulaması beklenir.
Aşağıdaki kod örneğinde, Co-Doing API'nin nasıl kullanılacağı gösterilmektedir:
TypeScript
interface MyState {
someString: string;
someNumber: number;
}
/**
* Serialize/deserialize using JSON.stringify
* You can use any method you want; this is included for as an example
*/
function toBytes(state: MyState): Uint8Array {
return new TextEncoder().encode(JSON.stringify(state));
}
function fromBytes(bytes: Uint8Array): MyState {
return JSON.parse(new TextDecoder().decode(bytes)) as MyState;
}
const coDoingClient = await addonSession.createCoDoingClient({
activityTitle: "ACTIVITY_TITLE",
onCoDoingStateChanged(coDoingState: CoDoingState) {
const newState = fromBytes(coDoingState.bytes);
// This function should apply the new state to your ongoing CoDoing activity
},
});
ACTIVITY_TITLE yerine etkinliğinizin başlığını yazın.
Mevcut durumu yönetme
Kullanıcılar uygulamanızda işlem yaptığında uygulamanızın hemen broadcastStateUpdate()
yöntemini çağırması beklenir.
Aşağıdaki kod örneğinde, broadcastStateUpdate()
yönteminin bir uygulaması gösterilmektedir:
TypeScript
const myState: MyState = {
someString: "SOME_STRING",
someNumber: 0
};
document.getElementById('some-button').onClick(() => {
myState.someNumber = myState.someNumber + 1;
coDoingClient.broadcastStateUpdate({ bytes: toBytes(myState) });
});
SOME_STRING değerini uygulamanın mevcut durumuyla değiştirin.