iOS のセットアップ set-up-ios
iOS デバイス用の Streaming Media Collection アドオンの設定方法について説明します。
前提条件
-
メディア 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 の実装
-
バイナリライブラリファイルについて言及されている場合は常に、 XCFramework に置き換えて使用する必要があります。
- MediaSDK.a > MediaSDK.xcframework
- MediaSDK_TV.a > MediaSDKTV.xcframework
-
Adobe XCFrameworks を手動でプロジェクトに追加する場合は、埋め込まれていないことを確認してください。
-
ダウンロードしたメディア SDK をプロジェクトに追加します。
-
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)アプリを対象としている場合、リンクされている必要があります。
-
-
以下のようにして、プロジェクトにライブラリを追加します。
-
Xcode IDE を起動して、アプリを開きます。
-
Project Navigator で、
libs
ディレクトリをドラッグして、プロジェクトにドロップします。 -
「Copy Items if Needed」チェックボックスが選択されていること、「Create Groups」が選択されていること、および「Add to Target」にあるチェックボックスが選択されていないことを確認します。
-
「完了」をクリックします。
-
Project Navigator で、アプリを選択し、ターゲットを選択します。
-
「一般」タブの「リンクされたフレームワーク」および「ライブラリ」セクションで、必要なフレームワークとライブラリをリンクさせます。
iOS アプリのターゲット:
- AdobeMobileLibrary.a
- MediaSDK.a
- libsqlite3.0.tbd
Apple TV(tvOS)のターゲット:
- AdobeMobileLibrary_TV.a
- MediaSDK_TV.a
- libsqlite3.0.tbd
- SystemConfiguration.framework
-
アプリケーションがエラーなくビルドされることを確認します。
-
-
-
ライブラリをインポートします。
code language-none #import "ADBMediaHeartbeat.h" #import "ADBMediaHeartbeatConfig.h"
-
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>;
-
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
-
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 アプリであることを想定して記述されています。
-
VideoHeartbeat_TV.a
ライブラリファイルをプロジェクトのlib
フォルダーにドラッグします。 -
tvOS アプリのターゲットの「ビルドフェーズ」タブで、「バイナリをライブラリとリンク」セクションを展開し、次のライブラリを追加します。
MediaSDK_TV.a
AdobeMobileLibrary_TV.a
libsqlite3.0.tbd
SystemConfiguration.framework