iOS でのコア再生の追跡

重要

このドキュメントでは、バージョン 2.x の SDK での追跡について説明しています。1.x バージョンの SDK を実装する場合は、1.x の開発ガイドをこちら(SDK のダウンロード)からダウンロードできます。

  1. トラッキングの初期設定

    いつユーザーが再生の意図をトリガーする(ユーザーが再生をクリックする、または自動再生がオンになる)かを識別し、MediaObject インスタンスを作成します。

    createMediaObjectWithName API

    変数名 説明 必須
    name ビデオ名
    mediaid ビデオの一意の識別子
    length ビデオの長さ
    streamType ストリームタイプ(後述の StreamType 定数 を参照)
    mediaType メディアタイプ(後述の​MediaType 定数 を参照)

    StreamType定数:

    定数名 説明
    ADBMediaHeartbeatStreamTypeVOD ビデオオンデマンドのストリームタイプ
    ADBMediaHeartbeatStreamTypeLIVE Live コンテンツのストリームタイプ
    ADBMediaHeartbeatStreamTypeLINEAR Linear コンテンツのストリームタイプ
    ADBMediaHeartbeatStreamTypeAOD オーディオオンデマンドのストリームタイプ。
    ADBMediaHeartbeatStreamTypeAUDIOBOOK オーディオブックのストリームタイプ。
    ADBMediaHeartbeatStreamTypePODCAST ポッドキャストのストリームタイプ。

    MediaType定数:

    定数名 説明
    ADBMediaTypeAudio オーディオストリームのメディアタイプ。
    ADBMediaTypeVideo ビデオストリームのメディアタイプ。

    MediaObject を作成するための一般的な形式:

    ADBMediaObject *mediaObject =  
      [ADBMediaHeartbeat createMediaObjectWithName:<MEDIA_NAME> 
                                           mediaId:<MEDIA_ID> 
                                            length:<MEDIA_LENGTH>                       
                                        streamType:<STREAM_TYPE> 
                                         mediaType: <MEDIA_TYPE>];
    
  2. ビデオメタデータのアタッチ

    オプションで、コンテキストデータ変数を使用して標準またはカスタムのビデオメタデータオブジェクトをビデオトラッキングセッションにアタッチします。

    • 標準のビデオメタデータ

      メモ

      メディアオブジェクトへの標準のビデオメタデータオブジェクトのアタッチはオプションです。

    • カスタムメタデータ

      カスタム変数の変数オブジェクトを作成し、このビデオのデータを設定します。例:

      NSMutableDictionary *videoMetadata = [[NSMutableDictionary alloc] init]; 
      [videoMetadata setObject:@"false" forKey:@"isUserLoggedIn"]; 
      [videoMetadata setObject:@"Sample TV station" forKey:@"tvStation"];
      
  3. 意図を追跡して再生を開始

    メディアセッションの追跡を開始するには、メディアハートビートインスタンスの trackSessionStart を呼び出します。

    ヒント

    2 つ目の値は、手順 2 で作成した、カスタムのビデオメタデータオブジェクトの名前です。

    - (void)onMainVideoLoaded:(NSNotification *)notification { 
    //    [_mediaHeartbeat trackSessionStart:mediaObject data:nil]; 
        [_mediaHeartbeat trackSessionStart:mediaObject data:videoMetadata]; 
    }
    
    重要

    trackSessionStart では、再生の開始ではなく、ユーザーの再生の意図を追跡します。この API は、ビデオのデータ/メタデータを読み込み、開始時間の QoS 指標(trackSessionStarttrackPlay の間の時間)を見積もるために使用します。

    メモ

    カスタムのビデオメタデータを使用しない場合は、前述の iOS の例でコメントアウトされている行に示されているように、trackSessionStartdata 引数に空のオブジェクトを送信します。

  4. 実際の再生開始を追跡

    ビデオの再生開始(ビデオの最初のフレームが画面に表示)に関するイベントをビデオプレーヤーから識別し、trackPlay () を呼び出します。

    - (void)onVideoPlay:(NSNotification *)notification { 
        [_mediaHeartbeat trackPlay]; 
    }
    
  5. 再生の完了を追跡

    ビデオの再生完了(ユーザーがコンテンツを最後まで視聴)に関するイベントをビデオプレーヤーから識別し、trackComplete () を呼び出します。

    - (void)onVideoComplete:(NSNotification *)notification { 
        [_mediaHeartbeat trackComplete]; 
    }
    
  6. セッションの終了を追跡

    ビデオ再生のアンロード/終了(ユーザーがビデオを閉じる、またはビデオの再生が完了してアンロードされる)に関するイベントをビデオプレーヤーから識別し、trackSessionEnd () を呼び出します。

    - void)onMainVideoUnloaded:(NSNotification *)notification { 
        [_mediaHeartbeat trackSessionEnd]; 
    }
    
    重要

    trackSessionEnd は、ビデオトラッキングセッションの終わりをマークします。セッションが最後まで適切に視聴された場合(ユーザーがコンテンツを最後まで視聴)は、trackComplete の前に trackSessionEnd を呼び出すようにしてください。trackSessionEnd の後は、他のすべての track* API 呼び出しは無視されます(新しいビデオトラッキングセッション用の trackSessionStart を除く)。

  7. 考えられるすべての一時停止シナリオを追跡

    ビデオの一時停止に関するイベントをビデオプレーヤーから識別し、trackPause を呼び出します。

    - (void)onVideoPause:(NSNotification *)notification { 
        [_mediaHeartbeat trackPause]; 
    }
    

    一時停止のシナリオ

    ビデオプレーヤーが一時停止するあらゆるシナリオを識別して、trackPause が適切に呼び出されるようにします。以下のシナリオでは、アプリで trackPause() () を呼び出す必要があります。

    • アプリ内でユーザーが明示的に一時停止をクリックする。
    • プレーヤー自体が一時停止状態になる。
    • モバイルアプリケーション)- ユーザーがアプリケーションをバックグラウンドに移行した場合でも、アプリケーションのセッションを開いたままにしておきたい。
    • モバイルアプリケーション)- 何らかのシステムの割り込みが生じ、アプリケーションがバックグラウンドに移行する。例:ユーザーに電話がかかってきた場合や、別のアプリケーションのポップアップが表示された場合でも、アプリケーションのセッションを終了せず、ユーザーが中断した場所からビデオを再開できるようにしたい。
  8. 一時停止からのビデオ再生およびビデオ再開に関するイベントをプレーヤーから識別し、trackPlay を呼び出します。

    - (void)onVideoPlay:(NSNotification *)notification { 
        [_mediaHeartbeat trackPlay]; 
    }
    
    ヒント

    これは、手順 4 で使用したのと同じイベントソースである可能性があります。ビデオ再生が再開される際に、各 trackPause() API 呼び出しが後続の trackPlay() API 呼び出しと対になっていることを確認します。

コア再生の追跡に関する追加情報については、以下を参照してください。

  • トラッキングのシナリオ:広告のない VOD 再生
  • iOS SDK に含まれている、追跡の完全な例を示すサンプルプレーヤー

このページ