iOS のセットアップ set-up-ios

iOS デバイス用のストリーミングメディア分析の設定方法を説明します。

IMPORTANT
2021 年 8 月 31 日(PT)にバージョン 4 のモバイル SDK のサポートが終了するのに伴い、iOS および Android 向けの Media Analytics SDK のサポートも終了します。詳しくは、Media Analytics SDK のサポート終了に関する FAQ を参照してください。

前提条件

  • メディア SDK 用の有効な設定パラメーターを取得 これらのパラメーターは、Analytics アカウントの設定後、アドビの担当者から取得できます。

  • iOS 向け ADBMobile をアプリケーションに実装 Adobe Mobile SDK ドキュメントについて詳しくは、Experience Cloud ソリューション用 iOS SDK 4.x を参照してください。

    note important
    IMPORTANT
    iOS 9 から、Apple は App Transport Security(ATS)という機能を導入しました。この機能は、アプリケーションで業界標準のプロトコルと暗号のみを使用することで、ネットワークセキュリティの向上を目的としています。この機能はデフォルトで有効になっていますが、ATS を利用する際の各種設定オプションが用意されています。ATS について詳しくは、App Transport Security を参照してください。
  • メディアプレーヤーで以下の機能を設定します。

    • プレーヤーイベントをサブスクライブするための API - メディア SDK では、プレーヤーでイベントが発生する際に、シンプルな API のセットを呼び出す必要があります。
    • プレーヤー情報を提供する API - メディア名や再生ヘッドなどの情報がこれに該当します。

SDK の実装

IMPORTANT
バージョン 2.3.0 以降、SDK は XCFrameworks を介して配布されます。
SDK のバージョン 2.3.0 には Xcode 12.0 以降が必要で、該当する場合は Cocoapods 1.10.0 以降が必要です。
  • バイナリライブラリファイルについて言及されている場合は常に、 XCFramework に置き換えて使用する必要があります。

    • MediaSDK.a > MediaSDK.xcframework
    • MediaSDK_TV.a > MediaSDKTV.xcframework
  • Adobe XCFrameworks を手動でプロジェクトに追加する場合は、埋め込まれていないことを確認してください。

  1. ダウンロードしたメディア SDK をプロジェクトに追加します。

    1. libs ディレクトリに以下のソフトウェアコンポーネントが存在することを確認します。

      • ADBMediaHeartbeat.h:iOS ハートビートトラッキング API で使用される Objective-C ヘッダーファイル。

      • ADBMediaHeartbeatConfig.h:SDK 設定用の Objective-C ヘッダーファイル。

      • MediaSDK.a:iOS デバイス用のライブラリビルド(armv7、armv7s、arm64)とシミュレーター(i386 および x86_64)を含む、ビットコード対応の大きなバイナリ。

        ターゲットが iOS アプリを対象としている場合は、このバイナリがリンクされている必要があります。

      • MediaSDK_TV.a:新しい Apple TV デバイス用のライブラリビルド(arm64)とシミュレーター(x86_64)を含む、ビットコード対応の大きなバイナリ。

        このバイナリは、ターゲットが Apple TV(tvOS)アプリを対象としている場合、リンクされている必要があります。

    2. 以下のようにして、プロジェクトにライブラリを追加します。

      1. Xcode IDE を起動して、アプリを開きます。

      2. Project Navigator で、libs ディレクトリをドラッグして、プロジェクトにドロップします。

      3. Copy Items if Needed」チェックボックスが選択されていること、「Create Groups」が選択されていること、および「Add to Target」にあるチェックボックスが選択されていないことを確認します。

      オプションの選択

      1. 完了」をクリックします。

      2. Project Navigator で、アプリを選択し、ターゲットを選択します。

      3. 一般」タブの「リンクされたフレームワーク」および「ライブラリ」セクションで、必要なフレームワークとライブラリをリンクさせます。

        iOS アプリのターゲット:

        • AdobeMobileLibrary.a
        • MediaSDK.a
        • libsqlite3.0.tbd

        Apple TV(tvOS)のターゲット:

        • AdobeMobileLibrary_TV.a
        • MediaSDK_TV.a
        • libsqlite3.0.tbd
        • SystemConfiguration.framework
      4. アプリケーションがエラーなくビルドされることを確認します。

  2. ライブラリをインポートします。

    code language-none
    #import "ADBMediaHeartbeat.h"
    #import "ADBMediaHeartbeatConfig.h"
    
  3. ADBMediaHeartbeatConfig インスタンスを作成します。

    ここでは、MediaHeartbeat 設定パラメーターと、正確な追跡のために MediaHeartbeat インスタンスに正しい設定値を設定する方法を説明します。

    ADBMediaHeartbeatConfig 初期化のサンプル:

    code language-none
    // Media Heartbeat Initialization
    ADBMediaHeartbeatConfig *config = [[ADBMediaHeartbeatConfig alloc] init];
    config.trackingServer = <SAMPLE_HEARTBEAT_TRACKING_SERVER>;
    config.channel        = <SAMPLE_HEARTBEAT_CHANNEL>;
    config.appVersion     = <SAMPLE_HEARTBEAT_SDK_VERSION>;
    config.ovp            = <SAMPLE_HEARTBEAT_OVP_NAME>;
    config.playerName     = <SAMPLE_PLAYER_NAME>;
    config.ssl            = <YES/NO>;
    config.debugLogging   = <YES/NO>;
    
  4. ADBMediaHeartbeatDelegate プロトコルを実装します。

    code language-none
    @interface VideoAnalyticsProvider : NSObject <ADBMediaHeartbeatDelegate>
    
    @end
    
    @implementation VideoAnalyticsProvider
    
    // Replace <bitrate>, <startuptime>, <fps> and <droppeFrames>
    // with the current playback QoS values.
    - (ADBMediaObject *)getQoSObject {
        return [ADBMediaHeartbeat createQoSObjectWithBitrate:<bitrate>
                                  startupTime:<startuptime>
                                  fps:<fps>
                                  droppedFrames:<droppedFrames>];
    }
    
    // Return the current video player playhead position.
    // Replace <currentPlaybackTime> with the video player current playback time
    - (NSTimeInterval)getCurrentPlaybackTime {
        return <currentPlaybackTime>;
    }
    
    @end
    
  5. ADBMediaHeartBeatConfig および ADBMediaHeartBeatDelegate を使用して、ADBMediaHeartbeat インスタンスを作成します。

    code language-none
    //Replace <ADBMediaHeartBeatDelegate> with your delegate instance
    _mediaHeartbeat = [[ADBMediaHeartbeat alloc] initWithDelegate:
      <ADBMediaHeartBeatDelegate> config:config];
    
    note important
    IMPORTANT
    ADBMediaHeartbeat インスタンスがアクセス可能であることと、セッションの終わりまで解放されない ​ことを確認します。このインスタンスは、以下のすべてのトラッキングイベントに使用されます。

