JXVideoAds 开源项目使用教程

JXVideoAds 开源项目使用教程

googleads-ima-JXAVideoAds googleads-ima-JXAVideoAds 项目地址: https://gitcode.com/gh_mirrors/goo/googleads-ima-JXAVideoAds

1. 项目介绍

JXVideoAds 是一个对谷歌视频广告 SDK 进行二次封装的框架,旨在简化在 iOS 项目中集成谷歌视频广告的过程。该框架提供了常用参数接口和自定义接口,支持 Swift 和 Objective-C 项目。JXVideoAds 主要提供了两个类来控制广告的生命周期,分别是 JXAVideoOperatorJXAVideoView

主要功能

  • 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. 应用案例和最佳实践

应用案例

  1. 视频播放器广告集成: 在视频播放器中集成广告,用户在观看视频前或视频播放过程中展示广告。
  2. 应用内广告: 在应用的特定页面或功能中展示广告,增加应用的变现能力。

最佳实践

  • 广告加载优化: 在用户进入广告展示页面之前预加载广告,以提高广告展示的流畅性。
  • 用户体验: 确保广告展示不会影响用户体验,例如在用户暂停视频时展示广告。
  • 广告跳过: 提供广告跳过选项,以提高用户满意度。

4. 典型生态项目

  • Google Mobile Ads SDK: 谷歌移动广告 SDK,提供了横幅广告、插页式广告、原生广告和激励广告等功能。
  • AVPlayer: iOS 系统提供的视频播放器,JXVideoAds 内部封装了 AVPlayer,可以直接使用。
  • AdManager: 谷歌广告管理平台,用于管理广告投放和收益。

通过以上模块的介绍和示例代码,您可以快速上手使用 JXVideoAds 框架,并在您的 iOS 项目中集成谷歌视频广告。

googleads-ima-JXAVideoAds googleads-ima-JXAVideoAds 项目地址: https://gitcode.com/gh_mirrors/goo/googleads-ima-JXAVideoAds

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

白羿锟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值