Co-Doing API'sini uygulayın

Google Meet Canlı Paylaşım Ortak Çalışma API'si, toplantı katılımcıları arasında rastgele verileri senkronize etmek için kullanılır. Uygulamanızın bağlı olduğu tüm veriler bu kapsama girebilir.

İletimleri için verileri bir Uint8Array dosyasına kadar seri hale getirmeniz gerekir. Daha fazla bilgi için JavaScript standart kitaplık referansına 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.

CoDoingClient oluşturun

Başlamak için Başlarken bölümünde oluşturduğunuz AddonSession bölümünden bir CoDoingClient oluşturun.

CoDoingClient oluşturmak için AddonSession.createCoDoingClient yöntemini çağırın ve CoDoingDelegate yöntemini sağlayın.

CoDoingDelegate, Co-Doing API'sinin uygulamanızı kullanıma sunulan yeni bir durumu olduğunda güncellemek için kullanılır. CoDoingDelegate.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 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 bir işlem gerçekleştirdiğinde uygulamanızın hemen CoDoingClient.broadcastStateUpdate çağrısı yapması beklenir.

Aşağıdaki kod örneğinde CoDoingClient.broadcastStateUpdate 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 öğesini, uygulamanın mevcut durumuyla değiştirin.