Show Menu
ARGOMENTI×

Analisi del video

Queste informazioni spiegano come misurare i video su iOS mediante la misurazione di specifici eventi video.
Durante la riproduzione di un video, vengono inviate al servizio frequenti chiamate "heartbeat" che consentono di misurare il tempo di riproduzione. Tali chiamate heartbeat sono inviate ogni 10 secondi e consentono di ottenere metriche di coinvolgimento dettagliate e rapporti più precisi sull'abbandono. Per ulteriori informazioni, consulta Misurazione di audio e video in Adobe Analytics .
Il processo generale da seguire per la misurazione dei video è molto simile per tutte le piattaforme. Di seguito viene fornita una panoramica di base delle attività di sviluppo, con esempi di codice.

Mappare gli eventi del lettore sulle variabili di Analytics

Nella tabella seguente sono elencati i dati multimediali inviati ad Analytics. Utilizza le regole di elaborazione per mappare i dati contestuali in una variabile di Analytics.
  • a.media.name
    (Obbligatorio) Raccoglie il nome del video, in base a quanto specificato nell'implementazione, quando un visitatore visualizza il video in qualche modo. Per questa variabile puoi aggiungere delle classificazioni.
    (Facoltativo) La variabile Insight personalizzato fornisce informazioni sul percorso del video.
    • Tipo di variabile: eVar
    • Scadenza predefinita: visita
    • Insight personalizzato (s.prop, usato per il percorso del video)
  • a.media.name
    (Facoltativo) Fornisce informazioni sul percorso del video. Il percorso deve essere abilitato per questa variabile dall’assistenza clienti.
    • Tipo evento: Custom Insight (s.prop)
    • Tipo evento: Insight personalizzato (s.prop)
  • a.media.segment
    (Obbligatorio) Raccoglie dati sui segmenti video, tra cui il nome del segmento e l'ordine in cui il segmento appare nel video. Quando viene eseguito il tracciamento automatico degli eventi del lettore, questa variabile viene compilata abilitando la variabile segmentByMilestones . Quando gli eventi del lettore vengono tracciati manualmente, viene compilata impostando un nome di segmento personalizzato. Ad esempio, quando un visitatore visualizza il primo segmento di un video, SiteCatalyst potrebbe raccogliere quanto segue nella eVar dei segmenti 1:M:0-25 .
    Il metodo predefinito di raccolta dei dati video raccoglie i dati presso i seguenti punti:
    • inizio video (play)
    • inizio del segmento
    • fine del video (stop) Analytics conta la visualizzazione del primo segmento all'inizio del segmento, quando il visitatore inizia la visualizzazione. Il segmento successivo viene visualizzato quando inizia il segmento.
    • Tipo di variabile: eVar
    • Scadenza predefinita: visualizzazioni pagina
  • a.contentType
    Raccoglie dati relativi al tipo di contenuto visualizzato da un visitatore. Agli hit inviati dalla misurazione è assegnato il tipo di contenuto video video. Non è necessario riservare questa variabile esclusivamente al tracciamento video. Se la stessa variabile viene usata anche per ottenere il tipo di altri contenuti, è possibile analizzare la distribuzione dei visitatori per diversi tipi di contenuto. Ad esempio, puoi usare questa variabile per assegnare valori quali "articolo" o "pagina prodotto" ad altri tipi di contenuti. Dal punto di vista della misurazione video, il tipo di contenuto ti consente di identificare i visitatori del video e di calcolare i tassi di conversione relativi al video.
    • Tipo di variabile: eVar
    • Scadenza predefinita: visualizzazioni pagina
  • a.media.timePlayed
    Conta il tempo, in secondi, trascorso a guardare un video dall'ultimo processo di raccolta di dati (richiesta immagine).
    • Tipo di variabile: Event
    • Tipo: contatore
  • a.media.view
    Indica che un visitatore ha visualizzato una parte di un video. Tuttavia, non fornisce informazioni sulla parte specifica visualizzata, né sulla durata della visualizzazione.
    • Tipo di variabile: Event
    • Tipo: contatore
  • a.media.segmentView
    Indica che un visitatore ha visualizzato una parte di un segmento video. Tuttavia, non fornisce informazioni sulla parte specifica visualizzata, né sulla durata della visualizzazione.
    • Tipo di variabile: Event
    • Tipo: contatore
  • a.media.complete
    Indica che un utente ha visualizzato un video completo. Per impostazione predefinita, l'evento completo è misurato 1 secondo prima della fine del video. Durante l'implementazione, puoi specificare quanti secondi dalla fine del video considerare come una visualizzazione dell'intero video. Per i video live e altri flussi che non hanno una fine definita, puoi specificare un punto personalizzato per misurare le visualizzazioni complete, ad esempio, dopo che il video è stato visualizzato per una data quantità di tempo.
    • Tipo di variabile: Event
    • Tipo: contatore

Configurare le impostazioni per i file multimediali

