目前,我使用XNA和Monogame框架开发游戏。为了赚钱,我使用admob作为广告。
我的问题是,如何在特定的时间内显示间隙广告。所以间隙广告视图将被隐藏并在特定时间出现时显示,例如游戏结束等。因为我更喜欢在游戏已经结束时显示广告,并且在比分显示之前,广告首先出现。
请告诉我做那件事的方法。
谢谢。
发布于 2014-10-14 09:02:11
我还没有尝试过Windows phone8API for admob,但我在我的安卓游戏中使用了AdMob Interstitials。我认为逻辑应该是相当相似的,所以我将在这里发布它。
在我的游戏类中,我添加了一个代理,当我选择加载广告时,它将触发一个函数来加载广告
public class Game1 : Microsoft.Xna.Framework.Game
{
...
/// <summary>
/// Event that fires popup ads during the game
/// </summary>
public Action OnLaunchAds;
...
}然后,当我创建Android活动时,它应该是windows phone的程序入口(或任何生命周期),我有一个随时准备好创建广告的函数。应该看起来像这样:
/// <summary>
/// Creates the Interstitial ad that will popup when the game calls
/// for it
/// </summary>
private void createPopup()
{
InterstitialAd popup = AdHelper.CreatePopup(this, POPUP_ID);
var listener = new AdMobHelper.AdTrigger();
listener.loadFunctions += () => { if (popup.IsLoaded) { popup.Show(); } };
popup.AdListener = listener;
try
{
/// Create the request
AdRequest.Builder request = new AdRequest.Builder();
/// Add test devices
request.AddTestDevice(AdRequest.DeviceIdEmulator);
request.AddTestDevice(TEST_DEVICE_ID);
popup.LoadAd(request.Build());
}
catch (Exception e) { e.ToString(); }
}从这里开始,你只需要在你的主游戏中指定委托来指向你刚刚创建的函数,就像这样:
game.OnLaunchAds = createPopup;这样,您就可以选择何时显示广告。当玩家连续死亡3次时,我会这样做。
您可能会遇到的唯一问题是新请求= AdRequest.Builder AdRequest.Builder();因为这是我为实现抽象类AdListener而创建的自定义类。它不是必须的,但它的目的是提供一种方法,让广告先加载,然后显示完成加载的时间。它避免“显示”尚未加载的广告。如果你在这方面也需要帮助,我也可以在这里发布。
https://stackoverflow.com/questions/23864072
复制相似问题