Em application.js, crie a classe principal do app HbbTV que interage com a transmissão HbbTV. Essa classe interage com broadcastAppManager e broadcastContainer. Para ver um exemplo de uma classe semelhante, consulte
Como processar o objeto de áudio/vídeo de transmissão.
Modifique esse app HbbTV básico para solicitar um stream do IMA e responder a eventos de intervalo de anúncios.
Inicializar o aplicativo
Inicialize a classe do aplicativo em application.js, configure
broadcastAppManager, e broadcastContainer seguindo o tutorial,
Como processar o objeto de áudio/vídeo de transmissão.
Depois, inicie novos objetos VideoPlayer e AdManager.
Fazer uma solicitação de stream do IMA
No método HbbTVApp.onPlayStateChangeEvent(), faça uma solicitação de stream em resposta à mudança do app para PRESENTING_PLAYSTATE. Essa abordagem prepara o app para carregar o manifesto do conjunto de anúncios em resposta a um evento AD_BREAK_EVENT_ANNOUNCE.
Se o dispositivo não emitir corretamente o evento PlayStateChange do contêiner de transmissão, use a função setInterval() para verificar as mudanças de estado de reprodução:
setInterval(function() {
if (!subscribedToStreamEvents &&
this.broadcastContainer.playState == PRESENTING_PLAYSTATE) {
subscribedToStreamEvents = true;
this.broadcastContainer.addStreamEventListener(
STREAM_EVENT_URL, 'eventItem', function(event) {
this.onStreamEvent(event);
}.bind(this));
debugView.log('Subscribing to stream events');
this.adManager.requestStream(NETWORK_CODE, CUSTOM_ASSET_KEY);
}
…
Detectar eventos de stream HbbTV
Crie o método HbbTVApp.onStreamEvent() para detectar os eventos de intervalo de anúncios adBreakAnnounce, adBreakStart e adBreakEnd:
Processar os eventos de stream HbbTV
Para processar os eventos de stream HbbTV, siga estas etapas:
Para carregar o conjunto de anúncios manifesto em resposta ao evento
adBreakAnnounce, crie o métodoHbbTVApp.onAdBreakAnnounce():Para mudar para a reprodução de stream de anúncios durante os intervalos de anúncios, crie o método
HbbTVApp.onAdBreakStart():Para retornar à transmissão de conteúdo, crie o método
HbbTVApp.onAdBreakEnd():
Agora você está solicitando e exibindo conjuntos de anúncios do SDK do IMA no seu app HbbTV. Para comparar seu app com um app de exemplo concluído, consulte o exemplo do IMA HbbTV no GitHub (link em inglês).