Configura un oggetto ADBMediaSettings con le impostazioni che desideri usare per tenere traccia del video:
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

Tracciare gli eventi del lettore

Per misurare la riproduzione di un video, è necessario invocare i metodi mediaPlay , mediaStop e mediaClose nei momenti opportuni. Ad esempio, mediaStop deve essere invocato quando il lettore viene messo in pausa e mediaPlay quando la riproduzione viene avviata o ripresa.
L'esempio di seguito illustra come configurare le notifiche e invocare i metodi per i file multimediali per ottenere le misurazioni relative ai video:
// 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]; 
 } 
}

Classi

Classe: 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; 

Classe: 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

Guida di riferimento delle classi e dei metodi per la misurazione di file multimediali

  • mediaCreateSettings​WithName:​length:​playerName:​playerID:
    Restituisce un oggetto ADBMediaSettings con i parametri specificati.
    • Di seguito è riportata la sintassi per questo metodo:
      +(ADBMediaSettings *) mediaCreateSettingsWithName:(NSString *)name
                                                 length:(double)length
                                              playerName:(NSString *)playerName
                                               playerID:(NSString *)playerID;
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
      ADBMediaSettings *myCatSettings =
            [ADBMobile mediaCreateSettingsWithName:@"catVideo"                                               length:85
                                        playerName:@"catVideoPlayer"
                                          playerID:@"catPlayerId"]; 
      
      
  • mediaAdCreateSettings​WithName:​length:​playerName:​parentName:​parentPod:​parentPodPosition:​CPM:
    Restituisce un oggetto ADBMediaSettings per l'uso con il monitoraggio di un video annuncio.
    • Di seguito è riportata la sintassi per questo metodo:
      + (ADBMediaSettings *) mediaAdCreateSettingsWithName:(NSString *)name
                                                    length:(double)length   
                                                playerName:(NSString *)playerName
                                                parentName:(NSString *)parentName
                                                 parentPod:(NSString *)parentPod
                                        parentPodPosition:(double)parentPodPosition
                                                      CPM:(NSString *)CPM; 
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
        ADBMediaSettings *mySettings = 
             [ADBMobile mediaAdCreateSettingsWithName:@"ad"                                       length:30
                                           playerName:@"adPlayer"
                                           parentName:@"catVideo"
                                           parentPod:@"catCollection"
                                           parentPodPosition:2
                                                        CPM:nil];
      
      
  • mediaOpenWithSettings:​callback:
    Apre un oggetto ADBMediaSettings per il monitoraggio.
    • Di seguito è riportata la sintassi per questo metodo:
      + (void) mediaOpenWithSettings:(ADBMediaSettings *)settings
                            callback:(void (^)(ADBMediaState *mediaState))callback; 
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
      [ADBMobile mediaOpenWithSettings:mySettings callback:^(ADBMediaState *mediaState) {
           // do something with media state if you want}];
      
      
  • mediaClose:
    Chiude l'elemento multimediale denominato name .
    • Di seguito è riportata la sintassi per questo metodo:
       + (void) mediaClose:(NSString *)name; 
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
      [ADBMobile mediaClose:@"kittiesPlaying"];
      
      
  • mediaPlay:​offset:
    Riproduce l'elemento multimediale denominato name in corrispondenza dell' offset indicato (in secondi).
    • Di seguito è riportata la sintassi per questo metodo:
       + (void) mediaPlay:(NSString *)name offset:(double)offset;
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
      [ADBMobile mediaPlay:@"cats" offset:25];
      
      
  • mediaComplete:​offset:
    Contrassegna manualmente l'elemento multimediale come completato in corrispondenza dell' offset indicato (in secondi).
    • Di seguito è riportata la sintassi per questo metodo:
       + (void) mediaComplete:(NSString *)name offset:(double)offset;
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
       [ADBMobile mediaComplete:@"meowzah" offset:90]; 
      
      
  • mediaStop:​offset:
    Notifica al modulo multimediale che il video è stato interrotto o messo in pausa in corrispondenza dell' offset indicato.
    • Di seguito è riportata la sintassi per questo metodo:
      + (void) mediaStop:(NSString *)name offset:(double)offset; 
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
      [ADBMobile mediaStop:@"toonses" offset:30]; 
      
      
  • mediaClick:​offset:
    Notifica al modulo multimediale l'avvenuto clic sull'elemento multimediale.
    • Di seguito è riportata la sintassi per questo metodo:
      + (void) mediaClick:(NSString *)name offset:(double)offset;
      
      
    • Di seguito è riportato un esempio di codice per questo metodo:
      [ADBMobile mediaClick:@"soManyCats" offset:47];
      
      
  • mediaTrack:​withData:
    Invia una chiamata Track Action (senza visualizzazioni pagina) per lo stato corrente dell'elemento multimediale.
    • Di seguito è riportata la sintassi per questo metodo:
      + (void) mediaTrack:(NSString *)name withData:(NSDictionary *)data;