@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";
        }
    }
}
  • Вопрос задан
  • 79 просмотров
Пригласить эксперта
Ответы на вопрос 1
@MishkaVNorky
1. на компе стоит заглушка, библиотека не работает как на устройстве
2. вы добавили "rewardedVideo" через панель управления? https://unityads.unity3d.com/help/monetization/pla...
с виду в коде все правильно, так же надо учитывать что на телефоне должен быть интернет и реклама (например видео награда) показывается не сразу, а сначала загрузится и только потом (в том числе даже если она тестовая)
Ответ написан
Ваш ответ на вопрос

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

Войти через центр авторизации
Похожие вопросы
PHYGITALISM Москва
от 70 000 руб.
YOPS LTD Санкт-Петербург
от 48 000 руб.
Particle Москва
от 150 000 руб.
19 марта 2019, в 01:16
5000 руб./за проект
19 марта 2019, в 00:14
1000 руб./в час
18 марта 2019, в 23:00
2000 руб./за проект