iOS でのバージョン 1.x から 2.x への移行 migrate-to-two-x

バージョン 2.x では、すべてのパブリックメソッドは、開発をより簡単にするために、ADBMediaHeartbeat クラスに統合されています。すべての設定は、ADBMediaHeartbeatConfig クラスに統合されています。

1.x から 2.x への移行について詳しくは、レガシー実装のドキュメントを参照してください。

tvOS のネイティブアプリの設定

新しい Apple TV のリリースに伴い、ネイティブ tvOS 環境で実行するためのアプリケーションを作成できるようになりました。iOS で利用可能ないくつかのフレームワークのいずれかを使用して完全にネイティブなアプリを作成するか、XML テンプレートおよび JavaScript を使用したアプリを作成できます。MediaSDK バージョン 2.0 から、tvOS のサポートが利用できます。tvOS について詳しくは、tvOS Developer サイトを参照してください。

次の手順を Xcode プロジェクトで実行します。このガイドは、プロジェクトのターゲットの 1 つが tvOS 用の Apple TV アプリであることを想定して記述されています。

  1. プロジェクトの lib フォルダーに VideoHeartbeat_TV.a ライブラリファイルをドラッグします。

  2. tvOS アプリのターゲットの「Build Phases(ビルドフェーズ)」タブで、「Link Binary with Libraries(バイナリをライブラリとリンク)」を展開して、以下のライブラリを追加します。

    • MediaSDK_TV.a
    • AdobeMobileLibrary_TV.a
    • libsqlite3.0.tbd
    • SystemConfiguration.framework
recommendation-more-help
c8eee520-cef5-4f8c-a38a-d4952cfae4eb