Advertisements.IsReady не работает в UnityAds 4.2.1

Появилась следующая проблема: из-за того, что GooglePlay требует обновить плагин UnityAds до версии как минимум 4.0.1.(см. скриншот ниже) Сообщение, которое я получил в Play Console

После того, как я установил версию 4.2.1. получаю следующее сообщение в консоли:

Assets\Scripts\Lose.cs(20,35): error CS0117: 'Advertisement' does not contain a definition for 'IsReady'

И вот соответсвующий скрипт:

using System.Collections.Generic;
using UnityEngine.Advertisements;
using UnityEngine;

public class Lose : MonoBehaviour
{
    public GameObject losepanel;
    public AudioSource Losesound;

    void OnTriggerEnter(Collider other)
    {

        if (other.tag == "Player")
        {
            var Ad = PlayerPrefs.GetInt("ShowAds");

            if (Ad == 0)
            {
                if (Advertisement.isReady())
                {
                    Advertisement.Show("Level_6");
                    PlayerPrefs.SetInt("ShowAds", 1);
                }
            }
            if (Ad == 1)
            {
                PlayerPrefs.SetInt("ShowAds", 2);
            }
            if (Ad == 2)
            {
                PlayerPrefs.SetInt("ShowAds", 0);
            }
            losepanel.SetActive(true);
            var Vibrate = PlayerPrefs.GetInt("Vibration");
            if (Vibrate == 0)
            {
                Vibration.Vibrate(250);
                Debug.Log("Long Vibration");
            }
            else if (Vibrate == 1)
            {
                Debug.Log("Vibration is turned off!");
            }
            Losesound.Play();
        }
        else
        {
            Debug.LogError("There is no player inside the collider");
        }
    }

    private void Start()
    {
        Vibration.Init();
        if (Advertisement.isSupported)
        {
            Advertisement.Initialize("1111111", false);
        }
    }
}

Вообще и так понятно в чём проблема и как её решить - это просто перейти на более раннюю версию плагина, но вот дело в том, что GooglePlay это не одобрит. Поэтому в этой ситуации я в тупике. Я также пробовал установить 4.0.1. но проблема та же. Чем мне нужно заменить IsReady(), чтобы не было этой ошибки? Напишите, что думаете. Я так же буду искать решение и отвечу сам на вопрос если найду. Заранее спасибо!


Ответы (1 шт):

Автор решения: MaksNeon

В итоге я нашёл ответ на свой же вопрос. Как я понял на самом деле Unity в версиях 4.0.1. и выше не использует метод IsReady(); Поэтому решение проблемы это изменить свой код следующим образом:

До изменения он может выглядить вот так:

if (Advertisement.IsReady)
        {
            Advertisement.Show("Название");
        }

И после оказалось всё проще, теперь если хотите показать рекламу не нужно использовать if() Вот так это выглядит:

Advertisement.Show("Название");

После этого у меня всё заработало.

→ Ссылка