广告单元

开始之前

在将广告单元集成到您的应用之前,您必须:

  • 在 OpenMediation 用户界面中创建一个帐户,创建一个应用并创建一个广告展示位置。您可以按照 指南进行操作
  • 通过将OpenMediation Unity插件集成到您的项目中,按照我们的步骤进行 Unity插件集成

现在,当您将OpenMediation SDK部署到Android或iOS平台时,它就会包含在您的Unity应用程序中。现在您可以实施广告单元了。OpenMediation Unity插件提供多种不同的广告格式。您可以选择最适合您的用户体验需求的一种。

激励视频广告

具有较强交互能力的奖励视频广告已成为移动广告行业的主流形式。手机游戏开发商越来越依赖内置广告而不是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");
}

 

插屏广告

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");
}

 

横幅广告

横幅广告通常显示在屏幕的顶部或底部,并在用户会话期间一直粘贴在屏幕上。 标语广告是易于使用的移动广告,是提高移动广告客户知名度的好工具,是移动应用程序中非常受欢迎的广告单元。

步骤 1. 接收横幅广告事件

OmEvents.onBannerLoadSuccessEvent += BannerLoadSuccessEvent;
OmEvents.onBannerLoadFailedEvent += BannerLoadFailedEvent;
OmEvents.onBannerClickedEvent += BannerClickedEvent;

插件将通知接收器器以下所有可能的事件:

 void BannerLoadSuccessEvent(string placementId) {
    Debug.Log("unity-script: I got BannerLoadSuccessEvent ");
}
void BannerLoadFailedEvent(string placementId, string error) {
    Debug.Log("unity-script: I got BannerLoadFailedEvent: " + error);
}
void BannerClickedEvent(string placementId) {
    Debug.Log("unity-script: I got BannerClickedEvent");
}

步骤 2. 加载横幅广告

要加载横幅广告,请调用以下方法:

通过调用此方法加载横幅视图

Om.Agent.loadBanner(placementId, AdSize.BANNER, BannerPostion.BOTTOM);
有关我们支持的标准 横幅尺寸的 详细信息,请参见下表:
BannerSize 描述 尺寸(WxH)
BANNER 横幅广告 320 x 50
MEDIUM_RECTANGLE 中矩形 300 x 250
LEADERBOARD 大尺寸横幅广告 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);

销毁的横幅广告无法再复用。如果您想再次使用它,则必须再次加载它。

 

交叉推广广告

步骤 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 级别的硬件加速。

 

开屏广告

步骤 1. 接收 SplashAd 广告事件

OpenMediation SDK会触发多个事件来通知您非页内广告活动。在每种广告事件回调方法中,您都会获得相应的广告展示位置的状态。

OmEvents.onSplashAdLoadSuccessEvent += SplashAdLoadSuccessEvent;
OmEvents.onSplashAdLoadFailedEvent += SplashAdLoadFailedEvent;
OmEvents.onSplashAdShowedEvent += SplashAdShowedEvent;
OmEvents.onSplashAdClickEvent += SplashAdClickEvent;
OmEvents.onSplashAdClosedEvent += SplashAdClosedEvent;
OmEvents.onSplashAdShowFailedEvent += SplashAdShowFailedEvent;

插件将通知监听者以下所有可能的事件:

void SplashAdLoadSuccessEvent(string placementId)
{
    OmUtils.printLogI("unity-script: I got SplashAdLoadSuccessEvent: " + placementId);
}

void SplashAdLoadFailedEvent(string placementId)
{
    OmUtils.printLogI("unity-script: I got SplashAdLoadFailedEvent: " + placementId);
}

void SplashAdShowedEvent(string placementId)
{
    OmUtils.printLogI("unity-script: I got SplashAdShowedEvent: " + placementId);
}

void SplashAdShowFailedEvent(string placementId)
{
    OmUtils.printLogI("unity-script: I got SplashAdShowFailedEvent: " + placementId);
}

void SplashAdClickEvent(string placementId)
{
    OmUtils.printLogI("unity-script: I got SplashAdClickEvent: " + placementId);
}

void SplashAdClosedEvent(string placementId)
{
    OmUtils.printLogI("unity-script: I got SplashAdClosedEvent: " + placementId);
}

 

步骤 2. 加载广告

要加载开屏广告,请调用以下方法:

Om.Agent.loadSplashAd(placementId);

 

步骤 3. 检查广告的可用性

开屏广告成功加载后,将通过 SplashAdLoadSuccessEvent 回调通知您何时可以显示广告,该通知将通知您广告资源的可用性。

检查广告是否可用的另一种方法是直接调用 isSplashAdReady 函数。

Om.Agent.isSplashAdReady(placementId);

 

步骤 4. 展示广告

强烈建议您在投放开屏广告之前,通过调用 isSplashAdReady 方法来检查广告的可用性

if (Om.Agent.isSplashAdReady(placementId)) {
    Om.Agent.showSplashAd(placementId);
}

提示:

启用本地日志记录:(仅用于本地调试,在上线之前将其删除。)

Om.Agent.debug(true);
这篇文章有帮助吗?
4 人中有 3 人觉得有帮助

评论

0 条评论

文章评论已关闭。