JXVideoAds 开源项目使用教程
googleads-ima-JXAVideoAds 项目地址: https://gitcode.com/gh_mirrors/goo/googleads-ima-JXAVideoAds
1. 项目介绍
JXVideoAds 是一个对谷歌视频广告 SDK 进行二次封装的框架,旨在简化在 iOS 项目中集成谷歌视频广告的过程。该框架提供了常用参数接口和自定义接口,支持 Swift 和 Objective-C 项目。JXVideoAds 主要提供了两个类来控制广告的生命周期,分别是 JXAVideoOperator
和 JXAVideoView
。
主要功能
- JXAVideoOperator: 基于
NSObject
,用于加载广告,类似于manager
。必须传入一个UIView
作为广告播放的容器视图,以及广告加载和调用状态的回调。 - JXAVideoView: 基于
UIView
,作为广告播放的容器视图,也是广告的管理者。推荐使用这个类,使用起来更简易,内部自己封装好了AVPlayer
,无需传入。
2. 项目快速启动
安装
在您的 Podfile
中添加以下代码:
platform :ios, '9.0'
target 'TargetName' do
pod 'JXVideoAds'
end
然后运行 pod install
命令。
使用示例
使用 JXAVideoView
#import "JXAVideoView.h"
- (IBAction)params:(id)sender {
[self.containerView params:^JXAVideoParamsBuilder *(JXAVideoParamsBuilder *paramsBuilder) {
return paramsBuilder
.autoPlayAdBreaks(YES)
.adTagUrl(tag);
} state:^(JXAVideoAdsState state, JXAVideoAds *video) {
switch (state) {
case JXAVideoAdsState_Loaded:
NSLog(@"已经加载完毕 - JXAVideoAdsState_Loaded");
[video play];
break;
case JXAVideoAdsState_Started:
NSLog(@"已经开始播放广告 - JXAVideoAdsState_Started");
break;
case JXAVideoAdsState_Error:
NSLog(@"加载错误 - JXAVideoAdsState_Error");
break;
case JXAVideoAdsState_Pause:
NSLog(@"广告暂停 - JXAVideoAdsState_Pause");
break;
case JXAVideoAdsState_Ended:
NSLog(@"广告播放结束 - JXAVideoAdsState_Ended");
break;
case JXAVideoAdsState_Skipped:
NSLog(@"广告已经跳过 - JXAVideoAdsState_Skipped");
break;
default:
break;
}
}];
}
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[self.containerView remove];
}
使用 JXAVideoOperator
#import "JXAVideoOperator.h"
- (IBAction)mNormal:(id)sender {
self.operator = [[JXAVideoOperator alloc] initWithTagUrl:tagOne containerView:self.containerView userContext:nil state:^(JXAVideoAdsState state, JXAVideoAds *video) {
switch (state) {
case JXAVideoAdsState_Loaded:
NSLog(@"广告加载完毕 - JXAVideoAdsState_Loaded");
[video play];
break;
case JXAVideoAdsState_Started:
NSLog(@"已经开始播放广告 - JXAVideoAdsState_Started");
break;
case JXAVideoAdsState_Error:
NSLog(@"加载错误 - JXAVideoAdsState_Error");
break;
case JXAVideoAdsState_Pause:
NSLog(@"广告暂停 - JXAVideoAdsState_Pause");
break;
case JXAVideoAdsState_Ended:
NSLog(@"广告播放结束 - JXAVideoAdsState_Ended");
break;
case JXAVideoAdsState_Skipped:
NSLog(@"广告已经跳过 - JXAVideoAdsState_Skipped");
break;
default:
break;
}
}];
}
- (void)viewDidDisappear:(BOOL)animated {
[super viewDidDisappear:animated];
[self.operator remove];
}
3. 应用案例和最佳实践
应用案例
- 视频播放器广告集成: 在视频播放器中集成广告,用户在观看视频前或视频播放过程中展示广告。
- 应用内广告: 在应用的特定页面或功能中展示广告,增加应用的变现能力。
最佳实践
- 广告加载优化: 在用户进入广告展示页面之前预加载广告,以提高广告展示的流畅性。
- 用户体验: 确保广告展示不会影响用户体验,例如在用户暂停视频时展示广告。
- 广告跳过: 提供广告跳过选项,以提高用户满意度。
4. 典型生态项目
- Google Mobile Ads SDK: 谷歌移动广告 SDK,提供了横幅广告、插页式广告、原生广告和激励广告等功能。
- AVPlayer: iOS 系统提供的视频播放器,JXVideoAds 内部封装了
AVPlayer
,可以直接使用。 - AdManager: 谷歌广告管理平台,用于管理广告投放和收益。
通过以上模块的介绍和示例代码,您可以快速上手使用 JXVideoAds 框架,并在您的 iOS 项目中集成谷歌视频广告。
googleads-ima-JXAVideoAds 项目地址: https://gitcode.com/gh_mirrors/goo/googleads-ima-JXAVideoAds
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考