目前我使用XNA与Monogame Framework开发游戏。 为了货币化,我使用admob作为广告。
我的问题是,如何在特定时间内展示插页式广告。因此,当特定时间发生时,间距广告视图将被隐藏和显示,例如游戏结束等。因为我更喜欢在游戏已经结束时和显示分数之前展示广告,所以广告首先出现。
请指出我这样做的方法。谢谢。
答案 0 :(得分:0)
我还没有尝试使用适用于admob的Windows Phone 8 API,但我在Android游戏中使用了AdMob插页式广告。我想逻辑应该非常相似,所以我会在这里发布。
在我的游戏课程中,我添加了一个代理人,当我选择这样做时会启动一个功能来加载广告
public class Game1 : Microsoft.Xna.Framework.Game
{
...
/// <summary>
/// Event that fires popup ads during the game
/// </summary>
public Action OnLaunchAds;
...
}
然后,当我创建Android Activity时,在你的情况下应该是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;
这样,您就可以选择展示广告的时间。当玩家连续三次死亡时,我会这样做。
你唯一可能会挂断的是AdRequest.Builder请求=新AdRequest.Builder();因为这是我为实现抽象类AdListener而制作的自定义类。这不是绝对必要的,但其目的是为广告首次加载提供一种方式,然后在加载完成时显示。它避免“显示”尚未加载的广告。如果你也需要帮助,我也可以在这里发布