Как сделать рекламу по кнопке в Unity?

Для создания рекламы по кнопке в Unity с использованием языка программирования C# можно использовать различные рекламные платформы, такие как Google AdMob, Unity Ads или другие аналогичные сервисы.

Вариант 1: Использование Google AdMob

1. В первую очередь необходимо загрузить и установить пакет Google Mobile Ads для Unity. Вы можете сделать это через Package Manager, который доступен в Unity версии 2018.1 и выше.

2. После установки пакета Google Mobile Ads, необходимо настроить его. Для этого вам потребуется создать Ad Unit ID в Google AdMob, который будет уникальным идентификатором вашего рекламного объявления.

3. Создайте пустой объект в сцене Unity и добавьте компонент скрипта к этому объекту.

4. Откройте скрипт и добавьте переменные для рекламных объектов:

using UnityEngine;
using GoogleMobileAds.Api;

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

5. В методе Start() инициализируйте рекламный объект и загрузите рекламу:

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

    interstitial = new InterstitialAd(adUnitId);
    AdRequest request = new AdRequest.Builder().Build();

    interstitial.LoadAd(request);
}

6. Добавьте код в метод OnButtonClicked() или другой метод, который будет вызываться при нажатии на кнопку:

public void OnButtonClicked()
{
    if (interstitial.IsLoaded())
    {
        interstitial.Show();
    }
}

7. Не забудьте создать соответствующую кнопку в Unity, добавьте метод OnButtonClicked() в компонент Button и назначьте этот компонент кнопке.

После использования этого кода при нажатии на кнопку будет показана реклама, если она загружена.

Вариант 2: Использование Unity Ads

1. В Unity перейдите в окно Services (Сервисы) и включите Unity Ads. Затем откройте окно Unity Ads и зарегистрируйтесь в Unity Ads Dashboard.

2. Создайте новый скрипт и добавьте в него следующий код:

using UnityEngine;
using UnityEngine.Advertisements;

public class AdManager : MonoBehaviour, IUnityAdsListener
{
    private string gameId = "ваш_идентификатор_игры";
    private string placementId = "ваш_идентификатор_рекламного_размещения";

    void Start()
    {
        Advertisement.AddListener(this);
        Advertisement.Initialize(gameId, false);
    }

    public void OnButtonClicked()
    {
        StartCoroutine(ShowAd());
    }

    IEnumerator ShowAd()
    {
        while (!Advertisement.IsReady(placementId))
        {
            yield return null;
        }

        Advertisement.Show(placementId);
    }

    public void OnUnityAdsReady(string placementId)
    {
        
    }

    public void OnUnityAdsDidError(string message)
    {
        
    }

    public void OnUnityAdsDidStart(string placementId)
    {
        
    }

    public void OnUnityAdsDidFinish(string placementId, ShowResult showResult)
    {
        
    }
}

3. Создайте кнопку в Unity, добавьте компонент Button и назначьте метод OnButtonClicked() для события OnClick кнопки.

В этом примере мы сначала создаем и инициализируем объект Unity Ads, а затем в методе OnButtonClicked() показываем рекламу, если она готова к показу.

Оба варианта предоставляют инструменты для управления различными типами рекламы, например, можно задать параметры таргетинга, настроить появление рекламы на время или после достижения определенного события в игре. Эти коды приведены только для базовых примеров и предоставляют варианты для дальнейшего изучения и расширения функциональности рекламы в Unity.