Tim96 Geschrieben 22. Oktober 2020 Melden Share Geschrieben 22. Oktober 2020 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 More sharing options...
Sascha Geschrieben 22. Oktober 2020 Melden Share Geschrieben 22. Oktober 2020 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 More sharing options...
Mark12 Geschrieben 23. Oktober 2020 Melden Share Geschrieben 23. Oktober 2020 Bei mir klappt es leider nicht😅 Wie würdest du das in das Script einbauen ? Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 23. Oktober 2020 Melden Share Geschrieben 23. Oktober 2020 Erzähl mal lieber, was denn genau nicht klappt. "Geht nicht" gibt's nämlich nicht. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Mark12 Geschrieben 24. Oktober 2020 Melden Share Geschrieben 24. Oktober 2020 Ich weiß nicht wie ich OnDestroy in das Script einbauen muss. Ich habe jetzt void onDestroy() { Advertisement.AddListener(this); } am Ende des Scripts eingebaut, aber dadurch konnte ich den Fehler nicht lösen. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Sascha Geschrieben 24. Oktober 2020 Melden Share Geschrieben 24. Oktober 2020 Das O muss groß, ansonsten stimmt die Methode schon einmal. Du fügst darin aber erneut den Listener hinzu, anstatt ihn zu entfernen. Dürfte irgendwie RemoveListener heißen, was du brauchst. Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Tim96 Geschrieben 24. Oktober 2020 Autor Melden Share Geschrieben 24. Oktober 2020 Vielen Dank konnte es beheben👍 Link zu diesem Kommentar Auf anderen Seiten teilen More sharing options...
Recommended Posts
Archiviert
Dieses Thema ist jetzt archiviert und für weitere Antworten gesperrt.