设置 iOS set-up-ios
了解如何为iOS设备设置流媒体收集加载项。
先决条件
-
获取 Media SDK 的有效配置参数
在设置 Analytics 帐户后,您可以从 Adobe 代表处获取这些参数。 -
在应用程序中实施适用于 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 - Media SDK 要求在播放器中发生事件时调用一组简单的 API。
- 提供播放器信息的 API - 此信息包括媒体名称和播放头位置等详细信息。
SDK 实施
-
每当提到二进制库文件时,应改用其 XCFramework 替换:
- MediaSDK.a > MediaSDK.xcframework
- MediaSDK_TV.a > MediaSDKTV.xcframework
-
如果手动将 Adobe XCFramework 添加到您的项目,请确保未嵌入它们。
-
将下载的 Media SDK 添加到您的项目中。
-
验证以下软件组件存在于
libs
目录中:-
ADBMediaHeartbeat.h
:用于 iOS 心跳跟踪 API 的 Objective-C 头文件。 -
ADBMediaHeartbeatConfig.h
:用于 SDK 配置的 Objective-C 头文件。 -
MediaSDK.a
:启用了 bitcode 的胖二进制文件,其中包含用于 iOS 设备(armv7、armv7s、arm64)和模拟器(i386 和 x86_64)的库生成。当目标面向 iOS 应用程序时,应该关联此二进制文件。
-
MediaSDK_TV.a
:启用了 bitcode 的胖二进制文件,其中包含用于新 Apple TV 设备 (arm64) 和模拟器 (x86_64) 的库生成。当目标面向 Apple TV (tvOS) 应用程序时,应该关联此二进制文件。
-
-
将库添加到您的项目中:
-
启动 Xcode IDE 并打开您的应用程序。
-
在 项目导航器 中,将
libs
目录拖放到您的项目下。 -
确保选中 需要时复制项目 复选框,选定 创建群组,且未选中 添加到目标 中的任何复选框。
-
单击 完成。
-
在 项目导航器 中,选择您的应用程序并选择您的目标。
-
在 常规 选项卡上的 链接的框架 和 库 区域,链接所需的框架和库。
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 开发人员网站。
在您的 Xcode 项目中执行以下步骤。本指南的编写假定您的项目具有针对 tvOS 的 Apple TV 应用程序:
-
将
VideoHeartbeat_TV.a
库文件拖到您项目的lib
文件夹中。 -
在tvOS应用程序目标的 生成阶段 选项卡中,展开 将二进制文件与库关联 部分,然后添加以下库:
MediaSDK_TV.a
AdobeMobileLibrary_TV.a
libsqlite3.0.tbd
SystemConfiguration.framework