0

When I test rewardAd, I can see the ad and I can get reward, but let's say I have 3 Revive ability I watched an ad and it gives 7 revive ability and let's say I watched again now it's not giving me reward, but if I spend my ability and watch again let's say I spend 2 now I have 8 when I watch reward ad it gives me 2 and it stucks at 10 again it never goes over 10 and if I have 2 ability it gives 8 if I have 5 ability it gives 5 it always completes at 10 I have no idea how to fix it, can you help me.

public void RequestRewardAd()
{
    AdRequest request = new AdRequest.Builder().Build();

    rewardBasedVideo.LoadAd(request, rewardBasedVideoId);
}
public void ShowRewardAd()
{
    if (rewardBasedVideo.IsLoaded())
    {
        rewardBasedVideo.Show();
    }
}

public void HandleRewardBasedVideoLoaded(object sender, EventArgs args)
{
    Debug.Log("HandleRewardBasedVideoLoaded event received");
}

public void HandleRewardBasedVideoFailedToLoad(object sender, AdFailedToLoadEventArgs args)
{
    Debug.Log("HandleRewardBasedVideoFailedToLoad event received with message: "+ args.Message);
}

public void HandleRewardBasedVideoOpened(object sender, EventArgs args)
{
    Debug.Log("HandleRewardBasedVideoOpened event received");
}

public void HandleRewardBasedVideoStarted(object sender, EventArgs args)
{
    Debug.Log("HandleRewardBasedVideoStarted event received");
}

public void HandleRewardBasedVideoClosed(object sender, EventArgs args)
{
    Debug.Log("HandleRewardBasedVideoClosed event received");
    RequestRewardAd();
}

public void HandleRewardBasedVideoRewarded(object sender, Reward args)
{
    string type = args.Type;
    PlayerPrefs.SetFloat("Revive", (int)args.Amount);
}

public void HandleRewardBasedVideoLeftApplication(object sender, EventArgs args)
{
    Debug.Log("HandleRewardBasedVideoLeftApplication event received");
}
duhaonur
  • 1
  • 2
  • Why are you using SetFloat but then casting args.Amount as an integer? The second issue might be because you didn't set up your "Reward args" correctly. I'd recommend not using the template script's "args" argument and incrementing your own reward variable. You could have a variable "int numRevive" and in your HandleRewardBasedVideoRewarded write "numRevive += (value);" and then save that integer in your PlayerPrefs. – SecureCake Feb 24 '19 at 04:14
  • Im an idiot it's working wrong because Im overwriting playerprefs, everytime it's making 10 Im not adding to existing one. I realized that now, Im working with my project all day and my brain is not working anymore, but I fixed it :)) – duhaonur Feb 24 '19 at 14:37

0 Answers0