-
Notifications
You must be signed in to change notification settings - Fork 44
3.2 插屏(弹窗)广告
luyao edited this page Dec 21, 2021
·
3 revisions
集成最佳实践:
- 适用场景:一般暂停时(多见于视频类 APP 节目暂停);页面间跳转、切换时(比如游戏类 APP 过关、工具类 APP 页面转换);APP 退出时;返回上一级时等场景,均可适当植入插屏广告。
- 常见尺寸:插屏广告尺寸通常等于或大于手机屏幕的一半,多设计 600x600、600x500 等规格。
- 一些建议:不要突然展示广告,最好在用户完成应用内操作后自然而然的植入,比如游戏通关后、视频播放结束后; 无论是插屏广告植入场景,还是展示频次,媒体均需要反复测试,以达到最佳变现效果;
- 插屏支持提前加载广告(注意控制时机,不可过早提前),但要注意,一次展示需对应一个广告实例,切忌复用广告实例。
请求广告核心方法,详细请参考demo中代码:
public class InterstitialActivity extends BaseActivity {
EasyAdInterstitial interstitialAD;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_interstitial);
}
public void loadAd(View view) {
interstitialAD = new EasyADController(this).initInterstitial("interstitial_config.json");
interstitialAD.loadOnly();
}
public void showAd(View view) {
if (interstitialAD != null) {
interstitialAD.show();
} else {
EasyADController.logAndToast(this, "需要先调用loadOnly()");
}
}
public void loadAndShowAd(View view) {
new EasyADController(this).initInterstitial("interstitial_config.json").loadAndShow();
}
}
EasyADController中相关处理代码:
/**
* 初始话插屏广告。
* 可以选择性先提前加载,然后在合适的时机再调用展示方法
* 或者直接调用加载并展示广告
* <p>
* 注意!!!:穿山甲默认为"新插屏广告"
*/
public EasyAdInterstitial initInterstitial(String jsonFileName) {
//必须:核心事件监听回调
EAInterstitialListener listener = new EAInterstitialListener() {
@Override
public void onAdSucceed() {
logAndToast(mActivity, "广告就绪");
}
@Override
public void onAdClose() {
logAndToast(mActivity, "广告关闭");
}
@Override
public void onAdExposure() {
logAndToast(mActivity, "广告展示");
}
@Override
public void onAdFailed(EasyAdError error) {
logAndToast(mActivity, "广告加载失败 code=" + error.code + " msg=" + error.msg);
}
@Override
public void onAdClicked() {
logAndToast(mActivity, "广告点击");
}
};
//初始化
EasyAdInterstitial easyInterstitial = new EasyAdInterstitial(mActivity, listener);
baseAD = easyInterstitial;
//注意:穿山甲默认为"新插屏广告",如果要使用旧版请打开这条设置
// easyInterstitial.setCsjNew(false);
//必须:设置策略信息
easyInterstitial.setData(getJson(mActivity, jsonFileName));
return easyInterstitial;
}
- EasyAdInterstitial
方法名 | 方法介绍 |
---|---|
EasyAdInterstitial(Activity activity, EAInterstitialListener listener) | 构造方法 |
setYlhMediaListener(UnifiedInterstitialMediaListener mediaListener) | 优量汇特有设置,监听广告资源的运行情况 |
setCsjNew(boolean csjNew) | 穿山甲特有设置,是否为'新插屏广告',不设置默认true |
setCsjExpressViewAcceptedSize(float expressViewWidth, float expressViewHeight) | 穿山甲特有设置,期望模板广告view的size,单位dp;注意:参数请按照平台勾选的比例去进行请求。现有1:1,3:2 ,2:3 三种比例可供选择。 |
addCustomSupplier(String sdkTag, EABaseSupplierAdapter adapter) | 通用方法,添加自定义SDK的适配器 |
getSupplierInf() | 通用方法,获取当前正在执行的渠道信息,可以在Listener的任意事件回调中获取,方便统计执行情况。 |
getReqId() | 通用方法,获取当前策略执行的唯一id,方便统计 |
setData(String strategyJson) | 通用方法,设置策略执行数据,为固定格式的json字符串 |
loadOnly() | 通用方法,仅拉取广告 |
show() | 通用方法,展示广告,和loadOnly()方法搭配使用 |
loadAndShow() | 通用方法,拉取并展示广告 |
destroy() | 通用方法, 销毁广告 |
- EAInterstitialListener
方法名 | 方法介绍 |
---|---|
onAdSucceed() | 通用回调方法,成功加载到广告 |
onAdExposure() | 通用回调方法,广告曝光 |
onAdClicked() | 通用回调方法,广告点击 |
onAdClose() | 通用回调方法,广告关闭 |
onAdFailed(EasyAdError easyAdError) | 通用回调方法,广告失败,easyAdError包含了具体的失败原因,easyAdError可能为null |