开始之前
在将广告单元集成到您的应用之前,您必须:
- 在 OpenMediation 用户界面中 , 使用“奖励视频”格式 创建一个帐户,创建一个 应用 并创建一个 广告展示位置 。 您可以 按照 指南进行操作 。
- 通过将OpenMediation Unity插件集成到您的项目中, 按照我们的步骤进行 Unity插件集成 。
- 如果您使用聚合,请转到 集成广告网络 ,并确保已将广告网络SDK和想要使用的相应适配器添加到应用中。
现在,当您将OpenMediation SDK部署到Android或iOS平台时,它就会包含在您的Unity应用程序中。 现在您可以实施广告单元了。 OpenMediation Unity插件提供两种不同的广告格式-视频广告和非页内广告。 您可以选择最适合您的用户体验需求的一种。
激励视频集成Unity Plugin
具有较强交互能力的奖励视频广告已成为移动广告行业的主流形式。手机游戏开发商越来越依赖内置广告而不是IAP来获利。
Rewarded Video广告单元提供引人入胜的广告体验,以有价值的虚拟内容奖励您的用户,以换取完整的视图。这个由用户启动的广告单元非常适合游戏应用,并可以改善您的应用体验。本部分介绍如何初始化,加载和显示奖励视频广告。
步骤 1. 接收奖励视频广告事件
OpenMediation SDK会触发多个事件,以通知您Rewarded Video Ad活动。 在每种广告事件回调方法中,您都会获得相应的广告展示位置的状态。
OmEvents.onRewardedVideoAvailabilityChangedEvent += RewardedVideoAvailabilityChangedEvent;
OmEvents.onRewardedVideoShowedEvent += RewardedVideoAdShowedEvent;
OmEvents.onRewardedVideoShowFailedEvent += RewardedVideoAdShowFailedEvent;
OmEvents.onRewardedVideoStartedEvent += RewardedVideoAdStartedEvent;
OmEvents.onRewardedVideoEndedEvent += RewardedVideoAdEndedEvent;
OmEvents.onRewardedVideoRewardedEvent += RewardedVideoAdRewardedEvent;
OmEvents.onRewardedVideoClickedEvent += RewardedVideoAdClickedEvent;
OmEvents.onRewardedVideoClosedEvent += RewardedVideoAdClosedEvent;
插件将通知监听者以下所有可能的事件:
void RewardedVideoAvailabilityChangedEvent(bool available) {
Debug.Log("unity-script: I got RewardedVideoAvailabilityChangedEvent, value = " +available);
}
void RewardedVideoAdShowedEvent(string scene) {
Debug.Log("unity-script: I got RewardedVideoAdOpenedEvent: " + scene);
}
void RewardedVideoAdRewardedEvent(string scene) {
Debug.Log("unity-script: I got RewardedVideoAdRewardedEvent: "+scene);
}
void RewardedVideoAdClosedEvent(string scene) {
Debug.Log("unity-script: I got RewardedVideoAdClosedEvent: " +scene);
}
void RewardedVideoAdStartedEvent(string scene) {
Debug.Log("unity-script: I got RewardedVideoAdStartedEvent: "+scene);
}
void RewardedVideoAdEndedEvent(string scene) {
Debug.Log("unity-script: I got RewardedVideoAdEndedEvent: "+scene);
}
void RewardedVideoAdShowFailedEvent(string error) {
Debug.Log("unity-script: I got RewardedVideoAdShowFailedEvent, error: " + error);
}
void RewardedVideoAdClickedEvent(string scene) {
Debug.Log("unity-script: I got RewardedVideoAdClickedEvent, name = " + scene);
}
步骤 2. 检查广告的可用性
奖励广告成功加载后,将通过 RewardedVideoAvailabilityChanged 通知您 可以显示广告 ,该通知将通知您广告资源的可用性。
void RewardedVideoAvailabilityChangedEvent(bool available) {
Debug.Log("UnityApp RewardedVideo OnRewardedVideoAvailabilityChanged" + available);
}
检查广告是否可用的另一种方法是直接调用 isRewardedVideoReady 函数。
Om.Agent.isRewardedVideoReady();
步骤 3. 展示激励视频广告
强烈建议 您在投放奖励视频之前, 通过调用 isRewardedVideoReady 方法来 检查广告的可用性 。
if (Om.Agent.isRewardedVideoReady()) {
Om.Agent.showRewardedVideo("Your Video SceneName");
}
插屏广告集成Unity Plugin
Interstitial是全屏广告单元,通常在应用程序的生命周期内的自然过渡点投放。 同时支持静态和视频非页内广告。
步骤 1. 接收InterstitialAd广告事件
OpenMediation SDK会触发多个事件来通知您非页内广告活动。 在每种广告事件回调方法中,您都会获得相应的广告展示位置的状态。
OmEvents.onInterstitialAvailabilityChangedEvent += InterstitialAdAvailabilityChangedEvent;
OmEvents.onInterstitialShowedEvent += InterstitialAdShowedEvent;
OmEvents.onInterstitialShowFailedEvent += InterstitialAdShowFailedEvent;
OmEvents.onInterstitialClickedEvent += InterstitialAdClickedEvent;
OmEvents.onInterstitialClosedEvent += InterstitialAdClosedEvent;
插件将通知监听者以下所有可能的事件:
void InterstitialAdAvailabilityChangedEvent(bool available) {
Debug.Log("unity-script: I got InterstitialAdReadyEvent: "+available);
}
void InterstitialAdShowFailedEvent(string error) {
Debug.Log("unity-script: I got InterstitialAdShowFailedEvent, code: " +error);
}
void InterstitialAdClickedEvent(string scene) {
Debug.Log("unity-script: I got InterstitialAdClickedEvent: "+scene);
}
void InterstitialAdShowedEvent(string scene) {
Debug.Log("unity-script: I got InterstitialAdOpenedEvent: "+scene);
}
void InterstitialAdClosedEvent(string scene) {
Debug.Log("unity-script: I got InterstitialAdClosedEvent: "+scene);
}
步骤 2. 检查广告的可用性
插页式广告成功加载后,将通过InterstitialAdAvailabilityChangedEvent 回调通知您何时 可以显示广告 ,该通知将通知您广告资源的可用性。
void InterstitialAdAvailabilityChangedEvent(bool available) {
Debug.Log("UnityApp Interstitial OnInterstitialAdAvailabilityChanged"+available);
}
检查广告是否可用的另一种方法是 直接 调用 isInterstitialReady 函数。
Om.Agent.isInterstitialReady();
步骤 3. 展示插屏广告
强烈建议 您在投放插页式广告之前, 通过调用 isInterstitialReady 方法来 检查广告的可用性 。
if (Om.Agent.isInterstitialReady()) {
Om.Agent.showInterstitial("Your Video SceneName");
}
横幅广告集成Unity plugin
横幅广告通常显示在屏幕的顶部或底部,并在用户会话期间一直粘贴在屏幕上。 标语广告是易于使用的移动广告,是提高移动广告客户知名度的好工具,是移动应用程序中非常受欢迎的广告单元。
步骤 1. 接收横幅广告事件
OmEvents.onBannerLoadSuccessEvent += BannerLoadSuccessEvent;
OmEvents.onBannerLoadFailedEvent += BannerLoadFailedEvent;
OmEvents.onBannerClickedEvent += BannerClickedEvent;
插件将通知接收器器以下所有可能的事件:
void BannerLoadSuccessEvent() {
Debug.Log("unity-script: I got BannerLoadSuccessEvent ");
}
void BannerLoadFailedEvent(string error) {
Debug.Log("unity-script: I got BannerLoadFailedEvent: " + error);
}
void BannerClickedEvent() {
Debug.Log("unity-script: I got BannerClickedEvent");
}
步骤 2. 加载横幅广告
要加载横幅广告,请调用以下方法:
通过调用此方法加载横幅视图
Om.Agent.loadBanner(placementId,AdSize.BANNER, BannerPosition.BOTTOM);
BannerSize | 描述 | 尺寸(WxH) |
BANNER | 横幅广告 | 320 x 50 |
LARGE | IAB 中矩形 | 300 x 250 |
RECTANGLE | IAB 页首横幅广告 | 728 x 90 |
SMART |
智能横幅广告 (针对移动设备和平板电脑进行了调整) |
iOS: If(iPhone)320 x 50 If(iPad)728 x 90 Android: If(屏幕高度≤720)320 x 50 If(屏幕高度> 720)728 x 90 |
有关我们支持的标准 横幅位置的 详细信息,请参见下表:
BannerPosition | 描述 |
TOP | 视图将位于屏幕的顶部中心 |
BOTTOM | 视图将位于屏幕的底部中心 |
您会收到BannerLoadSuccessEvent,并且横幅会显示在您的应用中。
为了在广告体验中提供最大的灵活性,您现在可以在应用中隐藏和展示横幅。
与Android和iOS本机实现不同,横幅广告在Unity中首次加载时会自动显示,因此无需调用displayBanner()。
加载并提供横幅广告后,您可以选择隐藏此横幅广告,并在以后在应用中重新显示。
要隐藏横幅,请调用此函数:
Om.Agent.hideBanner(placementId);
要再次显示相同的横幅,请调用此函数:
Om.Agent.displayBanner(placementId);
步骤 3.销毁横幅广告
要销毁横幅,请调用以下方法:
Om.Agent.destroyBanner(placementId);
销毁的横幅广告无法再复用。如果您想再次使用它,则必须再次加载它。
交叉推广广告集成 Unity Plugin
步骤 1. 接收 PromotionAd 广告事件
OpenMediation SDK会触发多个事件来通知您非页内广告活动。 在每种广告事件回调方法中,您都会获得相应的广告展示位置的状态。
OmEvents.onPromotionAdAvailabilityChangedEvent += PromotionAdAvailabilityChangedEvent;
OmEvents.onPromotionAdShowedEvent += PromotionAdShowedEvent;
OmEvents.onPromotionAdShowedEvent += PromotionAdShowFailedEvent;
OmEvents.onPromotionAdClickedEvent += PromotionAdClickedEvent;
OmEvents.onPromotionAdHiddenEvent += PromotionAdHiddenEvent;
插件将通知监听者以下所有可能的事件:
void PromotionAdAvailabilityChangedEvent(bool available)
{
OmUtils.printLogI("unity-script: I got PromotionAdAvailabilityChangedEvent: " + available);
}
void PromotionAdShowFailedEvent(string error)
{
OmUtils.printLogI("unity-script: I got PromotionAdShowFailedEvent, code: " + error);
}
void PromotionAdClickedEvent(string scene)
{
OmUtils.printLogI("unity-script: I got PromotionAdClickedEvent: " + scene);
}
void PromotionAdShowedEvent(string scene)
{
OmUtils.printLogI("unity-script: I got PromotionAdShowedEvent: " + scene);
}
void PromotionAdHiddenEvent(string scene)
{
OmUtils.printLogI("unity-script: I got PromotionAdHiddenEvent: " + scene);
}
步骤 2. 检查广告的可用性
插页式广告成功加载后,将通过 PromotionAdAvailabilityChangedEvent 回调通知您何时 可以显示广告 ,该通知将通知您广告资源的可用性。
void PromotionAdAvailabilityChangedEvent(bool available) {
Debug.Log("UnityApp Promotion PromotionAdAvailabilityChanged: " + available);
}
检查广告是否可用的另一种方法是 直接 调用 isPromotionAdReady 函数。
Om.Agent.isPromotionAdReady();
步骤 3. 展示广告
强烈建议 您在投放插页式广告之前, 通过调用 isPromotionAdReady 方法来 检查广告的可用性 。
if (Om.Agent.isPromotionAdReady()) {
Om.Agent.showPromotionAd(132, 0, 0, 0, 0);
}
注意:对于 Unity Android 应用,如果想要成功展示交叉推广广告,需要您开启 Activity 级别的硬件加速。
提示:
启用本地日志记录:( 仅用于本地调试,在上线之前将其删除 。)
Om.Agent.debug(true);
评论
文章评论已关闭。