Для создания рекламы по кнопке в 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.