Revenir à une coupure publicitaire ignorée

Sélectionnez une plate-forme : HTML5 Android iOS tvOS Roku

En tant qu'éditeur de vidéos, vous pouvez empêcher vos spectateurs de passer les annonces mid-roll. Lorsqu'un utilisateur passe une coupure publicitaire en sélectionnant un point précis de la vidéo, vous pouvez le ramener au début de cette coupure, puis le renvoyer à cet emplacement, une fois la coupure publicitaire terminée. Cette fonctionnalité est appelée "retour rapide".

Par exemple, consultez le diagramme ci-dessous. Votre spectateur regarde une vidéo et décide de passer de la 5e à la 15e minute. Toutefois, il y a une coupure publicitaire à 10 minutes que vous souhaitez qu'ils regardent avant de pouvoir regarder le contenu qui suit :

Pour afficher cet emplacement publicitaire, procédez comme suit :

  1. Vérifiez si l'utilisateur a effectué une recherche qui a sauté une coupure publicitaire non regardée et, le cas échéant, ramenez-le à la coupure publicitaire.
  2. Une fois la coupure publicitaire terminée, renvoyez-le à l'emplacement de la vidéo qu'il avait sélectionné.

Sous forme de diagramme, cela se présente comme suit :

Voici comment implémenter snapback à l'aide du SDK IMA DAI, comme illustré dans notre exemple avancé.

Empêcher une avance rapide de laisser une coupure publicitaire non regardée

Vérifiez si l'utilisateur a effectué une recherche qui a dépassé une coupure publicitaire non regardée et, le cas échéant, ramenez-le à la coupure publicitaire. L'exemple avancé Roku s'appuie sur les pressions sur les boutons de la télécommande pour que l'utilisateur puisse effectuer une recherche. Chaque fois que l'utilisateur appuie sur le bouton "Suivant", il avance dans le flux d'un certain nombre de secondes. La même méthode qui gère ce saut vérifie également si le saut dépasse ou atteint une coupure publicitaire. Si c'est le cas, elle redirige l'utilisateur vers le début de cette coupure publicitaire :

Function handleFastForward(player as Object, streamManager as Object, updatedTime As Integer)
  previousAd = streamManager.getPreviousCuePoint(updatedTime)
  If previousAd = Invalid or previousAd.hasPlayed
    player.seek(updatedTime * 1000)
  Else If previousAd.start > player.currentTime
    player.isSnapback = True
    player.timeAfterSnapback = updatedTime
    player.seek(previousAd.start * 1000 + 1000)
  End If
End Function

Ramener l'utilisateur à la position de recherche d'origine

Dans votre gestionnaire adBreakEnded, vérifiez si l'emplacement publicitaire précédent a été lu à la suite d'un retour en arrière. Si c'est le cas, ramenez l'utilisateur à l'endroit où il essayait de se rendre initialement (à condition qu'il ne s'agisse pas du milieu de la série d'annonces qui vient d'être diffusée) :

player.adBreakEnded = Function(adBreakInfo as Object)
  If m.isSnapback
    m.seek(m.timeAfterSnapback * 1000)
    m.isSnapback = False
  End If
End Function