Show Menu
TEMAS×

Video Analytics

Aquí tiene alguna información sobre la medición de vídeo en iOS mediante hitos de vídeo.
Durante la reproducción de vídeo, se envían llamadas frecuentes de monitoreo del funcionamiento a este servicio para medir el tiempo de reproducción. Estas llamadas de monitoreo del funcionamiento se envían cada diez segundos, lo que crea métricas de participación de vídeo granulares e informes de visitas de vídeo más precisos. Para obtener más información, consulte Medición de audio y vídeo en Adobe Analytics .
En general, el proceso para medir vídeos es muy similar en todas las plataformas. Este contenido ofrece una visión general básica de las tareas del desarrollador, con ejemplos de código.

Asignación de eventos del reproductor a las variables de Analytics

La siguiente tabla indica los datos multimedia que se envían a Analytics. Utilice reglas de procesamiento para asignar los datos de contexto a una variable de Analytics.
  • a.media.name
    (Obligatoria) Recopila el nombre del vídeo, tal como se especifica en la implementación, cuando un visitante ve el vídeo de alguna manera. Puede agregar clasificaciones para esta variable.
    (Opcional) La variable Insight personalizada proporciona información de rutas de vídeo.
    • Tipo de variable: eVar
    • Caducidad predeterminada: visita
    • Insight personalizada (s.prop, se utiliza para rutas de vídeo)
  • a.media.name
    (Opcional) Proporciona información sobre la ruta del vídeo. El servicio de atención al cliente debe habilitar las rutas para esta variable.
    • Tipo de variable: Custom Insight (s.prop)
    • Tipo de evento: Insight personalizada (s.prop)
  • a.media.segment
    (Obligatoria) Recopila datos de segmento del vídeo, incluido el nombre del segmento y el orden en que aparece el segmento en el vídeo. Esta variable se completa al habilitar la variable segmentByMilestones cuando se rastrean eventos de reproductor automáticamente, o al establecer un nombre de segmento personalizado cuando se rastrean eventos de reproductor manualmente. Por ejemplo, cuando un visitante ve el primer segmento de un vídeo, SiteCatalyst podría recopilar lo siguiente en la eVar de Segments 1:M:0-25 .
    El método personalizado de recopilación de datos de vídeo obtiene datos en los siguientes puntos:
    • inicio del vídeo (reproducción)
    • comienzo del segmento
    • fin del vídeo (parada) Analytics cuenta la primera vista de segmento en el inicio del segmento, cuando el visitante comienza a verlo. El segmento siguiente se visualiza cuando empieza el segmento.
    • Tipo de variable: eVar
    • Caducidad predeterminada: vista de página
  • a.contentType
    Recopila datos sobre el tipo de contenido que un visitante ve. Se asigna un tipo de contenido video a las visitas enviadas por la medición de vídeo. Esta variable no necesita estar reservada exclusivamente para el seguimiento de vídeo. El hecho de disponer de otro tipo de contenido de informe de contenido mediante el uso de esta misma variable le permite analizar la distribución de los visitantes entre los distintos tipos de contenido. Por ejemplo, puede etiquetar otros tipos de contenido usando valores como “artículo” o “página de producto” mediante esta variable. Desde la perspectiva de medición de vídeo, Tipo de contenido le permite identificar visitantes de vídeo y calcular tasas de conversión de vídeo.
    • Tipo de variable: eVar
    • Caducidad predeterminada: vista de página
  • a.media.timePlayed
    Cuenta el tiempo, en segundos, transcurrido en ver un vídeo desde el último proceso de recopilación de datos (solicitud de imagen).
    • Tipo de variable: Event
    • Tipo: contador
  • a.media.view
    Indica que un visitante ha visto alguna parte de un vídeo. Sin embargo, no proporciona información sobre qué parte del vídeo ha visualizado el visitante ni sobre cuánto tiempo lo ha visualizado.
    • Tipo de variable: Event
    • Tipo: contador
  • a.media.segmentView
    Indica que un visitante ha visto alguna parte de un segmento de vídeo. Sin embargo, no proporciona información sobre qué parte del vídeo ha visualizado el visitante ni sobre cuánto tiempo lo ha visualizado.
    • Tipo de variable: Event
    • Tipo: contador
  • a.media.complete
    Indica que un usuario ha visto un vídeo completo. De forma predeterminada, el evento completo se mide 1 segundo antes del final del vídeo. Durante la implementación, puede especificar cuántos segundos desde el final de vídeo quisiera considerar como una vista completa. Para vídeo en directo y otras transmisiones sin un fin definido, puede especificar un punto personalizado para medir las visualizaciones completas; por ejemplo, después de un tiempo de visualización especificado.
    • Tipo de variable: Event
    • Tipo: contador

