Jump to content
Unity Insider Forum

Rewarded Video


Tim96

Recommended Posts

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using UnityEngine.UI;
using UnityEngine.Advertisements;


public class RewardedVideo : MonoBehaviour, IUnityAdsListener
{

    string placement = "rewardedVideo";
  

    void Start()
    {
  
        Advertisement.AddListener(this);
        Advertisement.Initialize("3703476", true);
    }

    public void ShowAd (string p) 
    {
        
        Advertisement.Show(p);
         
    }

    
    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.
          TotalCoins.totalCoins += 2;
        }

        
         else if (showResult == ShowResult.Failed) 
        {
            //OH no
        }
    }
    public void OnUnityAdsDidStart (string placementId) {
        // Optional actions to take when the end-users triggers an ad.
    }

    public void OnUnityAdsReady (string placementId) {
        // If the ready Placement is rewarded, activate the button: 
       
        
    }

    public void OnUnityAdsDidError (string message) {
        // Log the error.
    }

    
}

Hey,

ich habe ein Script für ein Rewarded Video erstellt und auf ein Button getan. Wenn ich den Button drücke, kommt ein Video und ich bekomme +2 Münzen, alles wie es soll.

Jedoch ist komischer das Problem, dass wenn ich die Szene Wechsel und wieder den Button drücke, dass ich dann nicht +2 Münzen bekomme, sondern +4. Ich bekomme, wenn ich n mal die Szene wechsel n mal mehr Münzen.

Ich habe die Theorie, dass es daran liegt, dass der AddListener jedesmal neu aufgerufen wird und ich deshalb n mal mehr Münzen bekomme.

Hat jemand einen Lösungsvorschlag wie man das beheben kann, dass ich immer nur +2 Münzen bekomme ?

Link zu diesem Kommentar
Auf anderen Seiten teilen

Der Verdacht ist sehr gut. Da du in Start den Listener hinzufügst, kannst du ihn in OnDestroy wieder rausnehmen. Alternativ wäre vermutlich auch möglich, dass du das in OnUnityAdsDidFinish machst. Vielleicht sogar beides, wenn es möglich sein sollte, dass das Objekt zerstört wird, bevor die Werbung fertig ist.

Link zu diesem Kommentar
Auf anderen Seiten teilen

Archiviert

Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.

×
×
  • Neu erstellen...