Я пытаюсь поместить интерстициальное объявление после каждых 5 игр, которые пользователь играет. Я создал пустой объект со следующим сценарием:
using UnityEngine;
using GoogleMobileAds.Api;
public class AdBetweenGames : MonoBehaviour {
InterstitialAd interstitial;
void Start()
{
if(PlayerPrefs.GetInt("games-played", -1) % 5 == 0)
{
this.ShowInterstitial();
}
}
private void RequestInterstitial()
{
string adUnitId = "UNITID";
// Initialize an InterstitialAd.
interstitial = new InterstitialAd(adUnitId);
// Create an empty ad request.
AdRequest request = new AdRequest.Builder().Build();
// Load the interstitial with the request.
interstitial.LoadAd(request);
}
public void ShowInterstitial()
{
RequestInterstitial();
Debug.Log("Interstatial ad called.");
if (interstitial.IsLoaded())
{
interstitial.Show();
}
}
}
Я уверен, что код здесь вызывается правильно на основе журнала отладки. Я также пробовал делать баннеры, и они показывают без проблем через 1-2 секунды. Я делаю игру для Андроид.
Кроме того, я подумал, может быть, объявление требует дополнительного времени для загрузки, и я нажимаю try again слишком рано. Но тогда каким будет решение?
Интерстициальному объявлению ad mob нужно время, чтобы загрузить его в update и подождать не менее 4 секунд и вызвать
ShowInterstitial
функцию внутриbool
набора ее значенияtrue
в start иfalse
it после вызова функции, чтобы показать объявление один раз.