Wenn Sie sich mit anderen Nutzern über unsere Produkte austauschen und Feedback geben möchten, treten Sie dem offiziellen Ad Manager-Discord-Kanal auf dem Server der Google Advertising and Measurement Community bei.
Zu einer übersprungenen Werbeunterbrechung zurückkehren
Mit Sammlungen den Überblick behalten
Sie können Inhalte basierend auf Ihren Einstellungen speichern und kategorisieren.
Als Video-Publisher möchten Sie
vielleicht Ihre Zuschauer daran hindern,
die über Mid-Roll-Anzeigen hinausgehen. Wenn ein Nutzer nach einer Werbeunterbrechung spult,
können Sie sie an den Beginn der Werbeunterbrechung
nach Abschluss der Werbeunterbrechung zur Suchposition. Dieses
wird als „Snapback“ bezeichnet.
Ein Beispiel finden Sie im Diagramm unten. Der Zuschauer sieht sich ein Video an.
und beschließt, von der 5-Minuten- auf die 15-Minuten-Marke zu springen.
Nach 10 Minuten wird jedoch eine Werbeunterbrechung eingefügt,
bevor sie sich die Inhalte danach ansehen können:
So kannst du diese Werbeunterbrechung anzeigen lassen:
Prüfen, ob der Nutzer eine Suche ausgeführt hat, die über eine nicht angesehene Werbeunterbrechung hinausgesprungen ist,
Falls ja, leite sie zurück zur Werbeunterbrechung.
Nach Abschluss der Werbeunterbrechung wird die ursprüngliche Suche wieder aktiviert.
In Diagrammform sieht das so aus:
Im Folgenden wird beschrieben, wie Sie diesen Workflow im IMA DAI SDK implementieren,
AdvancedExample verwenden.
Bei einem Suchvorgang wird eine Werbeunterbrechung nicht angesehen
Prüfen Sie, ob der Nutzer eine Suche ausgeführt hat, die über eine nicht angesehene Werbeunterbrechung hinausgegangen ist.
Falls ja, leite sie zurück zur Werbeunterbrechung.
Verwenden Sie im Android SDK das Objekt PlayerControl, um die Suche zu erkennen.
Wenn der Nutzer sucht, lösen Sie die Methode onSeek() der
SampleHlsVideoPlayerCallback wurde von SampleAdsWrapper implementiert.
Diese Methode (siehe unten) prüft den Cue-Punkt vor dem Aufruf
suchen. Wenn es noch nicht wiedergegeben wird, zum Anfang der Werbeunterbrechung springen
anstelle des ursprünglichen gewünschten Suchpunkts und speichern Sie diesen
Punkt in snapBackTime.
Den Nutzer zu seiner ursprünglichen Suche zurückversetzen
Wenn Sie jetzt ein onAdBreakEnded-Ereignis erhalten, prüfen Sie, ob snapBackTime
festgelegt ist. In diesem Fall sollten Sie den Nutzer
zu dieser Stelle im Stream weiterleiten,
Pause, die sie sich gerade angesehen haben, war das Ergebnis eines Snapbacks:
[[["Leicht verständlich","easyToUnderstand","thumb-up"],["Mein Problem wurde gelöst","solvedMyProblem","thumb-up"],["Sonstiges","otherUp","thumb-up"]],[["Benötigte Informationen nicht gefunden","missingTheInformationINeed","thumb-down"],["Zu umständlich/zu viele Schritte","tooComplicatedTooManySteps","thumb-down"],["Nicht mehr aktuell","outOfDate","thumb-down"],["Problem mit der Übersetzung","translationIssue","thumb-down"],["Problem mit Beispielen/Code","samplesCodeIssue","thumb-down"],["Sonstiges","otherDown","thumb-down"]],["Zuletzt aktualisiert: 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 }"]]