Para analizar nuestros productos y proporcionar comentarios sobre ellos, únete al canal oficial de Ad Manager en Discord, en el servidor Google Advertising and Measurement Community.
Organiza tus páginas con colecciones
Guarda y categoriza el contenido según tus preferencias.
Como publicador del video, recomendamos que evites que tus usuarios
que buscan más allá de los anuncios durante el video. Cuando un usuario
busca más allá de una pausa publicitaria
puedes regresar al inicio de la pausa
y luego regresar
a su ubicación de búsqueda
después de que se complete la pausa publicitaria. Esta
se llama "restablecimiento automático".
Como ejemplo, consulta el siguiente diagrama. Si el usuario está mirando un video
y decide saltar de la marca de 5 a la de 15 minutos.
Sin embargo, hay una pausa publicitaria a los 10 minutos que quieres
que lo vean antes de poder ver el contenido después:
Para mostrar esta pausa publicitaria, sigue estos pasos:
Verifica si el usuario realizó un salto que pasó una pausa publicitaria sin mirar.
y, si es así, lleva al usuario
a la pausa publicitaria.
Una vez finalizada la pausa publicitaria, regresa a su búsqueda original.
En forma de diagrama, se vería así:
Aquí te mostramos cómo implementar este flujo de trabajo en el SDK de IMA de DAI, como se hace en
AdvancedExample.
Cómo evitar que una búsqueda deje una pausa publicitaria sin mirar
Verificar si el usuario realizó un salto que pasó una pausa publicitaria sin mirar
y, si es así, lleva al usuario
a la pausa publicitaria.
En el SDK de Android, usa el objeto PlayerControl para detectar la búsqueda.
Cuando el usuario realice la búsqueda, activa el método onSeek() de la
SampleAdsWrapper implementado por SampleHlsVideoPlayerCallback.
Ese método (presentado a continuación) comprueba el punto de inserción antes del
tiempo de búsqueda. Si todavía no se reproduce, busca el inicio de esa pausa publicitaria.
en lugar de su punto de búsqueda inicial deseado, y guarda ese salto deseado
punto en snapBackTime.
Ahora, cuando recibas un evento onAdBreakEnded, comprueba si snapBackTime
esté establecida. Si es así, lleva al usuario a ese punto en la transmisión, ya que el
la pausa que acaban de ver fue el resultado de Snapback:
[[["Fácil de comprender","easyToUnderstand","thumb-up"],["Resolvió mi problema","solvedMyProblem","thumb-up"],["Otro","otherUp","thumb-up"]],[["Falta la información que necesito","missingTheInformationINeed","thumb-down"],["Muy complicado o demasiados pasos","tooComplicatedTooManySteps","thumb-down"],["Desactualizado","outOfDate","thumb-down"],["Problema de traducción","translationIssue","thumb-down"],["Problema con las muestras o los códigos","samplesCodeIssue","thumb-down"],["Otro","otherDown","thumb-down"]],["Última actualización: 2025-08-21 (UTC)"],[[["\u003cp\u003eSnapback prevents viewers from skipping mid-roll ads by redirecting them to the ad and then returning them to their intended location.\u003c/p\u003e\n"],["\u003cp\u003eThis feature ensures ad completion before viewers proceed to the content they seek.\u003c/p\u003e\n"],["\u003cp\u003eSnapback functionality is implemented through the IMA DAI SDK, as demonstrated in the AdvancedExample.\u003c/p\u003e\n"],["\u003cp\u003eThe process involves identifying unwatched ad breaks and redirecting the viewer and then resuming playback at the target point after the ad.\u003c/p\u003e\n"]]],[],null,["# Return to a skipped ad break\n\nAs a video publisher, you may want to prevent your viewers from\nseeking past your mid-roll ads. When a user seeks past an ad break,\nyou can take them back to the start of that ad break, and then return\nthem to their seek location after that ad break has completed. This\nfeature is called \"snapback.\"\n\nAs an example, see the diagram below. Your viewer is watching a video,\nand decides to seek from the 5-minute mark to the 15-minute mark.\nThere is, however, an ad break at the 10-minute mark that you want\nthem to watch before they can watch the content after it:\n\nIn order to show this ad break, take the following steps:\n\n1. Check if the user ran a seek that jumped past an unwatched ad break, and if so, take them back to the ad break.\n2. After the ad break completes, return them to their original seek.\n\nIn diagram form, that looks like this:\n\nHere's how to implement this workflow in the IMA DAI SDK, as done in\n[AdvancedExample](//github.com/googleads/googleads-ima-android-dai).\n\nPrevent a seek from leaving an ad break unwatched\n-------------------------------------------------\n\nCheck if the user has run a seek that went past an unwatched ad break,\nand if so, take them back to the ad break.\nIn the Android SDK, use the `PlayerControl` object to detect seeking.\nWhen the user seeks, trigger the `onSeek()` method of the\n`SampleHlsVideoPlayerCallback` implemented by `SampleAdsWrapper`.\nThat method (presented below) checks the cue point prior to the user's\nseek time. If it is unplayed, seek to the beginning of that ad break\ninstead of their initial desired seek point, and save that desired seek\npoint in `snapBackTime`. \n\n @Override\n public void onSeek(int timeMillis) {\n double timeToSeek = timeMillis;\n if (streamManager != null) {\n CuePoint cuePoint =\n streamManager.getPreviousCuePointForStreamTime(timeMillis / 1000);\n if (cuePoint != null && !cuePoint.isPlayed()) {\n snapBackTime = timeToSeek / 1000.0; // Update snapback time.\n // Missed cue point, so snap back to the beginning of cue point.\n timeToSeek = cuePoint.getStartTime() * 1000;\n videoPlayer.seek(Math.round(timeToSeek));\n videoPlayer.setCanSeek(false);\n return;\n }\n }\n videoPlayer.seek(Math.round(timeToSeek));\n }\n\nPut the user back to their original seek\n----------------------------------------\n\nNow when you get an `onAdBreakEnded` event, check to see if `snapBackTime`\nis set. If so, take the user to that point in the stream, because the ad\nbreak they just watched was the result of snapback: \n\n @Override\n public void onAdBreakEnded() {\n // Re-enable player controls.\n videoPlayer.setCanSeek(true);\n videoPlayer.enableControls(true);\n if (snapBackTime \u003e 0) {\n videoPlayer.seek(Math.round(snapBackTime * 1000));\n }\n snapBackTime = 0;\n }"]]