Google Meet Live Share Co-Doing API, toplantılar arasında rastgele verileri senkronize etmek için kullanılır katılımcı sayısı. Bu veriler, uygulamanızın temel aldığı herhangi bir veri olabilir.
İletilmesi için verileri Uint8Array
olacak şekilde serileştirmeniz gerekir. Örneğin,
daha fazla bilgi için JavaScript standart kitaplığına
referans.
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.
CoDoingClient
oluşturun
Başlamak için bir
CoDoingClient
AddonSession
Başlayın'da oluşturduğunuz videoyu tıklayın.
CoDoingClient
oluşturmak için şunları çağırın:
AddonSession.createCoDoingClient
yöntemini kullanarak
CoDoingDelegate
.
CoDoingDelegate
, Co-Doing API'nin nasıl kullanıldığını gösterir.
yeni bir durum olduğunda uygulamanızı günceller. Bu beklenen bir şey
,
CoDoingDelegate.onCoDoingStateChanged
yöntemi çağrıldığında, uygulamanız yeni durumu hemen uygular.
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 newState to your ongoing CoDoing activity
},
});
ACTIVITY_TITLE yerine etkinliğinizin başlığını yazın.
Mevcut durumu yönet
Kullanıcılar uygulamanızda işlem yaptığında, uygulamanızın
hemen arar
CoDoingClient.broadcastStateUpdate
.
Aşağıdaki kod örneğinde
CoDoingClient.broadcastStateUpdate
:
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.