激励广告视频开发代码之穿山甲平台接入实例

文档内容:包括「激励视频-再看一个」功能介绍、开发者功能使用说明、奖励回调接口改动说明 与 对开发者FAQ的答疑。文档适用于Android与iOS双端。如今激励广告视频非常流行,各种任务达成奖励用看激励广告的方式来完成,对于平台来说可以获得流量的补贴,对于用户来说无非是时间换奖励问题。激励视频广告很多时候基于用户免费的模型来作一些扩展,平台基于流量的收益来作一些运营营收通道。

功能简介
基本介绍
用户在看完一个激励视频后能够自主选择“再看一个激励视频”来获取更多奖励,这就是穿山甲SDK提供的「激励视频-再看一个」功能。 该功能是「激励视频」的延伸,用户通过进一步广告互动获取更多APP内激励,有利于用户体验与APP活跃时长;同时开发者也可借该功能提升激励视频曝光量与收入。

样式示意
当前在挽留弹窗中展示“再看一个获取更多奖励”的二次激励广告入口。样式持续迭代优化中。 第二个广告无填充时,不会出现二次激励入口。

前置条件 权限等级:功能已全量开放。开发者可直接在激励视频代码位的创编页面配置「激励视频-再看一个」功能,无需单独申请。 适用对象: 双端SDK版本在4300及以上(历史由穿山甲TS同学配置的「再看一个」能力仅针对SDK4300以下的版本生效)。 能基于实际奖励回调结果进行差异化的奖励下发策略(回调逻辑详见下文 奖励回调逻辑),如下 

功能使用
代码位创建与编辑
1、同常规代码位创建流程,新建「激励视频」代码位(此时生成的为父代码位,即首次激励代码位): 访问https://www.csjplatform.com/并登陆开发者账号,在 界面边栏-流量 >>  代码位-新建代码位button >>  激励视频 ,新建激励视频广告。 选择所属应用,【渲染方式=模板渲染】,设置【视频播放方向】【奖励名称和数量】以及奖励发放是否需要服务器回调。完善激励视频其他设置(CPM等)。


2、点击开启 “观看下一个激励视频” 功能,并提交创建。
非聚合代码位:创建成功同时生成「激励视频-再看一个」代码位(子代码位,即二次激励代码位,名称上有“二请”的后缀)。
竞价类型=标准,非聚合代码位支持分别对两个代码位设置不同的期望CPM;
竞价类型=服务端竞价/客户端竞价 ,两个代码位信息保持一致(包括竞价类型)。
二次激励代码位生成后设置默认与首次激励代码位一致。开发者可对两个代码位分别设置不同的 期望CPM(cpm_target)来保证广告展示效果与收益。
路径:创建成功界面 - 二次激励代码位 - 查看详情 >> 编辑二次激励代码位具体信息。
原则上两个代码位除CPM外需保持同步。平台不做同步的校验,建议开发者自行维护信息一致。 二次激励代码位暂不可配置「再看一个」功能。
二次激励代码位状态异常时不会进行二次激励广告拉取,但不影响首次激励广告效果。 聚合代码位:不额外生成二次激励代码位,所有信息与首次激励代码位保持一致(包括CPM)。

、“观看下一个激励视频” 的配置支持后续编辑。 支持对历史已有的激励视频代码位开启「再看一个」功能。 支持对「再看一个」功能进行关闭。对于非聚合代码位,关闭后重新开启功能会沿用原二请代码位,不会重新生成。 

代码位管理与数据报表 创建成功后,开发者可以在 边栏-流量>> 代码位 列表页查看一二请代码位。 同时,若代码位已产生数据,在 平台>>数据模块 可以查看一二请代码位对应数据。

奖励回调逻辑 在SDK3800及以上版本的激励视频监听接口中,新增了一个接口用于设置【第二条广告】的回调监听。 开发者需要基于【第二条广告】的回调内容,调整奖励下发策略。设置方法如下:

iOS接口改动点 BURewardedVideoAd 和 BUNativeExpressRewardedVideoAd 分别添加 rewardPlayAgainInteractionDelegate

