Início da sessão

O evento de início de sessão abre uma sessão de rastreamento de mídia. Deve ser o primeiro evento enviado para qualquer reprodução. A resposta retorna uma ID de sessão que todos os eventos subsequentes da mesma sessão devem incluir.

Uma sessão expira automaticamente se nenhum evento for recebido por 10 minutos ou se houver nenhum movimento do indicador de reprodução por 30 minutos. Se uma sessão expirar, você deverá chamar o início da sessão novamente para obter uma nova ID de sessão.

  • Pré-requisitos: nenhum; sempre o primeiro evento
  • Métrica associada: Inícios de mídia

Tipos de implementação recomendados

Web SDK

Chame sendEvent com eventType: "media.sessionStart" e o sessionDetails necessário. A resposta inclui a ID da sessão em handle[].payload[].sessionId (tipo media-analytics:new-session). Armazene este valor e passe-o como sessionID em todos os eventos subsequentes.

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        name: "video-123",
        length: 128,
        contentType: "vod",
        playerName: "HTML5 Player",
        channel: "Sports",
        streamType: "video"
      },
      playhead: 0
    }
  }
});
iOS

Chame trackSessionStart com um objeto de mídia e metadados opcionais.

code language-swift
let mediaObject = Media.createMediaObjectWith(name: "video-123",
                                               id: "video-id-123",
                                           length: 128,
                                       streamType: MediaConstants.StreamType.VOD,
                                        mediaType: MediaType.Video)

tracker.trackSessionStart(info: mediaObject, metadata: nil)
Android

Chame trackSessionStart com um objeto de mídia e metadados opcionais.

code language-kotlin
val mediaObject = Media.createMediaObject("video-123",
                                          "video-id-123",
                                          128,
                                          MediaConstants.StreamType.VOD,
                                          Media.MediaType.Video)

tracker.trackSessionStart(mediaObject, null)
Roku Edge

Chame createMediaSession com os detalhes de sessão necessários:

code language-brightscript
m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "name": "video-123",
                "length": 128,
                "contentType": "vod",
                "playerName": "Roku Player",
                "channel": "Sports",
                "streamType": "video"
            },
            "playhead": 0
        }
    }
})
API do Media Edge

Chame o ponto de extremidade sessionStart. A resposta inclui a ID da sessão em handle[].payload[].sessionId (tipo media-analytics:new-session).

code language-sh
curl -X POST "https://edge.adobedc.net/ee/va/v1/sessionStart?configId={datastreamID}" \
--header 'Content-Type: application/json' \
--data '{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "playerName": "HTML5 Player",
          "contentType": "VOD",
          "length": 128,
          "channel": "Sports"
        },
        "playhead": 0
      }
    }
  }]
}'

Tipos de implementação herdada (somente Analytics)

Media SDK JS 3.x

Chame trackSessionStart com um objeto de mídia criado usando ADB.Media.createMediaObject:

code language-javascript
var mediaObject = ADB.Media.createMediaObject(
  "video-123",                  // name
  "video-id-123",               // media ID
  128,                          // length (seconds)
  ADB.Media.StreamType.VOD,     // stream type
  ADB.Media.MediaType.Video     // media type
);

tracker.trackSessionStart(mediaObject, null);
Chromecast

Chame trackSessionStart com um objeto de mídia criado usando ADBMobile.media.createMediaObject:

code language-javascript
var mediaInfo = ADBMobile.media.createMediaObject(
  "video-123",                        // name
  "video-id-123",                     // media ID
  128,                                // length (seconds)
  ADBMobile.media.StreamType.VOD,
  ADBMobile.media.MediaType.Video
);

ADBMobile.media.trackSessionStart(mediaInfo, null);
Roku 2.x

Criar um objeto de mídia com adb_media_init_mediainfo e chamar mediaTrackSessionStart. O segundo argumento opcional aceita uma matriz associativa de a.media.* chaves de metadados ou invalid:

code language-brightscript
adb = ADBMobile()
mediaInfo = adb_media_init_mediainfo("video-123", "video-id-123", 128.0, adb.MEDIA_STREAM_TYPE_VOD, adb.MEDIA_TYPE_VIDEO)

adb.mediaTrackSessionStart(mediaInfo, invalid)
API da coleção de mídia

Enviar uma POSTAGEM sessionStart para o ponto de extremidade de sessões. O cabeçalho de resposta Location contém a ID de sessão a ser usada em todas as solicitações de evento subsequentes.

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.channel": "Sports",
    "media.playerName": "HTML5 Player",
    "media.contentType": "vod",
    "media.length": 128,
    "media.id": "video-123"
  }
}

