Le SDK Media surveille automatiquement la durée de la lecture multimédia dans l’un des états inactifs suivants :
Si une session de suivi multimédia inactive pendant plus de 30 minutes, celle-ci se fermera automatiquement. Si l’utilisateur reprend une session de suivi vidéo précédemment inactive (trackPlay
), Media Heartbeat crée automatiquement une nouvelle session vidéo à l’aide des informations et des métadonnées précédentes et envoie une reprise d’événement de pulsation. Pour plus d’informations, voir Paramètres audio et vidéo.
Le SDK Media procédera uniquement à la reprise automatique des sessions si l’application n’a pas été fermée. Si l’application stocke des données utilisateur et permet de procéder à la reprise d’un média précédemment fermé, il est possible de déclencher manuellement un événement de reprise. Lorsque vous démarrez la session de suivi vidéo, configurez la propriété facultative Video Resumed.
// Set MediaHeartbeat.MediaObjectKey.mediaResumed to true
public void onmediaLoad(Observable observable, Object data) {
// Replace <MEDIA_NAME> with the media name.
// Replace <MEDIA_ID> with a media unique identifier.
// Replace <MEDIA_LENGTH> with the media length.
MediaObject mediaInfo = MediaHeartbeat.createMediaObject(
<MEDIA_NAME>,
<MEDIA_ID>,
<MEDIA_LENGTH>,
MediaHeartbeat.StreamType.VOD
);
// Set to true if this is a resume playback scenario
mediaInfo.setValue(MediaHeartbeat.MediaObjectKey.mediaResumed, true);
_heartbeat.trackSessionStart(mediaInfo, mediaMetadata);
}
- (void)onMainmediaLoaded:(NSNotification *)notification {
//Replace <MEDIA_NAME> with the media name.
//Replace <MEDIA_ID> with a media unique identifier.
//Replace <MEDIA_LENGTH> with the media length.
ADBMediaObject *mediaObject =
[ADBMediaHeartbeat createMediaObjectWithName:<MEDIA_NAME>
mediaId:<MEDIA_ID>
length:<MEDIA_LENGTH>
streamType:ADBMediaHeartbeatStreamTypeVOD];
//Set to YES if this user is resuming a previously closed media session
[mediaObject setValue:@(YES) forKey:ADBMediaObjectKeymediaResumed];
[_mediaHeartbeat trackSessionStart:mediaObject data:mediaMetadata];
}
_onmediaLoad = function () {
// Replace <MEDIA_NAME> with the media name.
// Replace <MEDIA_ID> with a media unique identifier.
// Replace <MEDIA_LENGTH> with the media length.
var mediaObject =
MediaHeartbeat.createMediaObject(<MEDIA_NAME>,
<MEDIA_ID,
<MEDIA_LENGTH>,
MediaHeartbeat.StreamType.VOD);
// Set to true if this user is resuming a previously closed media session
mediaObject.setValue(MediaObjectKey.mediaResumed, true);
this._mediaHeartbeat.trackSessionStart(mediaObject, contextData);
};