Playlists de anúncios automáticas
Mantenha tudo organizado com as coleções
Salve e categorize o conteúdo com base nas suas preferências.
Selecione a plataforma:
HTML5
Android
iOS
tvOS
O SDK do IMA para Android é compatível com playlists de anúncios totalmente automatizadas. Esse recurso
insere intervalos de anúncio no conteúdo conforme especificado no
Google Ad Manager
ao veicular seus anúncios. Ele também simplifica muito o código do player de vídeo
necessário para oferecer suporte a intervalos de anúncio, incluindo anúncios precedentes, intermediários e finais.
- Ao fazer o tráfego dos anúncios no Ad Manager, é possível especificar várias regras, como "sempre veicular um intervalo de anúncio no início do conteúdo" ou "veicular um intervalo de anúncio de um minuto a cada 30 minutos de conteúdo".
- Quando os anúncios são solicitados, o servidor de anúncios pode retornar uma playlist de anúncios. O SDK
processa a playlist e programa automaticamente os intervalos de publicidade especificados.
- Como o Android usa o mesmo player de vídeo para a reprodução de anúncios e conteúdo,
se você planeja implementar regras de anúncios, salve a posição do cursor de reprodução do
conteúdo quando um anúncio começar e procure essa posição quando o anúncio terminar.
Implemente a interface
VideoAdPlayer
no seu player de vídeo. Isso garante que os intervalos de anúncios sejam inseridos automaticamente nos horários especificados no Ad Manager.
private boolean playingContent = true;
private int contentPosition = -1;
private List callbacks =
new ArrayList();
@Override
public void addCallback(VideoAdPlayerCallback callback) {
callbacks.add(callback);
}
@Override
public void removeCallback(VideoAdPlayerCallback callback) {
callbacks.remove(callback);
}
public void loadContent() {
playingContent = true;
load(CONTENT_URL);
}
@Override
public void loadAd(String mediaUrl) {
playingContent = false;
load(mediaUrl);
}
public void pauseContent() {
savePosition();
pause();
}
@Override
public void pauseAd() {
pause();
}
private void pause() {
myVideoView.pause();
for (VideoAdPlayerCallback callback : callbacks) {
callback.onPause();
}
}
public void resumeContent() {
loadContent();
if (contentPosition > 0) {
restorePosition();
}
resume();
}
@Override
public void resumeAd() {
resume();
}
private void resume() {
myVideoView.start();
for (VideoAdPlayerCallback callback : callbacks) {
callback.onResume();
}
}
public void savePosition() {
contentPosition = myVideoView.getCurrentPosition();
}
public void restorePosition() {
myVideoView.seekTo(contentPosition);
}
- Os eventos
CONTENT_PAUSE_REQUESTED
e CONTENT_RESUME_REQUESTED
são usados para pausar e retomar o conteúdo quando os intervalos de anúncio são veiculados. Consulte a documentação da API relevante para mais detalhes sobre esses eventos.
Observação:quando o conteúdo terminar de ser reproduzido ou
o usuário interromper a reprodução, chame
AdsLoader.contentComplete
para sinalizar ao SDK que o conteúdo foi concluído. Em seguida, o SDK
reproduz o bloco de anúncios pós-vídeo, se um tiver sido programado. O evento ALL_ADS_COMPLETED
é gerado quando TODAS as pausas para anúncio são reproduzidas. Além disso, o rastreamento de conteúdo começa quando
init()
é chamado, e você sempre precisa chamar init()
antes de reproduzir conteúdo.
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2025-09-06 UTC.
[null,null,["Última atualização 2025-09-06 UTC."],[[["\u003cp\u003eIMA Android SDK simplifies video ad integration by automating ad playlist insertion and playback, including pre-rolls, mid-rolls, and post-rolls.\u003c/p\u003e\n"],["\u003cp\u003eAd breaks are scheduled based on rules defined in Google Ad Manager, enabling features like pre-roll ads and periodic mid-rolls.\u003c/p\u003e\n"],["\u003cp\u003eDevelopers must implement the \u003ccode\u003eVideoAdPlayer\u003c/code\u003e interface and manage content position during ad breaks for seamless transitions between ads and content.\u003c/p\u003e\n"],["\u003cp\u003eThe SDK provides events (\u003ccode\u003eCONTENT_PAUSE_REQUESTED\u003c/code\u003e, \u003ccode\u003eCONTENT_RESUME_REQUESTED\u003c/code\u003e) to handle content playback during ad breaks and signals ad completion with \u003ccode\u003eALL_ADS_COMPLETED\u003c/code\u003e.\u003c/p\u003e\n"],["\u003cp\u003eContent tracking begins with \u003ccode\u003einit()\u003c/code\u003e, which should be called before content playback, and \u003ccode\u003econtentComplete()\u003c/code\u003e should be called after content ends to trigger post-rolls.\u003c/p\u003e\n"]]],[],null,["Select platform: [HTML5](/interactive-media-ads/docs/sdks/html5/client-side/ad-rules \"View this page for the HTML5 platform docs.\") [Android](/interactive-media-ads/docs/sdks/android/client-side/ad-rules \"View this page for the Android platform docs.\") [iOS](/interactive-media-ads/docs/sdks/ios/client-side/ad-rules \"View this page for the iOS platform docs.\") [tvOS](/interactive-media-ads/docs/sdks/tvos/client-side/ad-rules \"View this page for the tvOS platform docs.\")\n\nIMA Android SDK supports fully automated ad playlists. This feature\ninserts ad breaks into the content as specified in\n[Google Ad Manager](//admanager.google.com/)\nwhen trafficking your ads. It also greatly simplifies the video player code\nnecessary to support ad breaks, including pre-rolls, mid-rolls and post-rolls.\n\n- When trafficking the ads in Ad Manager, it is possible to specify various ad rules like \"always play ad break at the beginning of the content\" or \"play a one minute ad break every 30 minutes of content\".\n- When ads are requested, the ad server can return an ad playlist. The SDK processes the playlist and automatically schedules the ad breaks that have been specified.\n- Since Android uses the same video player for both ad and content playback, if you plan to implement ad rules, you must save the playhead position of your content when an ad starts, then seek to that position when the ad finishes. Be sure to implement the `VideoAdPlayer` interface in your video player. This ensures that ad breaks are automatically inserted at the times specified in Ad Manager. \n\n ```gdscript\n private boolean playingContent = true;\n private int contentPosition = -1;\n private List callbacks =\n new ArrayList();\n\n @Override\n public void addCallback(VideoAdPlayerCallback callback) {\n callbacks.add(callback);\n }\n\n @Override\n public void removeCallback(VideoAdPlayerCallback callback) {\n callbacks.remove(callback);\n }\n\n public void loadContent() {\n playingContent = true;\n load(CONTENT_URL);\n }\n\n @Override\n public void loadAd(String mediaUrl) {\n playingContent = false;\n load(mediaUrl);\n }\n\n public void pauseContent() {\n savePosition();\n pause();\n }\n\n @Override\n public void pauseAd() {\n pause();\n }\n\n private void pause() {\n myVideoView.pause();\n for (VideoAdPlayerCallback callback : callbacks) {\n callback.onPause();\n }\n }\n\n public void resumeContent() {\n loadContent();\n if (contentPosition \u003e 0) {\n restorePosition();\n }\n resume();\n }\n\n @Override\n public void resumeAd() {\n resume();\n }\n\n private void resume() {\n myVideoView.start();\n for (VideoAdPlayerCallback callback : callbacks) {\n callback.onResume();\n }\n }\n\n public void savePosition() {\n contentPosition = myVideoView.getCurrentPosition();\n }\n\n public void restorePosition() {\n myVideoView.seekTo(contentPosition);\n }\n ```\n- The `CONTENT_PAUSE_REQUESTED` and `CONTENT_RESUME_REQUESTED` events are used to pause and resume the content when ad breaks are played. Refer to the relevant [API documentation](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdEvent.AdEventType) for details on these events.\n\n**Note:** When the content has finished playing or\nthe user has stopped playback, be sure to call\n[AdsLoader.contentComplete](/interactive-media-ads/docs/sdks/android/client-side/api/reference/com/google/ads/interactivemedia/v3/api/AdsLoader#contentComplete())\nin order to signal to the SDK that the content is done. The SDK\nthen plays the post-roll ad break, if one has been scheduled. The\n`ALL_ADS_COMPLETED` event is raised when ALL ad breaks\nhave been played. In addition, note that content tracking begins when\n`init()` is called and you should always call `init()`\nbefore playing content."]]