Chamada para ação (CTA)
@experimental. Ele é estável o suficiente para uso, mas os detalhes da API podem mudar. Acompanhe o histórico de alterações do player
.Uma CTA é uma chamada para ação exibida sobre o vídeo. Use-a para assinaturas, links, botões na linha do tempo ou formulários de captação de leads. Configure as CTAs em playlist[].cta ao criar um player
. Você também pode usar setPlaylistItemOptions
.
Você pode configurar uma CTA simples no final do vídeo sem escrever código. Use um modelo de player .
Tipos de exibição
O valor padrão do campo type é overlay:
type | Comportamento |
|---|---|
overlay | Cobre o player e pausa a reprodução |
popup | Exibe um painel pop-up sem pausar a reprodução |
panel | Exibe um painel transparente sem pausar a reprodução |
banner | Exibe um banner com uma imagem ou um link |
buttons | Exibe botões sobre o quadro. Um clique pode navegar pela playlist ou pela linha do tempo |
leadgen | Coleta dados do usuário e os envia para sua URL |
Início rápido: overlay
function onKinescopeIframeAPIReady(playerFactory) {
playerFactory
.create('player', {
url: 'https://kinescope.io/VIDEO_ID',
playlist: [
{
cta: [
{
id: 'subscribe-cta',
type: 'overlay', // Opcional: este é o valor padrão
title: 'Você gostou do vídeo?',
description: 'Assine o canal para não perder os próximos lançamentos.',
skippable: true,
button: { text: 'Assinar' },
trigger: { percentages: [50] },
},
],
},
],
})
.then((player) => {
player.on(player.Events.CallAction, (event) => {
// event.data.id === 'subscribe-cta'
window.open('https://example.com/subscribe', '_blank')
player.closeCTA()
})
})
}
Quando o usuário clica no botão da CTA, o evento CallAction
é disparado. Execute sua ação e feche a tela com closeCTA()
. A reprodução continua depois que a sobreposição é fechada.
Se você definir button.url, o player poderá abrir o link. O evento CallAction ainda será enviado, o que é útil para análises.
Campos comuns e acionamento
| Campo | Tipo | Descrição |
|---|---|---|
id | string | Identificador incluído em CallAction |
type | Consulte os tipos de exibição | Modo de exibição. O padrão é overlay |
trigger.percentages | number[] | Percentuais de reprodução, como [50, 100] |
trigger.timePoints | number[] | Pontos no tempo em segundos, como [60, 600] |
trigger.pause | boolean | Exibe a CTA quando a reprodução é pausada |
Defina pelo menos um acionador: percentages, timePoints ou pause. Você pode combiná-los.
overlay, popup e panel
Campos comuns:
| Campo | Tipo | Descrição |
|---|---|---|
title | string | Título |
description | string | Descrição |
skippable | boolean | Permite que o usuário feche ou pule a CTA |
button.text | string | Texto do botão |
button.style | CSSProperties | Estilos do botão |
button.url | string | URL aberta ao clicar |
Campos adicionais:
| Campo | Tipos | Descrição |
|---|---|---|
link | overlay | Segundo link: { text, url, style? } |
poster | overlay | Pôster ou imagem na tela da CTA |
position | popup, panel | 'top' | 'bottom' |
Exemplo de popup exibido ao pausar:
{
id: 'pause-offer',
type: 'popup',
position: 'bottom',
title: 'Continuar depois?',
button: { text: 'Salvar progresso', url: 'https://example.com/save' },
skippable: true,
trigger: { pause: true },
}
banner
| Campo | Tipo | Descrição |
|---|---|---|
title, description, skippable, button | Igual a overlay | Campos principais |
url | string | Link do banner |
image | string | objeto de pôster | Imagem |
position | string | 'top-left' | 'top-center' | 'top-right' | 'bottom-left' | 'bottom-center' | 'bottom-right' |
variant | 'vertical' | 'horizontal' | Layout |
style | CSSProperties | Estilos do contêiner |
buttons
Este tipo exibe botões sobre o quadro. Por padrão, a reprodução continua. Defina pause no item para pausá-la.
{
id: 'hotspots',
type: 'buttons',
trigger: { timePoints: [30] },
list: [
{
id: 'go-chapter-2',
title: 'Capítulo 2',
position: { x: 0.2, y: 0.5 }, // Em relação ao quadro, de 0 a 1
goTo: { playlistItem: 0, time: 120 },
},
],
}
| Campo | Descrição |
|---|---|
list[].id | ID do botão |
list[].title | Texto |
list[].position | { x, y } em relação ao tamanho do quadro |
list[].goTo | number para o tempo em segundos ou { playlistItem, time? } |
list[].style | Estilos do botão |
pause | Pausa a reprodução quando a CTA aparece |
leadgen
Este tipo coleta dados do usuário. O player envia os campos para sua url por meio de uma solicitação POST.
| Campo | Tipo | Descrição |
|---|---|---|
url | string | Endpoint de envio do formulário |
fields | Array<'name' | 'email' | 'company'> | Campos que serão exibidos |
privacyPolicyUrl | string | Link para a política de privacidade |
lifetime | number | Período durante o qual este id é considerado enviado. O padrão é 30 dias |
skippable | boolean | Permite que o usuário feche o formulário sem enviá-lo |
trigger | — | Igual aos outros tipos de CTA |
{
id: 'lead-end',
type: 'leadgen',
url: 'https://example.com/api/leads',
fields: ['name', 'email'],
privacyPolicyUrl: 'https://example.com/privacy',
skippable: true,
trigger: { percentages: [100] },
}
Próximos passos
- Controlar o player
— use
closeCTAeCallAction - Publicidade — configure VAST e IMA pela API
- Playlists
- CTA em modelos de player