Configuración de medios

Configure un objeto ADBMediaSettings con los ajustes que quiera usar para realizar seguimiento de vídeo:
ADBMediaSettings *mediaSettings = [ADBMobile mediaCreateSettingsWithName:MEDIA_NAME  
length:MEDIA_LENGTH playerName:PLAYER_NAME playerID:PLAYER_ID]; 
 
// milestone tracking. Use either standard milestones (percentage of total length) 
// or offset milestones (seconds elapsed from the beginning of the video) 
mediaSettings.milestones = @"25,50,75"; 
mediaSettings.segmentByMilestones = YES; 
 
mediaSettings.offsetMilestones = @"60,120"; 
mediaSettings.segmentByOffsetMilestones = YES; 
 
// seconds tracking - sends a hit every x seconds 
mediaSettings.trackSeconds = 30; // sends a hit every 30 seconds 
 
// open the video 
[ADBMobile mediaOpenWithSettings:mediaSettings callback:nil]; 
 
// You are now ready to play the video, for example, [movieViewController.moviePlayer play]; 
// Note the mediaPlay, mediaStop and mediaClose methods are called in the 
// event handlers described in the next section

Seguimiento de eventos del reproductor

Para medir la reproducción de vídeo, es preciso realizar llamadas a los métodos mediaPlay , mediaStop , y mediaClose en los momentos apropiados. Por ejemplo, cuando el reproductor se pone en pausa se emplea mediaStop . mediaPlay se utiliza cuando la reproducción comienza o se reanuda.
El siguiente ejemplo demuestra el uso de notificaciones de configuración y llamadas a métodos de medios para medir vídeos:
// configure notifications for when the video is finished, and when the 
media playback state changes 
 
- (void) configureNotifications:(MPMoviePlayerController *) movieController { 
 [[NSNotificationCenter defaultCenter] 
  addObserver: self 
  selector: @selector(mediaFinishedCallback:) 
  name: MPMoviePlayerPlaybackDidFinishNotification 
  object: movieController]; 
  
 [[NSNotificationCenter defaultCenter] 
  addObserver: self 
  selector: @selector(mediaPlaybackChangedCallback:) 
  name: MPMoviePlayerPlaybackStateDidChangeNotification 
  object: movieController]; 
} 
 
// define your notification callbacks. 
 
- (void) mediaFinishedCallback: (NSNotification*) notification { [ADBMobile mediaClose:MEDIA_NAME];} 
 
- (void) mediaPlaybackChangedCallback: (NSNotification*) notification { 
 MPMoviePlayerController *mediaController = notification.object; 
 if (mediaController.playbackState == MPMoviePlaybackStatePlaying) { 
  [ADBMobile mediaPlay:MEDIA_NAME offset: isnan(mediaController.currentPlaybackTime) ? 0.0 : mediaController.currentPlaybackTime]; 
 } 
 else if (mediaController.playbackState == MPMoviePlaybackStateSeekingBackward) { 
  [ADBMobile mediaStop:MEDIA_NAME offset:mediaController.currentPlaybackTime]; 
 } 
 else if (mediaController.playbackState == MPMoviePlaybackStateSeekingForward) { 
  [ADBMobile mediaStop:MEDIA_NAME offset:mediaController.currentPlaybackTime]; 
 } 
 else if (mediaController.playbackState == MPMoviePlaybackStatePaused) { 
  [ADBMobile mediaStop:MEDIA_NAME offset:mediaController.currentPlaybackTime]; 
 } 
 else if (mediaController.playbackState == MPMoviePlaybackStateInterrupted) { 
  [ADBMobile mediaStop:MEDIA_NAME offset:mediaController.currentPlaybackTime]; 
 } 
 else if (mediaController.playbackState == MPMoviePlaybackStateStopped) { 
  [ADBMobile mediaStop:MEDIA_NAME offset:mediaController.currentPlaybackTime]; 
 } 
}

Clases

Clase: ADBMediaSettings

bool segmentByMilestones; 
bool segmentByOffsetMilestones; 
double length; 
NSString *channel; 
NSString *name; 
NSString *playerName; 
NSString *playerID; 
NSString *milestones; 
NSString *offsetMilestones; 
NSUInteger trackSeconds; 
NSUInteger completeCloseOffsetThreshold; 
// settings used for ad tracking. For  
bool isMediaAd; 
double parentPodPosition; 
NSString *CPM; 
NSString *parentName; 
NSString *parentPod; 

Clase: ADBMediaState

