开始之前
在将广告单元集成到您的应用之前,您必须:
- 在 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);
评论
文章评论已关闭。