Show Menu
TOPICS×

順次追跡を含むライブメインコンテンツ

シナリオ

このシナリオでは、ライブストリームに参加後、40 秒間広告が再生されていない、1 つのライブアセットがあります。
これは、 広告のない VOD 再生 シナリオと同じシナリオですが、コンテンツの一部はスクラブされ、メインコンテンツのあるポイントから別のポイントまでのシークが完了します。
トリガー
ハートビートメソッド
 ネットワーク呼び出し
 メモ  
ユーザーが再生をクリックする
trackSessionStart
Analytics Content Start、Heartbeat Content Start
Measurement Library は、プリロール広告があることに気づかないので、これらのネットワーク呼び出しは、 広告のない VOD 再生 シナリオと同一です。
コンテンツ再生の最初のフレーム。
trackPlay
Heartbeat Content Play
メインコンテンツの前にチャプターコンテンツを再生する場合、ハートビートは、チャプターが開始する際に開始されます。
コンテンツ再生
Content Heartbeats
このネットワーク呼び出しは、 広告のない VOD 再生 シナリオとまったく同じです。
Session1 終了(Episode1 終了)
trackComplete / trackSessionEnd
Heartbeat Content Complete
Complete は、最初のエピソードの session1 に到達し、視聴が完了したことを意味します。次のエピソードのセッションを開始する前に、このセッションを終わらせる必要があります。
Episode2 を開始する(Session2 開始)
trackSessionStart
Analytics Content Start、Heartbeat Content Start
これは、ユーザーが最初のエピソードを視聴し、別のエピソードまで視聴し続けたためです
メディアの最初のフレーム
trackPlay
Heartbeat Content Play
このメソッドは、タイマーをトリガーし、これ以降、ハートビートは、再生が続く限り、10 秒ごとに送信されます。
コンテンツ再生
Content Heartbeats
セッション終了(Episode2 終了)
trackComplete / trackSessionEnd
Heartbeat Content Complete
Complete は、2 番目のエピソードの session2 に到達し、視聴が完了したことを意味します。次のエピソードのセッションを開始する前に、このセッションを終わらせる必要があります。

パラメーター

Heartbeat Content Start

パラメーター
メモ
s:sc:rsid
<Adobe レポートスイート ID>
s:sc:tracking_serve
<Analytics トラッキングサーバー URL>
s:user:mid
s:user:mid
Adobe Analytics Content Start 呼び出しの mid 値と一致する必要がある
s:event:type
"start"
s:asset:type
"main"
s:asset:media_id
<メディア名>
s:stream:type
live
s:meta:*
オプション
メディアに設定されたカスタムメタデータ

Heartbeat Content Play

これは、Heartbeat Content Start 呼び出しとほとんど同じように見えますが、「s:event:type」パラメーターに重要な違いがあります。すべてのパラメーターは、ここで準備ができている必要があります。
パラメーター
メモ
s:event:type
"play"
s:asset:type
"main"

Content Heartbeats

メディア再生中に、1 つ以上のハートビートを 10 秒ごと(メインコンテンツ)および 1 秒ごと(広告)に送信するタイマーがあります。それらのハートビートには、再生、広告、バッファーおよびその他多くに関する情報が含まれます。各ハートビートの厳密なコンテンツは、このドキュメントの範囲外であり、検証に重要なことは、ハートビートは、再生が続く間、常にトリガーされるということです。
Content Heartbeats では、いくつかの特定の事柄を探します。
パラメーター
メモ
s:event:type
"play"
l:event:playhead
<再生ヘッドの位置> 例:50、60、70
これは、再生ヘッドの現在の位置を反映する必要があります。

Heartbeat Content Complete

任意のエピソードの再生が完了した場合(再生ヘッドがエピソードの境界を越える)、Heartbeat Content Complete 呼び出しが送信されます。これは、他のハートビート呼び出しに似ていますが、いくつか特有のものが含まれます。
パラメーター
メモ
s:event:type
"complete"
s:asset:type
"main"

サンプルコード

Android

以下に、期待される API 呼び出し順序を示します。
// Set up mediaObject MediaObject mediaInfo = MediaHeartbeat.createMediaObject( Configuration.MEDIA_NAME, Configuration.MEDIA_ID, Configuration.MEDIA_LENGTH, MediaHeartbeat.StreamType.LIVE ); HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put(CUSTOM_VAL_1, CUSTOM_KEY_1); mediaMetadata.put(CUSTOM_VAL_2, CUSTOM_KEY_2); // 1. Call trackSessionStart() when the user clicks Play or if autoplay is used, // i.e., when there is an intent to start playback. _mediaHeartbeat.trackSessionStart(mediaInfo, mediaMetadata); ...... ...... // 2. Call trackPlay() when the playback actually starts, i.e., when the first // frame of main content is rendered on the screen. _mediaHeartbeat.trackPlay(); ....... ....... // 3. Call trackComplete() when the playback reaches the end of session, // i.e., when the media completes and finishes playing 1st episode/session. _mediaHeartbeat.trackComplete(); ........ ........ // 4. Call trackSessionEnd() to end session 1 _mediaHeartbeat.trackSessionEnd(); ........ ........ // Start tracking session 2 /episode 2 of the same live stream. // There is no need to reinstantiate a mediaHeartbeat instance for tracking sesison 2. // Set up mediaObject MediaObject mediaInfo = MediaHeartbeat.createMediaObject( Configuration.MEDIA_NAME, Configuration.MEDIA_ID, Configuration.MEDIA_LENGTH, MediaHeartbeat.StreamType.LIVE ); HashMap<String, String> mediaMetadata = new HashMap<String, String>(); mediaMetadata.put(CUSTOM_VAL_1, CUSTOM_KEY_1); mediaMetadata.put(CUSTOM_VAL_2, CUSTOM_KEY_2); // 5. Call trackSessionStart() when the playhead reaches a point that denotes the // start of session 2 _mediaHeartbeat.trackSessionStart(mediaInfo, mediaMetadata); ...... ...... // 6. Call trackPlay() to start tracking session 2 playback _mediaHeartbeat.trackPlay(); ....... ....... // 7. Call trackComplete() when the playback reaches the end of session 2, // i.e., the media completes and finishes playing. _mediaHeartbeat.trackComplete(); ........ ........ // 8. Call trackSessionEnd() to end session 2 _mediaHeartbeat.trackSessionEnd(); ........ ........ // Continue similarly tracking further sessions in the live stream if required