BUNativeExpressRewardedVideoAd.h
````````````````````````````````````````````````````````````````````````
@property (nonatomic, weak, nullable) id<BUNativeExpressRewardedVideoAdDelegate> rewardPlayAgainInteractionDelegate;


BURewardedVideoAd.h
````````````````````````````````````````````````````````````````````````
@property (nonatomic, weak, nullable) id<BURewardedVideoAdDelegate> rewardPlayAgainInteractionDelegate;

Android接口改动点 loadRewardVideoAd 中的 onRewardVideoAdLoad 回调中新增 setRewardPlayAgainInteractionListener 监听

@Override
//@[classname]//@[methodname]
public void onRewardVideoAdLoad(TTRewardVideoAd ad) {
    //原先激励视频回调
    ad.setRewardAdInteractionListener(new TTRewardVideoAd.RewardAdInteractionListener())  //原先激励视频回调
    //新增激励视频再看一个回调
    ad.setRewardPlayAgainInteractionListener(new TTRewardVideoAd.RewardAdInteractionListener())  //原先激励视频回调
}

 新增的 listener接口和之前的激励视频回调一样,但要新增的监听中 onAdClose 接口不会被调用到,广告关闭的事件以之前的 setRewardAdInteractionListener 中的onAdClose为准

ad.setRewardPlayAgainInteractionListener(new TTRewardVideoAd.RewardAdInteractionListener() {
    @Override
    public void onAdShow() {
        Log.d(TAG, "Callback --> rewardPlayAgain show");
        TToast.show(RewardVideoActivity.this, "rewardVideoAd show");
    }

    @Override
    public void onAdVideoBarClick() {
        Log.d(TAG, "Callback --> rewardPlayAgain bar click");
        TToast.show(RewardVideoActivity.this, "rewardVideoAd bar click");
    }

    @Override
    public void onAdClose() {
        // 忽略此方法 为再看一个广告时,整体关闭回调为setRewardAdInteractionListener中的onAdClose回调
    }

    //视频播放完成回调
    @Override
    public void onVideoComplete() {
        Log.d(TAG, "Callback --> rewardPlayAgain complete");
        TToast.show(RewardVideoActivity.this, "rewardVideoAd complete");
    }

    @Override
    public void onVideoError() {
        Log.e(TAG, "Callback --> rewardPlayAgain error");
        TToast.show(RewardVideoActivity.this, "rewardVideoAd error");
    }

    //视频播放完成后,奖励验证回调,rewardVerify:是否有效,rewardAmount:奖励梳理,rewardName:奖励名称
    @Override
    public void onRewardVerify(boolean rewardVerify, int rewardAmount, String rewardName, int errorCode, String errorMsg) {
        String logString = "rewardPlayAgain verify:" + rewardVerify + " amount:" + rewardAmount +
                " name:" + rewardName + " errorCode:" + errorCode + " errorMsg:" + errorMsg;
        Log.e(TAG, "Callback --> " + logString);
        TToast.show(RewardVideoActivity.this, logString);
    }

    @Override
    public void onSkippedVideo() {
        Log.e(TAG, "Callback --> rewardPlayAgain has onSkippedVideo");
        TToast.show(RewardVideoActivity.this, "rewardVideoAd has onSkippedVideo");
    }
});

FAQ Q:每次播放结束后都会出现再看一个入口吗?A:不是,二请的广告播放结束之后不会出现再看一个入口。 Q:如果首条广告用户没有满足奖励观看时长要求,是否会展示再看一个入口?A:不会。 Q:配置了「再看一个」的rit,一定会出现「再看一个」入口吗?A: 一定会出现。 Q:使用GroMore,可以支持「再看一个」能力吗?A:需要更新GroMore至2910版本及以上,方可支持「再看一个」能力;详见上文 功能简介-前置条件 查看使用前提。并且GroMore父子代码位信息保持一致(包括CPM)。 Q:再看一个入口的文案是否可自定义?A:当前不支持,后期可开发。有需求的开发者可结合预估收益联系您的运营进行需求反馈。 Q:设置了底价的二请rit,二请的ecpm是否如同第一个广告一样,会在展示回调中给到开发者?A:会。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值