Lesezeichen für Werbestreams speichern und laden

Plattform auswählen:HTML5 Android iOS tvOS Roku>

In dieser Anleitung wird beschrieben, wie Sie die Lesezeichenfunktion mit dem IMA DAI SDK implementieren, wenn Sie die dynamische Anzeigenbereitstellung für Video-on-Demand-Streams verwenden. Dabei wird davon ausgegangen, dass eine funktionierende IMA DAI-Implementierung vorhanden ist, wie sie im Leitfaden für den Einstieg beschrieben wird.

Was ist Bookmarking?

Lesezeichen: Möglichkeit, eine bestimmte Stelle im Contentstream zu speichern und dorthin zurückzukehren. Ein Beispiel: Ein Nutzer sieht sich den Content fünf Minuten lang an, schließt den Videostream und kehrt dann dorthin zurück. Mithilfe der Lesezeichenfunktion wird die Stelle gespeichert, an der der Nutzer den Stream geschlossen hat, damit er dorthin zurückkehren und fortfahren kann. Mit dieser Funktion bieten Sie dem Betrachter also eine nahtlose Erfahrung.

So funktioniert die Lesezeichenfunktion bei der dynamischen Anzeigenbereitstellung

Wenn Sie einen DAI-Stream mit einem Lesezeichen versehen, müssen Sie die Stream-ID und die Uhrzeit aufzeichnen, zu der der Nutzer das Video verlässt. Wenn der Nutzer zurückkehrt, fordern Sie den Stream noch einmal an und springen Sie zur gespeicherten Zeit. Da jede Instanz des angeforderten Streams Werbeunterbrechungen mit unterschiedlichen Längen haben kann, reicht es nicht aus, die Streamzeit zu speichern. Sie möchten aber eigentlich an der gleichen Inhaltszeit fortfahren.

Conversion-Methoden

Das IMA DAI SDK bietet zwei Methoden zum Anfordern der Inhaltszeit für eine bestimmte Streamzeit und der Streamzeit für eine bestimmte Inhaltszeit. Mit diesen Konvertierungsmethoden können Sie die Lesezeichenzeit speichern und dann in der neuen Instanz des Streams zur entsprechenden Streamzeit springen. Hier finden Sie eine Anleitung und einen Link zu einer Beispiel-App, die eine funktionierende Lesezeichenimplementierung enthält.

Lesezeichen speichern

Speichern Sie ein Lesezeichen, wenn die Aktivität pausiert ist.

- (void)viewWillAppear:(BOOL)animated {
  ...
  self.bookmarkTime =
      [self.streamManager contentTimeForStreamTime:CMTimeGetSeconds(
          self.playerViewController.player.currentTime)];
}

Lesezeichen werden geladen

Laden Sie das Lesezeichen, wenn Sie einen Stream noch einmal anfordern. Dies ist Teil der Implementierung der VideoStreamPlayer-Schnittstelle.

- (void)streamManagerIsPlaybackReady:(IMAStreamManager *)streamManager {
...
  if (self.bookmarkTime != 0) {
    NSTimeInterval streamTime = [self.streamManager
        streamTimeForContentTime:self.bookmarkTime];
    [self.playerViewController.player
        seekToTime:CMTimeMakeWithSeconds(streamTime, NSEC_PER_SEC)];
  }
}

Beispiel-App

Beispiel-App