概述
PCDN支持点播和直播的P2P加速服务,请根据自身需求配置使用点播和直播服务。我们提供的PCDNSDK是一个点a文件,把该文件导入到工程目录下,配置文件中Link该文件及可以使用。
系统版本要求支持iOS 7及以上。
SDK集成步骤
Step 1 需要将LibPCDNSDK.a、PCDNSDK.h导入到工程中
Step 2 在Build Phases项的Link Binary with Libraies添加LibPCDNSDK.a
Step 3 Swift项目在代码添加导入: import PCDNSDK,Objective-C项目在代码中添加导入: #import "PCDNSDK/PCDNSDK.h"
Step 4 PCDNSDK为单例模式,PCDNSDK调用类方法sharedInstance创建实例
Step 5 调用start方法示例
- (IBAction)start {
NSArray *sandBoxPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, true);
NSString *path = sandBoxPaths.lastObject;
NSString *clientId = self.clientId_text.text;
NSString *pid = @"123";
NSString *deviceId = @"111";
int result = [[PCDNSDK sharedInstance] start:PCDN_VOD client_id:clientId pid:pid device_id:deviceId cache_path:path andExarg:nil];
}
接口使用
推荐在APP启动的时候即启动PCDN服务,一般不需要主动停止PCDN服务。
启动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;
参数
示例
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,以保证不影响原播放体验
(NSString\* \_Nonnull)address:(PCDNSDKType)type url(NSString\* \_Nonnull)url rank:(int)rank;
参数
返回值:NSString
若PCDN正常工作则返回该url的PCDN服务地址,若加速器还在启动中或加速器不可用等其他情况则返回原视频文件URL
示例
NSString\* url = [[PCDNSDK shareInstance] address:PCDN_VOD** [**url:url**](url:url) **rank:rank];
暂停PCDN服务
暂停PCDN服务,暂停之后使恢用复PCDN服务接口让加速器恢复工作。使用场景,手机从wifi环境切换到3G/4G网络环境,可以暂停PCDN服务调用pause方法。
[backcolor=transparent]注意:在程序切换到后台时必须调用此方法,程序生命周期方法applicationDidEnterBackground调用
int pause:(PCDNSDKType)type
参数
返回值:int 0 暂停成功,-1 暂停失败
示例
int result = [[PCDNSDK sharedInstance] pause:type];
恢复PCDN服务
PCDN服务暂停之后,使用该接口恢复工作,与暂停PCDN服务接口配合使用,恢复wifi环境时调用resume方法。
[backcolor=transparent]注意:在程序切换到前台时必须调用此方法,程序生命周期方法applicationWillEnterForeground调用
int resume:(PCDNSDKType)type
参数
返回值:int 0 恢复成功,-1 恢复失败
示例
int result = [[PCDNSDK sharedInstance] resume:PCDN_VOD];
设置接口
接口
(int)set:(PCDNSDKType)type name\_values:(NSString\* \_Nonnull)name;
参数
返回值:0 设置成功 -1 设置失败,set接口支持的name
示例
NSString \*name = \@"max-disk-size=250"
int result = [[PCDNSDK sharedInstance] set:PCDN\_VOD name\_values:name];
信息获取
接口
(NSString\* \_Nonnull)get:(PCDNSDKType)type name:(NSString\* \_Nonnull)name;
参数
返回值:NSString*get接口支持name,version 获取PCDN SDK版本号
示例
NSString \*name = \@"cache-size"
NSString \*result = [[PCDNSDK sharedInstance] get:PCDN\_VOD name:name];
停止PCDN服务
程序退出时调用stop接口,停止PCDN服务。
[backcolor=transparent]注意:需要在生命周期方法applicationWillTerminate中必须调用stop接口
int stop:(PCDNSDKType)type
参数
返回值
int 0:停止成功,-1:停止失败
示例
int result = [[PCDNSDK sharedInstance] stop:PCDN_VOD];