测试已测试 | ✗ |
语言语言 | SwiftSwift |
许可证 | Apache 2 |
发布上次发布 | 2017年6月 |
SwiftSwift 版本 | 3.0 |
SPM支持 SPM | ✗ |
由 mbpr13 维护。
$ sudo gem install cocoapods
Podfile 示例
在您的 Podfile 中添加
pod 'ViscoveryADSDK'
或使用最新版本
pod 'ViscoveryADSDK', :git => 'https://github.com/viscovery/viscovery-ad-sdk-ios.git'
然后执行
pod install
一旦命令完成,在 Xcode 中打开 .xcworkspace 文件
import ViscoveryADSDK
在您的广告请求之前放置这些行。
import ViscoveryADSDK
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
AdsManager.apiKey = "873cbd49-738d-406c-b9bc-e15588567b39"
return true
}
在您开始之前,您必须设置您的 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()
}
}
@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