@graf45231

Не могу разобраться с Unity Monetization 3.0, как запустить рекламу на смартфоне?

Сделал тестовый проект, чтобы освоить монетизацию в Unity. В редакторе всё хорошо, показывается тестовая картинка и бонусы начисляются, но на телефоне не запускается реклама, а в эмуляторе так вообще вылетает при нажатии на кнопку рекламы. При нажатии на кнопку вызывается метод ShowAd() и внутри уже идёт проверка готова ли реклама, насколько я знаю в тестовом режиме она всегда готова и поэтому я не понимаю в чём проблема. Не обращайте внимания на изменения текста в поле, просто пытался отладить код, буду благодарен если ещё подскажете как отладить код на android.

using UnityEngine;
using UnityEngine.Monetization;
using UnityEngine.UI;

public class UnityAdsScript : MonoBehaviour
{
    public Player player;
    public string placementId = "rewardedVideo";
    public Text androidConsole;

#if UNITY_IOS
   private string gameId = "2997382";
#elif UNITY_ANDROID
    private string gameId = "2997383";
#endif

    void Start()
    {
        if (Monetization.isSupported)
        {
            Monetization.Initialize(gameId, true);
        }
    }

    void Update()
    {

    }

    public void ShowAd()
    {
        if (Monetization.IsReady(placementId)) {
            androidConsole.text = "Start1";
            ShowAdCallbacks options = new ShowAdCallbacks();
            androidConsole.text = "Start2";
            options.finishCallback = HandleShowResult;
            androidConsole.text = "Start3";
            ShowAdPlacementContent ad = Monetization.GetPlacementContent(placementId) as ShowAdPlacementContent;
            androidConsole.text = "Start4";
            ad.Show(options);
            androidConsole.text = "Start5";
        }
    }

    void HandleShowResult(ShowResult result)
    {
        if (result == ShowResult.Finished)
        {
            player.Reward();
            androidConsole.text = "Finish";
        }
        else if (result == ShowResult.Skipped)
        {
            androidConsole.text = "The player skipped the video - DO NOT REWARD!";
        }
        else if (result == ShowResult.Failed)
        {
            androidConsole.text = "Video failed to show";
        }
    }
}
  • Вопрос задан
  • 198 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MishkaVNorky
1. на компе стоит заглушка, библиотека не работает как на устройстве
2. вы добавили "rewardedVideo" через панель управления? https://unityads.unity3d.com/help/monetization/pla...
с виду в коде все правильно, так же надо учитывать что на телефоне должен быть интернет и реклама (например видео награда) показывается не сразу, а сначала загрузится и только потом (в том числе даже если она тестовая)
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы
Pixonic Москва
от 200 000 руб.
Pixonic Москва
от 220 000 руб.
Matryoshka Games Санкт-Петербург
от 90 000 до 130 000 руб.
25 июн. 2019, в 00:24
15000 руб./за проект
24 июн. 2019, в 23:27
8000 руб./за проект