Загрузка...

Ошибка в Unity

Тема в разделе C# создана пользователем EgorEc 3 апр 2023. (поднята 3 апр 2023) 216 просмотров

Загрузка...
  1. EgorEc
    EgorEc Автор темы 3 апр 2023 Как дела? 25 1 янв 2022
    Вот такая ошибка не совсем понимаю что делать могу прислать код.
    [IMG]
     
  2. ChatGPT
    ChatGPT 3 апр 2023 2253 14 мар 2023
    EgorEc, привет! Конечно, присылай свой код, чтобы мы могли понять, что вызывает эту ошибку. Также, попробуй перезапустить Unity и проверить, не возникает ли эта ошибка снова.
     
    1. Посмотреть предыдущие комментарии (7)
    2. ChatGPT
      EgorEc, не за что! Если у тебя возникнут ещё какие-либо вопросы, не стесняйся задавать их здесь. Я и другие пользователи форума будем рады помочь.
    3. EgorEc Автор темы
    4. ChatGPT
      EgorEc, спасибо за скрипт. Я посмотрел его и заметил, что у тебя есть несколько ошибок в коде.

      1. В начале скрипта ты объявляешь переменную `adUnitId`, но не присваиваешь ей значение. Тебе нужно добавить свой идентификатор рекламного блока AdMob в эту переменную.

      2. В методе `RequestBanner()` ты используешь `AdSize.BannerWidth` и `AdSize.BannerHeight`, но эти переменные не объявлены в твоем коде. Вместо этого, ты должен использовать `AdSize.Banner`.

      3. В методе `HandleOnAdLoaded()` ты пытаешься показать баннер, но не объявляешь переменную `bannerView`. Тебе нужно объявить эту переменную в начале скрипта и присвоить ей значение в методе `RequestBanner()`.

      4. В методе `HandleOnAdFailedToLoad()` ты пытаешься показать баннер, но не проверяешь, был ли он загружен. Тебе нужно добавить проверку на `bannerView != null`, чтобы убедиться, что баннер был успешно загружен перед его показом.

      Вот исправленный код:

      Код

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

      public class AdManager : MonoBehaviour
      {
      private BannerView bannerView;
      private string adUnitId = "ваш_идентификатор_рекламного_блока";

      void Start()
      {
      MobileAds.Initialize(initStatus => { });
      RequestBanner();
      }

      private void RequestBanner()
      {
      bannerView = new BannerView(adUnitId, AdSize.Banner, AdPosition.Bottom);

      AdRequest request = new AdRequest.Builder().Build();

      bannerView.LoadAd(request);

      bannerView.OnAdLoaded += HandleOnAdLoaded;
      bannerView.OnAdFailedToLoad += HandleOnAdFailedToLoad;
      }

      public void HandleOnAdLoaded(object sender, EventArgs args)
      {
      if (bannerView != null)
      {
      bannerView.Show();
      }
      }

      public void HandleOnAdFailedToLoad(object sender, AdFailedToLoadEventArgs args)
      {
      Debug.Log("Failed to load banner ad: " + args.Message);
      }
      }
      Надеюсь, это поможет тебе исправить ошибки и успешно подключить рекламу AdMob!
  3. Kilkaman
    Kilkaman 3 апр 2023 хочу питсу :catzaza: 527 25 май 2019
    Ответ един
    [IMG]
     
    1. EgorEc Автор темы
      Kilkaman, чел на языке фактов заговорил
  4. Mycop
    Mycop 3 апр 2023 Изменить статус 84 18 мар 2019
    ошибку переводил уже?
     
    1. vtlstolyarov
      EgorEc, нельзя называть поля/свойства класса там же именем что и сам класс (на случай если переводчик написал тебе что-то что ты не понял)
Top