Retomar uma sessão

Ao retomar uma sessão fechada anteriormente (por exemplo, após uma transferência entre dispositivos ou após o aplicativo restaurar o estado de reprodução salvo), defina o sinalizador de retomada no início da sessão. Isso faz com que o Analytics incremente Resumo do conteúdo em vez de Inícios da mídia.

Tipos de implementação recomendados

Web SDK

Adicionar hasResume: true a sessionDetails:

code language-javascript
alloy("sendEvent", {
  xdm: {
    eventType: "media.sessionStart",
    mediaCollection: {
      sessionDetails: {
        name: "video-123",
        length: 128,
        contentType: "vod",
        playerName: "HTML5 Player",
        channel: "Sports",
        streamType: "video",
        hasResume: true
      },
      playhead: 0
    }
  }
});
iOS

Defina a chave resumed no objeto de mídia antes de chamar trackSessionStart:

code language-swift
var mediaObject = Media.createMediaObjectWith(name: "video-123",
                                               id: "video-id-123",
                                           length: 128,
                                       streamType: MediaConstants.StreamType.VOD,
                                        mediaType: MediaType.Video)

mediaObject[MediaConstants.MediaObjectKey.resumed] = true
tracker.trackSessionStart(info: mediaObject, metadata: nil)
Android

Defina a chave RESUMED no objeto de mídia antes de chamar trackSessionStart:

code language-kotlin
val mediaObject = Media.createMediaObject("video-123", "video-id-123", 128,
                                          MediaConstants.StreamType.VOD,
                                          Media.MediaType.Video)

mediaObject[Media.MediaObjectKey.RESUMED] = true
tracker.trackSessionStart(mediaObject, null)
Roku Edge

Adicionar "hasResume": true a sessionDetails:

code language-brightscript
m.aepSdk.createMediaSession({
    "xdm": {
        "eventType": "media.sessionStart",
        "mediaCollection": {
            "sessionDetails": {
                "name": "video-123",
                "length": 128,
                "contentType": "vod",
                "playerName": "Roku Player",
                "channel": "Sports",
                "streamType": "video",
                "hasResume": true
            },
            "playhead": 0
        }
    }
})
API do Media Edge

Adicionar "hasResume": true a sessionDetails:

code language-sh
curl -X POST "https://edge.adobedc.net/ee/va/v1/sessionStart?configId={datastreamID}" \
--header 'Content-Type: application/json' \
--data '{
  "events": [{
    "xdm": {
      "eventType": "media.sessionStart",
      "mediaCollection": {
        "sessionDetails": {
          "name": "video-123",
          "playerName": "HTML5 Player",
          "contentType": "VOD",
          "length": 128,
          "channel": "Sports",
          "hasResume": true
        },
        "playhead": 0
      }
    }
  }]
}'

Tipos de implementação herdada (somente Analytics)

Media SDK JS 3.x

Definir a chave MediaResumed no objeto de mídia:

code language-javascript
var mediaObject = ADB.Media.createMediaObject(
  "video-123", "video-id-123", 128,
  ADB.Media.StreamType.VOD, ADB.Media.MediaType.Video
);

mediaObject[ADB.Media.MediaObjectKey.MediaResumed] = true;
tracker.trackSessionStart(mediaObject, null);
Chromecast

Definir a chave MediaResumed no objeto de mídia:

code language-javascript
var mediaObject = ADBMobile.media.createMediaObject(
  "video-123", "video-id-123", 128,
  ADBMobile.media.StreamType.VOD, ADBMobile.media.MediaType.Video
);

mediaObject[ADBMobile.media.MediaObjectKey.MediaResumed] = true;
ADBMobile.media.trackSessionStart(mediaObject, null);
Roku 2.x

Defina a chave resumed no objeto de mídia antes de chamar mediaTrackSessionStart:

code language-brightscript
adb = ADBMobile()
mediaInfo = adb_media_init_mediainfo("video-123", "video-id-123", 128.0, adb.MEDIA_STREAM_TYPE_VOD, adb.MEDIA_TYPE_VIDEO)
mediaInfo.resumed = true

adb.mediaTrackSessionStart(mediaInfo, invalid)
API da coleção de mídia

Adicionar "media.resume": true ao objeto params:

code language-json
{
  "playerTime": { "playhead": 0, "ts": 1699523820000 },
  "eventType": "sessionStart",
  "params": {
    "media.channel": "Sports",
    "media.playerName": "HTML5 Player",
    "media.contentType": "vod",
    "media.length": 128,
    "media.id": "video-123",
    "media.resume": true
  }
}
recommendation-more-help
media-analytics-help