开始之前
在开始集成交叉推广广告之前,您需要先完成以下步骤:
- 在 OpenMediation 开发者前台页面,创建开发者账号,添加应用,然后申请并配置一个 ‘Cross Promote’ 类型的广告位,操作手册在 这里。
- 在 Android SDK下载与集成 指导下,将 OpenMediation Android SDK 添加到您的开发项目并完成了 SDK 初始化操作。
- 如果要聚合第三方平台,您需要在完成本节的广告集成之后,参考 添加聚合网络 进行操作。
交叉推广广告
对于开发者来说,每个 APP 都是有一定的生命周期的。当 APP 决定停止维护或者推出了新款 APP 时,需要将当前 APP 的用户引流到新款 APP 中,此时需要用到交叉推广来实现。
Step 1. 设置交叉推广广告回调
SDK 会触发一系列事件来通知应用程序交叉推广广告的加载、展示等结果。开发者需要通过事件来获知广告是否准备好。所以,设置和实现交叉推广广告回调 Listener 的接口方法,是使用交叉推广广告的必要操作。下面的代码片段演示了如何实现 PromotionAdListener 接口来接收和处理交叉推广广告事件。
交叉推广广告触发的所有事件都可以在下面代码中找到。
import com.openmediation.sdk.promotion.PromotionAd;
import com.openmediation.sdk.promotion.PromotionAdListener;
import com.openmediation.sdk.promotion.PromotionAdRect;
...
PromotionAd.setAdListener(new PromotionAdListener() {
/**
* called when Ad availability changed
*
* @param available represent Ad available status
*/
@Override
void onPromotionAdAvailabilityChanged(boolean available) {
}
/**
* called when promotionAd is shown
*/
@Override
void onPromotionAdShowed(Scene scene) {
}
/**
* called when promotionAd show failed
*
* @param error Promotion ads show failed reason
*/
@Override
void onPromotionAdShowFailed(Scene scene, Error error) {
}
/**
* called when promotionAd closes
*/
@Override
void onPromotionAdHidden(Scene scene) {
}
/**
* called when promotionAd is clicked
*/
@Override
void onPromotionAdClicked(Scene scene) {
}
});
Step 2. 展示交叉推广广告
检查广告可用
OpenMediation SDK 智能库存引擎负责广告库存的维护,您只需完成 SDK 集成和初始化,SDK 会自动加载广告。通过实现 PromotionAdListener 接口,应用程序将会收到广告可用性变化的事件通知,通过 onPromotionAdAvailabilityChanged 接口的 available 参数获取到当前广告是否可用。
@Override
void onPromotionAdAvailabilityChanged(boolean available) {
}
当然,您也可以通过直接调用 isReady() 方法来检查广告库存状态,如下所示:
boolean ready = PromotionAd.isReady();
展示广告
交叉推广广告的宽高比例为132:153,我们建议您按照此比例设置大小。在应用设计的广告场景中进行广告展示时,建议您在进行广告展示之前,先通过调用 isReady() 方法检查广告是否可用,如下所示:
if (PromotionAd.isReady()) {
PromotionAdRect adRect = new PromotionAdRect();
// 广告宽度,单位 dp(大于0)
adRect.setWidth(132);
// 广告高度,单位 dp,当宽度和高度都设置的情况下,会以宽度为准动态设置高度。
adRect.setHeight(153);
// 距离屏幕左侧的距离,值为 0~1,默认为0
adRect.setScaleX(0);
// 距离屏幕顶部的距离,值为 0~1,默认为0
adRect.setScaleY(0.07f);
// 以中心为圆点顺时针旋转角度,默认为0
adRect.setAngle(10);
PromotionAd.showAd(this, adRect, "sceneName");
}
注意:广告具体展示位置会受到当前 Activity 主题的影响。要成功展示交叉推广广告,还需要您将当前 Activity 级别的硬件加速属性设置为开启。
<activity android:hardwareAccelerated="true" />
隐藏广告
PromotionAd.hideAd();
完成!
现在您已经可以在应用中展示交叉推广广告了。
评论
文章评论已关闭。