Найти тему
game development

Установка Unity Ads

Дабы гарантировать последнюю версию Unity Ads, загрузите ее сквозь хранилище активов или же сквозь диспетчер пакетов Unity в редакторе.

Важно : Вы обязаны избрать или Имущество, или сверток. Аппарат обоих имеет возможность привести к промахам сборки.

Использование пакета активов Загрузите последнюю версию Unity Ads из магазина активов. Для получения инфы о загрузке и аппарате пакетов активов см. Документацию по пакетам активов .

Использование диспетчера пакетов Установите последнюю версию Unity Ads сквозь диспетчер пакетов Unity , выполнив надлежащие воздействиядействия:

  1. В редакторе Unity изберите « Окно» > « Диспетчер пакетов», дабы обнаружить диспетчер пакетов.
  2. Изберите сверток Advertisements из перечнясписка, вслед за тем изберите самую последнюю испытанную версию.
    Нажмите кнопку Ввести или же подновить .

Создание места размещения

Пространства размещения - это инициируемые действия в вашей этой ирге, которые отражают контент монетизации. Управление пространств размещения из Operate вкладку Панели инструментов создателя , выбрав личный план, вслед за тем изберите Монетизация > Пространства размещения в навигационной панели слева.

Нажмите кнопку Прибавить РАЗМЕЩЕНИЕ , дабы вызвать запрос на создание Пространства размещения. Назовите свое Пространство размещения и изберите его тип:

Изберите « Не вознагражден», дабы продемонстрировать главные маркетинговые объявления или же маркетинговый контент. Не вознагражденные пространства размещения дают возможность игрокам пропускать рекламу сквозь конкретный зазор времени.
Изберите « Награда», дабы игроки имели возможность подписаться на рекламу в замен на одобрения. Пространства с вознаграждением не дают возможность игроку упустить рекламу.
Изберите « Баннер», дабы сделать отдельное пространство размещения маркетингового плаката.
Любой план с помощью Unity Ads по умолчанию содержит (не вознагражденные) videoи «(вознагражденные) rewardedVideo» пространства размещения. Не смущайтесь применить раз из их для собственной 1 реализации, в случае если они отвечают вашим необходимостям, или же смоделируйте собственные личные.

Инициализация SDK


Дабы инициализировать SDK, вы обязаны показать игровой личный номер собственного плана для соответственной платформы. Вы сможете отыскать личный номер на Operate вкладки Панели инструментов создателя , выбрав план, вслед за тем изберите Опции > Настройка плана с левой панели навигации (см Dashboard управления раздела Опции плана для больше доскональной информации).

В заголовке сценария игры подключите UnityEngine.Advertisementsпространство имен. Инициализируйте SDK в начале актуального цикла игры, лучше при запуске, применяя Initializeфункцию. К примеру:

  • using UnityEngine;
  • using UnityEngine.Advertisements;
  • public class InitializeAdsScript : MonoBehaviour {
  • string gameId = "1234567";
  • bool testMode = true;
  • void Start () {
  • Advertisement.Initialize (gameId, testMode);
  • }
  • }

Промежуточная медийная реклама

Дабы отразить полноэкранное промежуточное объявлениес поддержкой AdvertisementsAPI , элементарно инициализируйте SDK и пользуйтесь Showфункцию.

Промежуточный пример

  1. using UnityEngine;
  2. using UnityEngine.Advertisements;
  3. public class InterstitialAdsScript : MonoBehaviour {
  4. string gameId = "1234567";
  5. bool testMode = true;
  6. void Start () {
  7. // Initialize the Ads service:
  8. Advertisement.Initialize(gameId, testMode);
  9. }
  10. public void ShowInterstitialAd() {
  11. // Check if UnityAds ready before calling Show method:
  12. if (Advertisement.IsReady()) {
  13. Advertisement.Show();
  14. }
  15. else {
  16. Debug.Log("Interstitial ad not ready at the moment! Please try again later!");
  17. }
  18. }
  19. }

