Не работает Mobile Ads SDK (Yandex) UNITY
Делаю игру на UNITY. Решил использовать рекламу от Yandex. И возникла проблема: при интеграции плагина и его полной настройки точно по документации(Google resolve, Target API 31). При компиляции в apk и запуске не работает меж страничная реклама, хотя в доке написано, что для проверки как раз нужно собрать проект и запустить на телефоне.
private void Start()
{
RequestInterstitial();
}
private void RequestInterstitial()
{
string adUnitId = "R-M-000000-1"; //id блока
interstitial = new Interstitial(adUnitId); //заполняем переменную с рекламой
AdRequest request = new AdRequest.Builder().Build(); //создаём запрос на показ рекламы
interstitial.LoadAd(request); //отправляем запрос
//каждый метод будет вызван при определенном действии связанной с рекламой (её загрузкой и тд)
}
//метод для показа рекламы
private void ShowInterstitial()
{
if (this.interstitial.IsLoaded())
{
interstitial.Show();
}
Сам SDK https://github.com/yandexmobile/yandex-ads-unity-plugin
И ДОКА https://yandex.ru/dev/mobile-ads/doc/plugins/unity/quick-start/init.html
Ответы (1 шт):
Первым делом, вам нужно выполнить следующие действия:
- Зайти во вкладку assets и выбрать external depending manager
- Дальше выбираете Android Resolving
- Выбираете пункт Force Resolve. Это важно, чтобы принудительно установились все библиотеки для показа рекламы
Дальше я бы убрал условие `if (this.intrestial.IsLoaded) и просто бы вызывал метод показа рекламы, так как метод вызовется тогда когда реклама загрузится
Далее нужно вынести поле string в котором содержится id блока, ` Также я бы вынес поле типа Intrestial, но оно тут не прописано, но если его нет, то нужно его вставить в класс а не в метод, так как переменные в методе не будут доступны другим членам класса.
Также если не помогает, то попробуй создать корутину, а внутри него цикл while(true)и внутри него реализуй загрузку объявлений, чтобы они загружались с периодичностью не менее 30 секунд, и отдельно вызывай метод show() у intrestial