Koleksiyonlar ile düzeninizi koruyun
İçeriği tercihlerinize göre kaydedin ve kategorilere ayırın.
Birlikte İzleme API'si, uygulamanızda içerik izleyen veya dinleyen birden fazla katılımcının toplantı deneyimini yönetir.
Bu kılavuzda, birlikte izleme API'sinin nasıl uygulanacağı açıklanmaktadır.
Başlayın
Birlikte İzleme API'sini kullanmak için önce Meet eklentisi dağıtmanız gerekir. Bu adımları tamamladıktan sonra yeni eklentinizden birlikte izleme API'sini kullanmaya başlayabilirsiniz.
Birlikte İzleme API'sini kullanmak için öncelikle Google Meet ortak etkinliklerinin giriş noktası olarak işlev gören bir AddonSession nesnesi alın:
CoWatchingDelegate, Co-Watching API'nin yeni bir durum olduğunda uygulamanızı güncelleme yöntemidir. onCoWatchingStateChanged()
yöntemi çağrıldığında uygulamanızın yeni durumu hemen uygulaması beklenir.
Aşağıdaki kod örneğinde, Birlikte İzleme API'sinin nasıl kullanılacağı gösterilmektedir:
TypeScript
constcoWatchingClient=awaitaddonSession.createCoWatchingClient({activityTitle:"ACTIVITY_TITLE",onCoWatchingStateQuery(){// This function should return the current state of your CoWatching activityreturngetMyApplicationCoWatchingState();},onCoWatchingStateChanged(coWatchingState:CoWatchingState){// This function should apply newState to your ongoing CoWatching activity},});
ACTIVITY_TITLE yerine etkinliğinizin medya başlığını girin.
Mevcut durumu yönetme
Kullanıcılar uygulamanızda işlem yaptığında uygulamanızın sağlanan API yöntemlerini hemen çağırması beklenir.
Bu yöntemleri yalnızca önemli etkinliklere yanıt olarak çağırmalısınız. Örneğin, uygulamanızda oynatılan bir video her ilerlediğinde bu yöntemleri çağırmanız gerekmez. Oluşturduğunuz CoWatchingDelegate, bu durumlarda güncellenen oynatma konumlarını yönetir.
Birlikte izleme durumunu aşağıdaki yöntemlerle kontrol edebilirsiniz:
notifyBuffering():
Kullanıcının uygulamasında önceki bir medya geçişi, medya arama veya ağ tıkanıklığı nedeniyle arabelleğe alma işlemi başladığında çağrılır.
notifyPauseState():
Kullanıcı, oynatılan medyayı duraklattığında veya duraklatmayı kaldırdığında çağrılır.
notifyPlayoutRate():
Kullanıcı, oynatma hızını yeni bir değere (örneğin, 1,25x) güncellediğinde çağrılır.
notifyReady():
Arabelleğe alma işlemi tamamlandığında ve medya oynatılmaya hazır olduğunda çağrılır.
notifySwitchToMedia():
Etkin olarak oynatılan medya her değiştiğinde çağrılır. Örneğin, kullanıcı yeni bir video seçtiğinde veya otomatik oynatma bir sonraki videoyu başlattığında.
[[["Anlaması kolay","easyToUnderstand","thumb-up"],["Sorunumu çözdü","solvedMyProblem","thumb-up"],["Diğer","otherUp","thumb-up"]],[["İhtiyacım olan bilgiler yok","missingTheInformationINeed","thumb-down"],["Çok karmaşık / çok fazla adım var","tooComplicatedTooManySteps","thumb-down"],["Güncel değil","outOfDate","thumb-down"],["Çeviri sorunu","translationIssue","thumb-down"],["Örnek veya kod sorunu","samplesCodeIssue","thumb-down"],["Diğer","otherDown","thumb-down"]],["Son güncelleme tarihi: 2025-08-29 UTC."],[],[],null,["# Implement the Co-Watching API\n\n| **Early Access Program:** This feature was only available in limited preview, through an Early Access Program. This program is now closed to new signups.\n\nThe Co-Watching API manages the meeting experience of multiple\nparticipants watching or listening to content in your app.\n\nThis guide explains how to implement the Co-Watching API.\n\nGet started\n-----------\n\nTo use the Co-Watching API, you first must [Deploy a\nMeet add-on](/workspace/meet/add-ons/guides/deploy-add-on). Once\nyou've completed those steps, you can start using the Co-Watching API\nfrom within your new add-on.\n\nTo use the Co-Watching API, start by getting an\n[`AddonSession`](/workspace/meet/add-ons/reference/websdk/addon_sdk.addonsession) object,\nwhich serves as the entry point for Google Meet co-activities: \n\n### TypeScript\n\n const session = await window.meet.addon.createAddonSession({\n cloudProjectNumber: \"\u003cvar translate=\"no\"\u003eCLOUD_PROJECT_NUMBER\u003c/var\u003e\",\n });\n\nReplace \u003cvar translate=\"no\"\u003eCLOUD_PROJECT_NUMBER\u003c/var\u003e with the project number of\nyour Google Cloud project.\n\nCreate a co-watching client\n---------------------------\n\nTo get started, create a\n[`CoWatchingClient`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingclient)\nobject from your `AddonSession`.\n\nTo create a `CoWatchingCient`, call the\n[`createCoWatchingClient()`](/workspace/meet/add-ons/reference/websdk/addon_sdk.addonsession.createcowatchingclient)\nmethod and provide a\n[`CoWatchingDelegate`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingdelegate)\nobject.\n\nThe `CoWatchingDelegate` is how the Co-Watching API updates your app\nwhenever it has a new state available. It's expected that, when the\n[`onCoWatchingStateChanged()`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingdelegate.oncowatchingstatechanged)\nmethod is called, your app immediately applies the new state.\n\nThe following code sample shows how to use the Co-Watching API: \n\n### TypeScript\n\n const coWatchingClient = await addonSession.createCoWatchingClient({\n activityTitle: \"\u003cvar translate=\"no\"\u003eACTIVITY_TITLE\u003c/var\u003e\",\n onCoWatchingStateQuery() {\n // This function should return the current state of your CoWatching activity\n return getMyApplicationCoWatchingState();\n },\n onCoWatchingStateChanged(coWatchingState: CoWatchingState) {\n // This function should apply newState to your ongoing CoWatching activity\n },\n });\n\nReplace \u003cvar translate=\"no\"\u003eACTIVITY_TITLE\u003c/var\u003e with your activity's media title.\n\nManage current state\n--------------------\n\nWhen users take action in your application, it's expected that your application\nimmediately calls the provided API methods.\n\nYou should only call these methods in response to significant events. For\nexample, you don't need to call them every time your app advances a playing\nvideo. The `CoWatchingDelegate` you create handles getting updated playout\npositions in these circumstances.\n\nYou can control the co-watching state using these methods:\n\n- [`notifyBuffering()`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingclient.notifybuffering):\n Call when a user's app starts buffering due to buffering from a prior media\n switch, media seek, or network congestion.\n\n- [`notifyPauseState()`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingclient.notifypausestate):\n Call when a user pauses or unpauses the playing media.\n\n- [`notifyPlayoutRate()`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingclient.notifyplayoutrate):\n Call when a user updates the playback speed to a new value (for example,\n 1.25x).\n\n- [`notifyReady()`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingclient.notifyready):\n Call when buffering completes and the media is now ready to be played.\n\n- [`notifySeekToTimestamp()`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingclient.notifyseektotimestamp):\n Call when a user explicitly changes the play out position.\n\n- [`notifySwitchToMedia()`](/workspace/meet/add-ons/reference/websdk/live_sharing_sdk.cowatchingclient.notifyswitchedtomedia):\n Call whenever the actively playing media changes. For example, the user\n selects a new video, or autoplay starts the next video."]]