Награды видеообъявления

Награждение игроков за просмотр рекламы увеличивает заинтригованность пользователей, собственно что приводит к наращиванию дохода. К примеру, игры имеют все шансы вознаграждать игроков внутриигровой денежной единицей, расходными материалами, дополнительными жизнями или же множителями навыка. Для получения добавочной инфы о том, как действенно разрабатывать ваши вознагражденные объявления, см. Документацию по советам в отношении рекламы .

Дабы вознаграждать игроков за окончание видеообъявления, пользуйтесь способ оборотного вызова, применяя ShowResultрезультат, дабы выяснить, завершил ли пользователь объявление и должен ли он быть вознагражден.

Пример вознагражденного видео

  • using UnityEngine;
  • using UnityEngine.Advertisements;
  • public class RewardedAdsScript : MonoBehaviour, IUnityAdsListener { string gameId = "1234567";
  • string myPlacementId = "rewardedVideo";
  • bool testMode = true;
  • // Initialize the Ads listener and service:
  • void Start () {
  • Advertisement.AddListener (this);
  • Advertisement.Initialize (gameId, testMode);
  • }
  • public void ShowRewardedVideo() {
  • // Check if UnityAds ready before calling Show method:
  • if (Advertisement.IsReady(myPlacementId)) { Advertisement.Show(myPlacementId); }
  • else {
  • Debug.Log("Rewarded video is not ready at the moment! Please try again later!");
  • }
  • }
  • // Implement IUnityAdsListener interface methods:
  • public void OnUnityAdsDidFinish (string placementId, ShowResult showResult) {
  • // Define conditional logic for each ad completion status:
  • if (showResult == ShowResult.Finished) {
  • // Reward the user for watching the ad to completion.
  • } else if (showResult == ShowResult.Skipped) {
  • // Do not reward the user for skipping the ad.
  • } else if (showResult == ShowResult.Failed) {
  • Debug.LogWarning ("The ad did not finish due to an error.");
  • }
  • }
  • public void OnUnityAdsReady (string placementId) {
  • // If the ready Placement is rewarded, show the ad:
  • if (placementId == myPlacementId) {
  • // Optional actions to take when the placement becomes ready(For example, enable the rewarded ads button)
  • }
  • }
  • public void OnUnityAdsDidError (string message) {
  • // Log the error.
  • }
  • public void OnUnityAdsDidStart (string placementId) {
  • // Optional actions to take when the end-users triggers an ad.
  • }
  • // When the object that subscribes to ad events is destroyed, remove the listener:
  • public void OnDestroy() {
  • Advertisement.RemoveListener(this);
  • }
  • }

Награды кнопки видео рекламы