bool ad; 
bool clicked; 
bool complete; 
bool eventFirstTime; 
double length; 
double offset; 
double percent; 
double segmentLength; 
double timePlayed; 
double timePlayedSinceTrack; 
double timestamp; 
NSDate *openTime  
NSString *name 
NSString *playerName 
NSString *mediaEvent 
NSString *segment 
NSUInteger milestone 
NSUInteger offsetMilestone 
NSUInteger segmentNum 
NSUInteger eventType

Referencia de clases y métodos de medición de medios

  • mediaCreateSettings​WithName:​length:​playerName:​playerID:
    Devuelve un objeto ADBMediaSettings con parámetros específicos.
    • Esta es la sintaxis para este método:
      +(ADBMediaSettings *) mediaCreateSettingsWithName:(NSString *)name
                                                 length:(double)length
                                              playerName:(NSString *)playerName
                                               playerID:(NSString *)playerID;
      
      
    • Este es un ejemplo de código para este método:
      ADBMediaSettings *myCatSettings =
            [ADBMobile mediaCreateSettingsWithName:@"catVideo"                                               length:85
                                        playerName:@"catVideoPlayer"
                                          playerID:@"catPlayerId"]; 
      
      
  • mediaAdCreateSettings​WithName:​length:​playerName:​parentName:​parentPod:​parentPodPosition:​CPM:
    Devuelve un objeto ADBMediaSettings para su uso con el seguimiento de un vídeo de anuncio.
    • Esta es la sintaxis para este método:
      + (ADBMediaSettings *) mediaAdCreateSettingsWithName:(NSString *)name
                                                    length:(double)length   
                                                playerName:(NSString *)playerName
                                                parentName:(NSString *)parentName
                                                 parentPod:(NSString *)parentPod
                                        parentPodPosition:(double)parentPodPosition
                                                      CPM:(NSString *)CPM; 
      
      
    • Este es un ejemplo de código para este método:
        ADBMediaSettings *mySettings = 
             [ADBMobile mediaAdCreateSettingsWithName:@"ad"                                       length:30
                                           playerName:@"adPlayer"
                                           parentName:@"catVideo"
                                           parentPod:@"catCollection"
                                           parentPodPosition:2
                                                        CPM:nil];
      
      
  • mediaOpenWithSettings:​callback:
    Abre un objeto ADBMediaSettings para su seguimiento.
    • Esta es la sintaxis para este método:
      + (void) mediaOpenWithSettings:(ADBMediaSettings *)settings
                            callback:(void (^)(ADBMediaState *mediaState))callback; 
      
      
    • Este es un ejemplo de código para este método:
      [ADBMobile mediaOpenWithSettings:mySettings callback:^(ADBMediaState *mediaState) {
           // do something with media state if you want}];
      
      
  • mediaClose:
    Cierra el elemento de medios llamado nombre .
    • Esta es la sintaxis para este método:
       + (void) mediaClose:(NSString *)name; 
      
      
    • Este es un ejemplo de código para este método:
      [ADBMobile mediaClose:@"kittiesPlaying"];
      
      
  • mediaPlay:​offset:
    Reproduce el elemento de medios llamado name con un desplazamiento offset dado (en segundos).
    • Esta es la sintaxis para este método:
       + (void) mediaPlay:(NSString *)name offset:(double)offset;
      
      
    • Este es un ejemplo de código para este método:
      [ADBMobile mediaPlay:@"cats" offset:25];
      
      
  • mediaComplete:​offset:
    Marca de forma manual como completado el elemento de medios en el offset indicado (en segundos).
    • Esta es la sintaxis para este método:
       + (void) mediaComplete:(NSString *)name offset:(double)offset;
      
      
    • Este es un ejemplo de código para este método:
       [ADBMobile mediaComplete:@"meowzah" offset:90]; 
      
      
  • mediaStop:​offset:
    Notifica al módulo de medios que el vídeo se ha detenido o pausado en el offset indicado.
    • Esta es la sintaxis para este método:
      + (void) mediaStop:(NSString *)name offset:(double)offset; 
      
      
    • Este es un ejemplo de código para este método:
      [ADBMobile mediaStop:@"toonses" offset:30]; 
      
      
  • mediaClick:​offset:
    Notifica al módulo de medios que se ha hecho clic en el elemento de medios.
    • Esta es la sintaxis para este método:
      + (void) mediaClick:(NSString *)name offset:(double)offset;
      
      
    • Este es un ejemplo de código para este método:
      [ADBMobile mediaClick:@"soManyCats" offset:47];
      
      
  • mediaTrack:​withData:
    Envía una llamada de acción de seguimiento (sin visualización de página) al estado de medios actual.
    • Esta es la sintaxis para este método:
      + (void) mediaTrack:(NSString *)name withData:(NSDictionary *)data;