全部产品
存储与CDN 数据库 安全 应用服务 数加·人工智能 数加·大数据基础服务 互联网中间件 视频服务 阿里云办公 培训与认证 物联网

PCDN SDK iOS版手册

更新时间:2017-06-07 13:26:11   分享:   

概述

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

系统版本要求支持iOS 7及以上。


SDK集成步骤

Step 1 需要将LibPCDNSDK.a、PCDNSDK.h导入到工程中

Step 2 在Build Phases项的Link Binary with Libraies添加LibPCDNSDK.a linkImg.png

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

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

Step 5 调用start方法示例

  1. - (IBAction)start {
  2. NSArray *sandBoxPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true);
  3. NSString *path = sandBoxPaths.lastObject;
  4. NSString *clientId = self.clientId_text.text;
  5. NSString *pid = @"123";
  6. NSString *deviceId = @"111";
  7. int result = [[PCDNSDK sharedInstance] start:PCDN_VOD client_id:clientId pid:pid device_id:deviceId cache_path:path andExarg:nil];
  8. }


接口使用

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

启动PCDN服务

接口

  1. (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
device_id NSString 每台设备的唯一ID
cache_path NSString 加速器缓存目录的绝对路径
pid NSString APP渠道编号,使用渠道编号,可通过云端对不同渠道的APP加速器进行统计和控制,若不区分渠道可使用null
exar NSString 可为null,预留扩展参数

示例

  1. int result = [[PCDNSDK sharedInstance] start:PCDN_VOD client\_id:client pid:pid device\_id:device\_id cache\_path:path andExarg:@""];


PCDN地址转换

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

  1. (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正常工作则返回该url的PCDN服务地址,若加速器还在启动中或加速器不可用等其他情况则返回原视频文件URL

示例

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


暂停PCDN服务

暂停PCDN服务,暂停之后使恢用复PCDN服务接口让加速器恢复工作。使用场景,手机从wifi环境切换到3G/4G网络环境,可以暂停PCDN服务调用pause方法。

注意:在程序切换到后台时必须调用此方法,程序生命周期方法applicationDidEnterBackground调用

  1. int pause:(PCDNSDKType)type

参数

参数 类型 是否必须 说明
PCDN_VOD PCDNSDKType枚举 点播/PCDN_VOD,直播/PCDN_LIVE

返回值:int 0 暂停成功,-1 暂停失败

示例

  1. int result = [[PCDNSDK sharedInstance] pause:type];


恢复PCDN服务

PCDN服务暂停之后,使用该接口恢复工作,与暂停PCDN服务接口配合使用,恢复wifi环境时调用resume方法。

注意:在程序切换到前台时必须调用此方法,程序生命周期方法applicationWillEnterForeground调用

  1. int resume:(PCDNSDKType)type

参数

参数 类型 是否必须 说明
PCDN_VOD PCDNSDKType枚举 点播/PCDN_VOD,直播/PCDN_LIVE

返回值:int 0 恢复成功,-1 恢复失败

示例

  1. int result = [[PCDNSDK sharedInstance] resume:PCDN_VOD];


设置接口

接口

  1. (int)set:(PCDNSDKType)type name\_values:(NSString\* \_Nonnull)name;

参数

参数 类型 是否必须 说明
PCDN_VOD PCDNSDKType枚举 点播/PCDN_VOD,直播/PCDN_LIVE
name NSString 名值对组成的字符串,例如"a=1 b=2 c=3&quot

返回值:0 设置成功 -1 设置失败,set接口支持的name

示例

  1. NSString \*name = \@"max-disk-size=250"
  2. int result = [[PCDNSDK sharedInstance] set:PCDN\_VOD name\_values:name];


信息获取

接口

  1. (NSString\* \_Nonnull)get:(PCDNSDKType)type name:(NSString\* \_Nonnull)name;

参数

参数 类型 是否必须 说明
PCDN_VOD PCDNSDKType枚举 点播/PCDN_VOD,直播/PCDN_LIVE
name NSString 想要获取的信息的key

返回值:NSString*get接口支持name,version 获取PCDN SDK版本号

示例

  1. NSString \*name = \@"cache-size"
  2. NSString \*result = [[PCDNSDK sharedInstance] get:PCDN\_VOD name:name];

停止PCDN服务

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

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

  1. int stop:(PCDNSDKType)type

参数

参数 类型 是否必须 说明
PCDN_VOD PCDNSDKType枚举 点播/PCDN_VOD,直播/PCDN_LIVE

返回值

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

示例

  1. int result = [[PCDNSDK sharedInstance] stop:PCDN_VOD];
本文导读目录
本文导读目录
以上内容是否对您有帮助?