CocoaPods trunk is moving to be read-only. Read more on the blog, there are 17 months to go.

Centrixlink-iOS 2.5.5

Centrixlink-iOS 2.5.5

License Unknown
ReleasedLast Release Jul 2018

Maintained by devSupport, Zhaopeng, jiawei.xu.



  • By
  • Centrixlink and peng.zhao

# Centrixlink-iOS-SDK

平台支持

iOS7+ 版本

准备工作

Cocoapods管理

Centrixlink iOS SDK可以通过Cocoapods工具自动操作完成。使用Cocoapods工具安装Centrixlink iOS SDK,只需在工程Podfile文件中添加以下代码并运行pod install命令即可。
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '7.0'

target 'TargetName' do
    pod 'Centrixlink-iOS', '~> 2.5.4'
end

手动操作

  1. 从官网下载Centrixlink_iOS_SDK文件。

  2. 解压缩Centrixlink框架(Centrixlink.embeddedframework/Cntrixlink.framework),并添加到XCode项目中。

  3. 添加Resources/CLBundle.bundle到Xcode项目中。

  4. 添加以下依赖库:

       * UIKit.framework
       * AVFoundation.framework
       * Foundation.framework
       * CoreMedia.framework
       * CoreLocation.framework
       * CoreTelephony.framework
       * SystemConfiguration.framework  
       * Storekit.framework
       * MediaPlayer.framework
       * CFNetwork.framework
       * AdSupport.framework
       * ImageIO.framework
       * libz.dylib
       * libsqlite3.dylib
       * libstdc++.dylib
    
  5. 添加编译参数

在Xcode中选择项目的Targets->Build Settings,配置Other Link Flags 增加 -ObjC -all_load

  1. 状态栏控制设置

打开项目的Info.plist,增加 "View controller-based status bar appearance" 选项,并设置为 "No".

  1. 申请:App ID、App Key

集成说明

1. 添加头文件

  • AppDelegate.h:
 #import <Centrixlink/Centrixlink.h>

2. 激活SDK

  • AppDelegate.m:
- (BOOL)application:(UIApplication *)application 
    didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    //开启debug
    [[CentrixlinkAD sharedInstance] setDebugEnable:YES]; 

    //设置视频广告的展示方向(在调用startWithAppID:AppSecretKey:error:方法前调用该方法)
    //orientation: 视频广告展示方向(UIInterfaceOrientationMaskPortrait / UIInterfaceOrientationMaskLandscape / UIInterfaceOrientationMaskAll = default)
    [[CentrixlinkAD sharedInstance] setPlayAdOrientation:UIInterfaceOrientationMaskAll];

    //激活SDK
    NSError *error;
    NSString *  Default_App_ID = @"ECbUXI7E5l";
    NSString * Default_App_Key = @"MIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQCq2c/yohc/9kWa0cfmMo1DTGM4rUmRyZ7WcKyhJZZNH8tiFY9i32FGMN8x4QT2hr2iiPfzizRkGfYoG+++9wAAWHhobu2cZ+dIcBTwayDFY4OJo6k592YFbyDa9mwuirgb0fRGtWY3WzvI5oaigZnv9EFjRVdr1omLk10azYNcwQIDAQAB";
    
    /* 实际开发中请务必使用自己申请的AppID 和 AppSecretKey */
    [[CentrixlinkAD sharedInstance] startWithAppID:Default_App_ID AppSecretKey:Default_App_Key error:&error];
        if(error){
           NSLog(@"start Error %@", error);
        }else{
           NSLog(@"start Success");
        }
}

3. 添加代码到展示视频广告的ViewController中

3.1 添加代理

- (void)viewDidLoad{
  //设置代理(广告代理)
   [[CentrixlinkAD sharedInstance] setDelegate:self];
  }

3.2 跟踪视频广告展示添加相关委托接口

/**
 *  广告adId
 */
UIKIT_EXTERN NSString *const ADInfoKEYADID;


/**
 *  视频广告播放状态,true为视频广告完整播放,false为视频广告非完整播放
 */
UIKIT_EXTERN NSString *const ADInfoKEYADPlayStatus;


/**
 * 视频广告是否被点击,true为点击,false为未点击
 */
UIKIT_EXTERN NSString *const ADInfoKEYIsClick;


#pragma mark ----CentrixlinkDelegate

- (void)centrixLinkAdPlayability:(BOOL)isAdPlayable {
    //返回是否有可播放广告
}


/**
 *    视频广告即将展示
 *
 *  @param ADInfo 视频广告信息
 */
- (void)centrixLinkVideoADWillShow:(NSDictionary *)ADInfo {
    //广告资源ID
    NSString *adid = [ADInfo objectForKey:ADInfoKEYADID];
    NSLog(@"视频广告数据已经准备完毕,即将开始展示;请保存当前应用或游戏状态");
}


/**
 *   视频广告完成展示
 *
 *  @param ADInfo 视频广告信息
 */
- (void)centrixLinkVideoADDidShow:(NSDictionary *)ADInfo {
    //广告资源ID
    NSString *adid = [ADInfo objectForKey:ADInfoKEYADID];
    NSLog(@"视频广告页面已经展示");
}

/**
 *   视频广告展示已关闭
 *
 *  @param ADInfo 视频广告信息,若播放广告错误则ADInfo包含error字段及错误信息
 */
 
- (void)centrixLinkVideoADClose:(NSDictionary *)ADInfo {
    //广告资源ID
    NSString *adid = [ADInfo objectForKey:ADInfoKEYADID];
    //是否有点击事件
    BOOL isClick = [[ADInfo objectForKey:ADInfoKEYIsClick] boolValue];
    //是否完整播放
    BOOL isplayFinished = [ADInfo objectForKey:ADInfoKEYADPlayStatus];
    //详细信息
    NSLog(@"ADInfo: %@",ADInfo);
    
}

/**
 显示广告出错

 @param error 通过不同的error code区分不同的错误类型
 */
- (void)centrixLinkVideoADShowFail:(NSError *)error {
    NSLog(@"%@", error);
    /* code
    100	广告的播放间隔时间不满足条件
    101	本地没有可播放广告
    105	当前正在播放其它广告
    106	处于静默状态
    108	当前用户播放超限
    */
}

3.3 展示视频广告

//只展示预加载视频广告
- (void)showPreloadAD:(id )sender {
    CentrixlinkAD *manager = [CentrixlinkAD sharedInstance];
    NSError *error = nil;
    //当前是否可以显示广告
    if([manager isAdPlayable]) {
    //options可以传入播放的参数:
    /*
     *  CentrixlinkPlayAdOptionKeyUser: 用户ID
     *  CentrixlinkPlayAdOptionKeyIECAutoClose: endcard是否点击后自动关闭,如不自动关闭,则可以多次点击。(default:YES)
     *  CentrixlinkPlayAdOptionKeyExtra1: 其它扩展参数
     *  其它参数可参考CentrixlinkConst.h定义。
     * 
    */
        [manager playAD:self options:@{CentrixlinkPlayAdOptionKeyUser:@"test_userId", CentrixlinkPlayAdOptionKeyExtra1:@"Extra1",CentrixlinkPlayAdOptionKeyIECAutoClose:@(YES)} error:&error];
        if (error) {
            //处理错误
            NSLog(@"%@", error);
        }
    }else{
        NSLog(@"当前无有效的预加载视频广告");
    }
  }