Когда вы приостанавливаете игру, есть кнопка, в которой вы можете щелкнуть и просмотреть видео с возможностью пропуска в конце этого видео. Я хочу реализовать следующее:Показать Результат Unity ADS награды
Если видеоролик проходит до конца, они получают 1 дополнительное сердце (максимум 3 полных сердца) и получают окно чата или диалог оповещения.
Если видео не открывается, полностью загружается или что-то не так, они ничего не получают, появляется диалоговое окно чата или предупреждение.
В настоящее время видео загружается, но когда видео заканчивается, выигрыш не получен (1 лишнее сердце), что не так в моем коде?
Ниже кнопка объявление
using UnityEngine;
using System.Collections;
using UnityEngine.Advertisements;
using UnityEngine.UI;
public class Ads : MonoBehaviour {
public Button getAds;
private Hearts heart;
void OnEnable()
{
getAds.onClick.AddListener (() => GetAds (getAds));
}
private void GetAds (Button buttonPressed)
{
if (buttonPressed == getAds) {
Advertisement.Initialize ("XXXXXX", true);
Advertisement.IsReady ("rewardedVideo");
Advertisement.Show ("rewardedVideo");
}
}
public void HandleShowResult (ShowResult result)
{
switch (result)
{
case ShowResult.Finished:
heart = GameObject.FindGameObjectWithTag ("Hearts").GetComponent<Hearts>() as Hearts;
heart.AddHeart();
break;
case ShowResult.Skipped:
Debug.Log("The ad was skipped before reaching the end.");
break;
case ShowResult.Failed:
Debug.LogError("The ad failed to be shown.");
break;
}
}
void OnDisable()
{
getAds.onClick.RemoveAllListeners();
}
}
Ниже текущей система сердца сценария
using UnityEngine;
using System.Collections;
public class Hearts : MonoBehaviour {
public Texture2D[]initialHeart;
private int hearts;
private int currentHearts;
void Start() {
GetComponent<GUITexture>().texture = initialHeart[0];
hearts = initialHeart.Length;
}
void Update() {
}
public bool TakeHeart()
{
if (hearts < 0) {
return false;
}
if (currentHearts < (hearts - 1)) {
currentHearts += 1;
GetComponent<GUITexture>().texture = initialHeart [currentHearts];
return true;
} else {
return false;
}
}
public bool AddHeart() {
if (currentHearts > 0) {
currentHearts -= 1;
GetComponent<GUITexture>().texture = initialHeart [currentHearts];
return true;
} else {
return false;
}
}
}
+1 для ввода кода. Вам нужно изменить свой вопрос и перефразировать свой вопрос. Прямо сейчас я смутился, читая его. Также вопрос заканчивается на «?» «Что случилось с моим кодом?» «Почему мое объявление не появляется?» ... – Programmer