文档

PCDN SDK iOS版手册

更新时间:

本文为您介绍iOS SDK使用说明和操作步骤。

概述

PCDN支持点播和直播的P2P加速服务,请根据自身需求配置使用点播和直播服务。我们提供的是PCDNSDK.framework,把该文件导入到工程目录下,配置文件中链接到该文件即可以使用。

SDK集成步骤

  1. 需要将PCDNSDK.framework导入到工程中。

  2. 在工程选中Target在General中找到Embedded Binaries项,添加PCDNSDK.framework。

  3. 在工程Target-Build Setting中找到Enable Bitcode项,选择NO,如下图。

  4. Swift项目在代码添加导入: import PCDNSDK Objective-C项目在代码中添加导入: #import "PCDNSDK/PCDNSDK.h"。

  5. Step 5PCDNSDK为单例模式,PCDNSDK调用类方法sharedInstance创建实例。

  6. 调用start方法示例。

    - (IBAction)start {
         NSArray *sandBoxPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true);
        NSString *path = sandBoxPaths.lastObject;
        NSString *clientId = self.clientId_text.text;
        NSString *pid = @"123";
        int result = [[PCDNSDK sharedInstance] start:PCDN_VOD client_id:clientId pid:pid cache_path:path andExarg:nil];
    }

接口使用

推荐在App启动的时候即启动PCDN服务,一般不需要主动停止PCDN服务。

1.启动PCDN服务

接口

(int)start:(PCDNSDKType)type client\_id:(NSString\* \_Nonnull)client\_id pid:(NSString\* \_Nonnull)pid device\_id:(NSString\* \_Nonnull)device\_id cache\_path:(NSString\* \_Nonnull)cache\_path andExarg:(NSDictionary\* \_Nullable)exarg;

参数

参数

类型

是否必须

说明

PCDN_VOD

PCDNSDKType枚举

需要启动的加速器类。

  • 点播

  • PCDN_VOD,直播

  • PCDN_LIVE

token

NSString

阿里云分配的token

cache_path

NSString

加速器缓存目录的绝对路径。

pid

NSString

App渠道编号,使用渠道编号,可通过云端对不同渠道的App加速器进行统计和控制,若不区分渠道可使用null。

exar

NSString

可为null,预留扩展参数。

返回值

int 0: 启动成功,其它则启动失败。

示例

int result = [[PCDNSDK sharedInstance] start:PCDN_VOD client_id:client pid:pid  cache_path:path andExarg:@""];

2.PCDN地址转换

将普通视频文件URL转换为PCDN服务URL,播放器采用转换之后的URL进行播放,若调用该接口时加速器还没准备好,则会返回传入的原URL地址,以保证不影响原播放体验,下面两个地址转换接口使用其中一个即可。

接口1

(NSString* _Nonnull)address:(PCDNSDKType)type url(NSString* _Nonnull)url;

参数

参数

类型

是否必须

说明

PCDN_VOD

PCDNSDKType枚举

点播/PCDN_VOD,直播/PCDN_LIVE。

url

NSString

需要加速的视频文件URL [http://www.alibaba.com/a.mp4]。

返回值:NSString

若PCDN正常工作,则返回该URL的PCDN服务地址,若加速器还在启动中或加速器不可用等其他情况,则返回原视频文件URL。

示例

NSString\* url = [[PCDNSDK shareInstance] address:PCDN_VOD** [**url:url**](url:url) **rank:rank];

接口2

(NSString* _Nonnull)address:(PCDNSDKType)type url(NSString* _Nonnull)url rank:(int)rank;

参数

参数

类型

是否必须

说明

PCDN_VOD

PCDNSDKType枚举

点播/PCDN_VOD,直播/PCDN_LIVE。

url

NSString

需要加速的视频文件URL [http://www.alibaba.com/a.mp4]。

rank

int

0,加速级别。

返回值:NSString

若PCDN正常工作则返回该PCDN转换完的URL地址,若加速器还在启动中或加速器不可用等其他情况则返回原URL地址。

示例

NSString* url = [[PCDNSDK shareInstance] address:PCDN_VOD url:url rank:rank];

3.设置接口

(int)set:(PCDNSDKType)type name_values:(NSString* _Nonnull) name;

参数

类型

是否必须

说明

PCDN_VOD

PCDNSDKType枚举

点播/PCDN_VOD,直播/PCDN_LIVE。

name

NSString

keyvalue_list(键值对,形式为:key=value&key2=value2)。

4.信息获取

(NSString* _Nonnull)get:(PCDNSDKType)type name:(NSString* _Nonnull)name;

参数

类型

是否必须

说明

PCDN_VOD

PCDNSDKType枚举

点播/PCDN_VOD,直播/PCDN_LIVE。

name

NSString

想要获取的信息的key。

get接口支持的key,在PCDNSDK.h文件中有定义。

#define VERSION                                          @"version"
#define MAX_UPLOAD_BANDWIDTH                @"max-upload-bandwidth"
#define TOTAL_DOWNLOAD_FROM_CDN          @"total-download-from-cdn"
#define TOTAL_DOWNLOAD_FROM_P2P          @"total-download-from-p2p"
#define TOTAL_UPLOAD_SIZE                      @"total-upload-size"

示例

NSString *name = @"max-upload-bandwidth"
NSString *result = [[PCDNSDK sharedInstance] get:PCDN_VOD name:name];

5.停止PCDN服务

程序退出时调用stop接口,停止PCDN服务。

重要

需要在生命周期方法applicationWillTerminate中必须调用stop接口。

int stop:(PCDNSDKType)type

参数

参数

类型

是否必须

说明

PCDN_VOD

PCDNSDKType枚举

点播/PCDN_VOD,直播/PCDN_LIVE。

返回值

int 0:停止成功,-1:停止失败。

示例

int result = [[PCDNSDK sharedInstance] stop:PCDN_VOD];
  • 本页导读 (0)
文档反馈