保利威文档中心

幫助中心

3 初始化

更新時間:2023-04-17 15:27:58

3.1 專案配置

3.1.1 新增權限

由於點播專案中的播放器,在播放過程中進行截圖後會直接儲存到系統相簿,使用者上傳影片前,也需要存取系統相簿取得影片檔案,因此需要在檔案 Info.plist 中新增系統相簿的讀寫權限。

另外,本專案支援背景播放,因此還需要開啟背景播放權限。info.plist 檔案新增內容如下:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    ……
    <key>NSPhotoLibraryUsageDescription</key>
    <string>允许App访问相册以保存截图或读取相册视频文件</string>
    <key>UIBackgroundModes</key>
    <array>
    <string>audio</string>
    </array>
    ……
</dict>
</plist>

3.1.2 支援橫豎螢幕

本專案支援橫豎螢幕播放,選擇 Targets 的 General 選單欄,在 Deployment Info 中按下圖設定:

初始化_圖1

3.2 SDK 配置

保利威點播 SDK 需要使用者提供 useIdreadtokenwritetokensecretkey 這四個配置資訊,關於這四個參數的作用,詳見保利威雲點播-伺服器API使用手冊-名詞解釋。基於安全性考量,建議將這些參數儲存在伺服端,APP 在啟動時從伺服端取得並配置。

為防止 APP 端被嗅探這幾個參數,需要對傳輸的內容進行加密。因此,就有了 SDK加密串——在伺服器端對以上四個參數進行加密,APP端對應的進行解密。開發者應當設計自己的加解密方式,並且APP端應透過 https 協定請求伺服器端介面。

為方便快速整合和調試 SDK 的功能,保利威管理後台提供了一種固定加密方式的臨時SDK加密串,請勿直接在正式環境使用。

3.2.1 帳號配置

點播 SDK 中的類別 PLVVodSettings 提供了以下幾個方法進行 SDK 配置。

最推薦的方法,是使用 https 介面,從伺服器端取得加密串,APP 本地解密(開發者設計自己的加解密方式)得到 useIdreadtokenwritetokensecretkey ,再使用以下方法進行 SDK 配置。

/// 通过 userid、readtoken、writetoken、secretkey 配置账号
+ (instancetype)settingsWithUserid:(NSString *)userid 
                         readtoken:(NSString *)readtoken 
                        writetoken:(NSString *)writetoken 
                         secretkey:(NSString *)secretkey;

其次,點播 SDK 提供了一種固定的加密方式,開發者可在開發時使用,但由於安全性不如第一種方式,不推薦使用在正式環境。加密串、加密金鑰、加密向量可在保利威影片雲平台取得。注意:加密金鑰、加密向量字元長度必須為16位。

/// 通过加密串 configString、加密密钥 key、加密向量 iv 配置账号
+ (instancetype)settingsWithConfigString:(NSString *)configString key:(NSString *)key iv:(NSString *)iv error:(NSError **)error;

errornil,可透過以上方法回傳的 PLVVodSettings 物件的唯讀屬性 userIdreadtokenwritetokensecretkey 讀取到保利威點播 SDK 的四個配置資訊。

對於安全性要求較高的公司,可對 APP 進行加固,防止 APP 在越獄裝置上被破解、分析導致帳號及使用者隱私資料的洩漏。市面上有很多對 iOS 應用進行加固的產品可以使用。

3.2.2 日誌配置

點播 SDK 內部使用自建的日誌等級系統,日誌等級使用位元運算子定義,因此開發者可以根據自己需要使用 |(位元運算子:或)進行組合使用,設定個人化的日誌等級。透過修改 PLVVodSettings 物件的屬性 logLevel 設定日誌等級,日誌等級預設為

/// 日志等级
typedef NS_OPTIONS(NSUInteger, PLVVodLogLevel) {
    PLVVodLogLevelSilent = 0,       // 禁用日志输出
    PLVVodLogLevelError  = 1 << 0,    // 只输出错误日志
    PLVVodLogLevelWarn   = 1 << 1,    // 只输出警告日志
    PLVVodLogLevelInfo   = 1 << 2,    // 只输出信息日志
    PLVVodLogLevelDebug  = 1 << 3,    // 只输出调试日志
    PLVVodLogLevelWithoutDebug = PLVVodLogLevelError | PLVVodLogLevelWarn | PLVVodLogLevelInfo,
    PLVVodLogLevelAll    = 0xFFFFFFFF,
};

其次,透過修改 PLVVodSettings 物件的屬性 viewerIdviewerName,在日誌系統中加入終端使用者(App 使用者)的帳號 ID、帳號暱稱。日誌配置程式碼範例如下:

[PLVVodSettings sharedSettings].logLevel = PLVVodLogLevelAll; // 禁用日志输出
[PLVVodSettings sharedSettings].viewerId = @"账号ID";
[PLVVodSettings sharedSettings].viewerName = @"账号昵称";

建議在進行帳號配置之後就進行日誌配置。

联系客服,在线咨询