iOS

以下に、期待される API 呼び出し順序を示します。
// Set up mediaObject ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME length:MEDIA_LENGTH streamType:ADBMediaHeartbeatStreamTypeLIVE]; NSMutableDictionary *mediaContextData = [[NSMutableDictionary alloc] init]; [mediaContextData setObject:CUSTOM_VAL_1 forKey:CUSTOM_KEY_1]; [mediaContextData setObject:CUSTOM_VAL_2 forKey:CUSTOM_KEY_2]; // 1. Call trackSessionStart when the user clicks Play or if autoplay is used, // i.e., there is an intent to start playback. [_mediaHeartbeat trackSessionStart:mediaObject data:mediaContextData]; ...... ...... // 2. Call trackPlay when the playback actually starts, i.e., when the first // frame of main content is rendered on the screen. [_mediaHeartbeat trackPlay]; ....... ....... // 3. Call trackComplete when the playback reaches the end of session, // i.e., when the media completes and finishes playing the first // episode/session. [_mediaHeartbeat trackComplete]; ....... ....... // 4. Call trackSessionEnd to end session 1 [_mediaHeartbeat trackSessionEnd]; ........ ........ // Start tracking session 2 / episode 2 of the same live stream, No need to // reinstantiate mediaHeartbeat instance for tracking sesison 2. // Set up mediaObject ADBMediaObject *mediaObject = [ADBMediaHeartbeat createMediaObjectWithName:MEDIA_NAME length:MEDIA_LENGTH streamType:ADBMediaHeartbeatStreamTypeLIVE]; NSMutableDictionary *mediaContextData = [[NSMutableDictionary alloc] init]; [mediaContextData setObject:CUSTOM_VAL_1 forKey:CUSTOM_KEY_1]; [mediaContextData setObject:CUSTOM_VAL_2 forKey:CUSTOM_KEY_2]; // 5. Call trackSessionStart when the playhead reaches a point that denotes // start of session 2 [_mediaHeartbeat trackSessionStart:mediaObject data:mediaContextData]; ...... ...... // 6. Call trackPlay to start tracking session 2 playback [_mediaHeartbeat trackPlay]; ....... ....... // 7. Call trackComplete when the playback reaches the end of session 2, // i.e., when the media completes and finishes playing. [_mediaHeartbeat trackComplete]; ........ ........ // 8. Call trackSessionEnd to end the session 2 [_mediaHeartbeat trackSessionEnd]; ........ ........ // Continue tracking further sessions in live stream similarly if required

JavaScript

以下に、期待される API 呼び出し順序を示します。
// Set up mediaObject var mediaInfo = MediaHeartbeat.createMediaObject( Configuration.MEDIA_NAME, Configuration.MEDIA_ID, Configuration.MEDIA_LENGTH, MediaHeartbeat.StreamType.VOD ); var mediaMetadata = { CUSTOM_KEY_1 : CUSTOM_VAL_1, CUSTOM_KEY_2 : CUSTOM_VAL_2, CUSTOM_KEY_3 : CUSTOM_VAL_3 }; // 1. Call trackSessionStart() when Play is clicked or if autoplay is used, // i.e., there's an intent to start playback. this._mediaHeartbeat.trackSessionStart(mediaInfo, mediaMetadata); ...... ...... // 2. Call trackPlay() when the playback actually starts, i.e., when the // first frame of media is rendered on the screen. this._mediaHeartbeat.trackPlay(); ....... ....... // 3. Call trackComplete() when the playback reaches the end of a session, // i.e., whn playback completes and finishes playing the 1st episode/session. this._mediaHeartbeat.trackComplete(); ........ ........ // 4. Call trackSessionEnd() to end session 1 this._mediaHeartbeat.trackSessionEnd(); ........ ........ // Start tracking session 2/episode 2 of the same live stream. There is no need // to reinstantiate a mediaHeartbeat instance for tracking sesison 2. // Set up mediaObject var mediaInfo2 = MediaHeartbeat.createMediaObject( Configuration.MEDIA_NAME, Configuration.MEDIA_ID, Configuration.MEDIA_LENGTH, MediaHeartbeat.StreamType.LIVE ); var mediaMetadata2 = { CUSTOM_KEY_1 : CUSTOM_VAL_1, CUSTOM_KEY_2 : CUSTOM_VAL_2, CUSTOM_KEY_3 : CUSTOM_VAL_3 }; // 5. Call trackSessionStart() when the playhead reaches a point that denotes // the start of session 2 this._mediaHeartbeat.trackSessionStart(mediaInfo2, mediaMetadata2); ...... ...... // 6. Call trackPlay() to start tracking session 2 playback this._mediaHeartbeat.trackPlay(); ....... ....... // 7. Call trackComplete() when the playback reaches the end of session 2, // i.e., playback completes and finishes playing. this._mediaHeartbeat.trackComplete(); ........ ........ // 8. Call trackSessionEnd() to end session 2 this._mediaHeartbeat.trackSessionEnd(); ........ ........ // Continue tracking further sessions in live stream similarly if required