Внедрение кнопки, позволяющей игроку отречься от просмотра рекламы, считается всераспространенной реализацией видео оглашений с вознаграждением. Пользуйтесь приведенный ниже образчик кода, дабы сделать кнопку с вознаграждением за рекламу. Кнопка рекламы отражает рекламу при нажатии, пока же реклама доступна. Дабы настроить кнопку в редакторе Unity:

  1. Выберите Game Object > UI > Button, дабы прибавить кнопку в вашу сцену.
  2. Выберите кнопку, добавленную в сцену, вслед за тем добавьте в нее составляющую сценария с поддержкой инспектора (« Добавить компонент» > « Новый сценарий» ). Назовите скрипт, RewardedAdsButtonсоответствующий имени класса.
  3. Откройте скрипт и добавьте следующий код:
  • using UnityEngine;
  • using UnityEngine.UI;
  • using UnityEngine.Advertisements;
  • [RequireComponent (typeof (Button))]
  • public class RewardedAdsButton : MonoBehaviour, IUnityAdsListener { #if UNITY_IOS
  • private string gameId = "1486551";
  • #elif UNITY_ANDROID
  • private string gameId = "1486550";
  • #endif
  • Button myButton;
  • public string myPlacementId = "rewardedVideo";
  • void Start () {
  • myButton = GetComponent <Button> ();
  • // Set interactivity to be dependent on the Placement’s status: myButton.interactable = Advertisement.IsReady (myPlacementId);
  • // Map the ShowRewardedVideo function to the button’s click listener:
  • if (myButton) myButton.onClick.AddListener (ShowRewardedVideo); // Initialize the Ads listener and service:
  • Advertisement.AddListener (this);
  • Advertisement.Initialize (gameId, true);
  • }
  • // Implement a function for showing a rewarded video ad:
  • void ShowRewardedVideo () {
  • Advertisement.Show (myPlacementId);
  • }
  • // Implement IUnityAdsListener interface methods:
  • public void OnUnityAdsReady (string placementId) {
  • // If the ready Placement is rewarded, activate the button:
  • if (placementId == myPlacementId)
  • {
  • myButton.interactable = true;
  • }
  • }
  • public void OnUnityAdsDidFinish (string placementId, ShowResult showResult) {
  • // Define conditional logic for each ad completion status:
  • if (showResult == ShowResult.Finished) {
  • // Reward the user for watching the ad to completion.
  • } else if (showResult == ShowResult.Skipped) {
  • // Do not reward the user for skipping the ad.
  • } else if (showResult == ShowResult.Failed) {
  • Debug.LogWarning (“The ad did not finish due to an error.”);
  • }
  • }
  • public void OnUnityAdsDidError (string message) {
  • // Log the error.
  • }
  • public void OnUnityAdsDidStart (string placementId) {
  • // Optional actions to take when the end-users triggers an ad.
  • }
  • }

Рекламные баннеры

Форма размещения

Баннерная реклама настятельно просит конкретного на подобии размещения особого баннера.

Реализация скрипта

В заголовке скрипта Placement объявите UnityEngine.Advertisementsпространство имен, которое имеет Bannerкласс. Вслед за тем инициализируйте SDK и пользуйтесь его Banner.Showдля показа рекламного баннера.

Пример рекламного баннера

  • using System.Collections;
  • using UnityEngine;
  • using UnityEngine.Advertisements;
  • public class BannerAdScript : MonoBehaviour {
  • public string gameId = "1234567";
  • public string placementId = "bannerPlacement";
  • public bool testMode = true;
  • void Start () {
  • Advertisement.Initialize(gameId, testMode); StartCoroutine(ShowBannerWhenInitialized());
  • }
  • IEnumerator ShowBannerWhenInitialized () {
  • while (!Advertisement.isInitialized) {
  • yield return new WaitForSeconds(0.5f);
  • }
  • Advertisement.Banner.Show (placementId);
  • }
  • }

Важно! BannerКласс считается частью AdvertisementsAPI . При применении баннерной рекламы в сочетании с MonetizationAPI (см. Раздел « Интеграция для персонализированных пространств размещения» ниже) нужно инициализировать Moneization SDK, до этого чем получить доступ к хоть каким классам или же членам AdvertisementsAPI. Доступ к AdvertisementsAPI до инициализации Moneization SDK приведет к сбою получения содержимого.

Баннерная позиция По умолчанию рекламные баннеры о показываются в центре нижней части экрана, поддерживая позволение 320 x 50 или же 728 x 90 пикселей. Дабы показать ахор баннера, пользуйтесь Banner.SetPositionAPI. Например:

  • Advertisement.Banner.SetPosition (BannerPosition.TOP_CENTER);

тестирование

Перед публикацией игры подключите тестовый режим, выполнив надлежащие воздействия:

  1. С Operate вкладки Панели инструментов разработчика , выберите Project.
  2. Выберите Настройки > Настройки проекта на левой навигационной панели.
  3. Прокрутите вниз до раздела « Тестовый режим » и нажмите кнопку «Изменить» на платформе ( Apple App Store или Google Play Store ), установите флажок « Переопределить режим тестирования клиента» , затем установите переключатель « Принудительный режим включения ».

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

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