主题
开屏广告
1.1 ApexAdxSplash
com.apex.adx.ApexAdxSplash
| 方法名 | 方法介绍 |
|---|---|
| ApexAdxSplash(Activity activity, ApexAdxSplashRequest adRequest, ApexAdxSplashListener adListener) | 构造方法,广告相关状态会通过 adListener 通知开发者。参数说明:activity(展示广告的 activity)、adRequest(广告请求对象)、adListener(广告状态监听器)。 |
| loadAndShow(ViewGroup adContainer) | 请求并立即展示广告。参数说明:adContainer(展示广告的容器)。 |
| loadAdOnly() | 拉取广告,配合showAd使用,实现和loadAdAndShow相同的功能。 |
| isReady() | 广告是否准备好,未准备好广告将无法展示。 |
| showAd(ViewGroup adContainer) | 展示广告,配合loadAdOnly使用,实现和loadAdAndShow相同的功能。 |
| destroy() | 当广告关闭不再使用时,必须调用此方法释放资源 |
1.2 ApexAdxSplashRequest
com.apex.adx.req.ApexAdxSplashRequest
| 方法名 | 方法介绍 |
|---|---|
| ApexAdxSplashRequest(String pid, String userId, Map<String, Object> options) | 构造方法。参数说明:pid(广告位Id)、userId(用户Id可选)、options(扩展参数,可传任意)。 |
| setAppTitle(String appTitle) | 设置应用开屏LOGO标题,广告将半屏Window展示。 |
| setAppDesc(String appDesc) | 设置应用开屏LOGO描,广告半屏Window展示。 |
| setDisableAutoHideAd(boolean disableAutoHideAd) | 广告结束,广告内容是否自动隐藏。 若开屏和应用共用Activity,建议false。若开屏是单独Activity ,建议true。 |
1.3 ApexAdxSplashListener
com.apex.adx.listener.ApexAdxSplashListener
| 方法名 | 方法介绍 |
|---|---|
| onSplashAdSuccessLoad(String pid) | 开屏广告成功加载。参数说明:pid(广告位Id)。 |
| onSplashAdSuccessPresent() | 开屏广告成功展示,媒体可在此记录曝光。 |
| onSplashAdFailToLoad(ApexAdxError error, String pid) | 开屏广告曝光失败。参数说明:error(报错信息,具体可看其内部code和msg)、pid(报错的广告位Id)。 |
| onSplashAdClicked() | 开屏广告被点击。 |
| onSplashClosed() | 开屏广告关闭。 |
2. 接入代码示例
2.1 设置监听回调
java
ApexAdxSplashListener splashAdListener = new ApexAdxSplashListener() {
@Override
public void onSplashAdSuccessPresent() {// 开屏广告成功展示
}
/**
* 开屏广告成功加载
* 如果不是LoadAndShow模式,则需要调用showAd()方法展示广告
* adContainer 开屏内容展示容器,若传null,则默认进行全屏展示
*/
@Override
public void onSplashAdSuccessLoad(String pid) {
}
/**
* 开屏广告展示失败
* ApexAdxError 开屏广告错误内容
* pid 广告位
* 广告失败直接进入主页面
*/
@Override
public void onSplashAdFailToLoad(ApexAdxError error, String pid) {
jumpMainActivity();
}
@Override
public void onSplashAdClicked() {
}
@Override
public void onSplashClosed() {// 开屏广告关闭
//需要判断是否能进入主页面
jumpWhenCanClick();
}
};2.1.1 开屏广告点击注意事项
java
/**
* 设置一个变量来控制当前开屏页面是否可以跳转,当开屏广告为普链类广告时,点击会打开一个广告落地页,此时开发者还不能打开自己的App主页。
* 当从广告落地页返回以后,才可以跳转到开发者自己的App主页;当开屏广告是App类广告时只会下载App。
*/
public boolean canJumpImmediately = false;
private void jumpWhenCanClick() {
if (canJumpImmediately) {
jumpMainActivity();
} else {
canJumpImmediately = true;
}
}
/**
* 不可点击的开屏,使用该jump方法,而不是用jumpWhenCanClick
*/
private void jumpMainActivity() {
Intent intent = new Intent(this, MainActivity.class);
this.startActivity(intent);
this.finish();
}
@Override
protected void onPause() {
canJumpImmediately = false;
}
@Override
protected void onResume() {
if (canJumpImmediately) {
jumpWhenCanClick();
}
canJumpImmediately = true;
}2.2 开屏加载展示
此方式自适应广告展示大小,自带LOGO样式展示APP信息,无需开发者处理底部LOGO内容
java
/**
* PID 必填
* USER_ID 可选
* OPTIONS 自定义参数
*/
ApexAdxSplashRequest adRequest = new ApexAdxSplashRequest(PID, null, null);
ApexAdxSplash adSdkSplash = new ApexAdxSplash(activity, adRequest, splashAdListener);
// 加载并显示
adSdkSplash.loadAndShow(adContainer);