ViscoveryADSDK 1.2.3

ViscoveryADSDK 1.2.3

测试已测试
语言语言 SwiftSwift
许可证 Apache 2
发布上次发布2017年6月
SwiftSwift 版本3.0
SPM支持 SPM

mbpr13 维护。



  • boska lee

iOS ViscoveryADSDK 集成

先决条件

  • ViscoveryADSDK 账户
  • Xcode
  • iOS 9.0
  • CocoaPods
$ sudo gem install cocoapods

将库添加到 Xcode 项目

Podfile 示例

在您的 Podfile 中添加

pod 'ViscoveryADSDK'

或使用最新版本

pod 'ViscoveryADSDK', :git => 'https://github.com/viscovery/viscovery-ad-sdk-ios.git'

然后执行

pod install

一旦命令完成,在 Xcode 中打开 .xcworkspace 文件

分步实现

查看完整源代码链接

1. 引入 SDK

import ViscoveryADSDK

2. 设置 API 密钥

在您的广告请求之前放置这些行。

import ViscoveryADSDK
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
    AdsManager.apiKey = "873cbd49-738d-406c-b9bc-e15588567b39"
    return true
}

3. 设置 AdsManager

在您开始之前,您必须设置您的 AVPlayer 和-containing AVPlayerLayer 的 UIView。

var contentPlayer: AVPlayer?
var adsManager: AdsManager!
@IBOutlet weak var outstreamContainer: UIView!

然后初始化 AdsManager

adsManager = AdsManager(player: contentPlayer!, 
                     videoView: videoContainer, 
        outstreamContainerView: outstreamContainer)

然后您可以请求广告,视频将自动开始。

adsManager.requestAds()

完整示例源代码

代码 ####VideoView 此类仅用于演示。您应该将其替换为任何包含 AVPlayerLayer 的视图。

class VideoView: UIView {
  var player: AVPlayer? {
    set {
      (self.layer as! AVPlayerLayer).player = newValue
    }
    get {
      return (self.layer as! AVPlayerLayer).player
    }
  }
  override class var layerClass: AnyClass {
    return AVPlayerLayer.self
  }
  required init?(coder aDecoder: NSCoder) {
    super.init(coder: aDecoder)
    let tap = UITapGestureRecognizer(target: self, action: #selector(VideoView.tap))
    addGestureRecognizer(tap)
  }
  func tap() {
    player?.rate == 1.0 ? player?.pause() : player?.play()
  }
}

Objective-C 示例源代码

@import ViscoveryADSDK;

@interface AppDelegate ()
@end

@implementation AppDelegate

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  AdsManager.apiKey = @"873cbd49-738d-406c-b9bc-e15588567b39";
  // Override point for customization after application launch.
  return YES;
}

@end
@import ViscoveryADSDK;

@interface VideoView : UIView
  @end
@implementation VideoView
+ (Class) layerClass {
  return [AVPlayerLayer class];
}
  @end

@interface ViewController ()
@property(nonatomic,weak) IBOutlet VideoView *videoView;
@property(nonatomic,strong) AVPlayer *contentPlayer;
@property(nonatomic,strong) AdsManager *adsManager;
@end


@implementation ViewController

- (void)viewDidLoad {
  [super viewDidLoad];
  
  NSURL *url = [[NSURL alloc]initWithString:@"http://viscovery-vsp-dev.s3.amazonaws.com/sdkdemo/Videos/Mobile%20App_Demo%20Video%20(540p).mp4"];
  
  self.contentPlayer = [AVPlayer playerWithURL:url];
  ((AVPlayerLayer *)self.videoView.layer).player = self.contentPlayer;
  self.adsManager = [[AdsManager alloc] initWithPlayer:self.contentPlayer videoView:self.videoView];
  
  [self.adsManager requestAdsWithVideoURL:@"https%3A%2F%2Ftw.yahoo.com%2F"];
  
  //[self.adsManager requestAdsWithVideoURL:nil];
}

@end