Проблема Unity google admob, единство не загружает рекламу при использовании метода LoadAd () - PullRequest
0 голосов
/ 28 мая 2020

После долгой отладки, пытаясь понять, почему мои объявления не показываются, я обнаружил, что проблема в том, что объявления не загружаются. В основном я инициализирую межстраничное объявление, затем создаю пустой запрос объявления, затем загружаю межстраничное объявление с запросом, но последняя часть не работает. Это мой код для загрузки рекламы, у меня также есть код для инициализации mobileads:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;
using TMPro;
using System;
using UnityEngine.UI;

public class ShowadScript : MonoBehaviour
{
    public TextMeshProUGUI buttontext;
    public TextMeshProUGUI InitializeanInterstitialAd;
    public TextMeshProUGUI Createanemptyadrequest;
    public TextMeshProUGUI Loadtheinterstitialwiththerequest;
    public static ShowadScript instance;
    private string appID = "ca-app-pub-2956313087245310~1594029649";
    private InterstitialAd FullscreenAD;
    private string FullscreenADID = "ca-app-pub-3940256099942544/1033173712";
    public bool loadedad = false;
    private InterstitialAd interstitial;

    private void RequestInterstitial()
    {
#if UNITY_ANDROID
        string adUnitId = "ca-app-pub-3940256099942544/1033173712";
#elif UNITY_IPHONE
        string adUnitId = "ca-app-pub-3940256099942544/4411468910";
#else
        string adUnitId = "unexpected_platform";
#endif

        // Initialize an InterstitialAd.
        this.interstitial = new InterstitialAd(adUnitId);
        Debug.Log(interstitial.ToString());
        // Create an empty ad request.
        AdRequest request = new AdRequest.Builder().Build();
        // Load the interstitial with the request.
        this.interstitial.LoadAd(request);
        if (interstitial.IsLoaded())
        {
            Debug.Log("loaded");
            loadedad = true;
        }     
    }
    public void Showad()
    {
        if (this.interstitial.IsLoaded())
        {
            this.interstitial.Show();
            Debug.Log("showing ad");
        }
    }
    public void GameOver()
    {
        StartCoroutine(Timer());        
    }
    public IEnumerator Timer()
    {
        RequestInterstitial();
        yield return new WaitUntil(() => loadedad == true);
        Showad();
        Debug.Log("A");
    }
}

это код для инициализации рекламы:

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using GoogleMobileAds.Api;

public class ShowadaScript : MonoBehaviour
{
    void Start()
    {
        MobileAds.Initialize(initStatus => { });
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...