Guest User

Untitled

a guest
Aug 12th, 2020
74
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 3.30 KB | None | 0 0
  1. using System;
  2. using UnityEngine;
  3. using UnityEngine.UI;
  4. using GoogleMobileAds.Api;
  5. public class adsScript : MonoBehaviour
  6. {
  7. public static adsScript instance {get; private set;}
  8. private void Awake()
  9. {
  10. if (instance == null) {instance = this; DontDestroyOnLoad(this.gameObject);}
  11. else {Destroy(this.gameObject);}
  12. }
  13. private RewardedAd rewardedAd;
  14. public void RequestReward()
  15. {
  16. string adUnitId = "ca-app-pub-3940256099942544/5224354917";
  17. this.rewardedAd = new RewardedAd(adUnitId);
  18. AddRewardAdEvents();
  19. AdRequest request = new AdRequest.Builder().Build();
  20. this.rewardedAd.LoadAd(request);
  21. }
  22. [SerializeField] GameManager gameManager;
  23.  
  24. public void HandleRewardedAdLoaded(object sender, EventArgs args)
  25. {
  26. MonoBehaviour.print("HandleRewardedAdLoaded event received");
  27. }
  28. public void HandleRewardedAdFailedToLoad(object sender, AdErrorEventArgs args)
  29. {
  30. MonoBehaviour.print("HandleRewardedAdFailedToLoad event received with message: " + args.Message);
  31. this.reqRewardedAdVideo = true;
  32. }
  33. public void HandleRewardedAdOpening(object sender, EventArgs args)
  34. {
  35. MonoBehaviour.print("HandleRewardedAdOpening event received");
  36. }
  37. public void HandleRewardedAdFailedToShow(object sender, AdErrorEventArgs args)
  38. {
  39. MonoBehaviour.print("HandleRewardedAdFailedToShow event received with message: " + args.Message);
  40. }
  41. public void HandleRewardedAdClosed(object sender, EventArgs args)
  42. {
  43. MonoBehaviour.print("HandleRewardedAdClosed event received");
  44. this.reqRewardedAdVideo = true;
  45. this.RequestReward();
  46. }
  47. public void HandleUserEarnedReward(object sender, Reward args)
  48. {
  49. gameManager.gameOverCanvas.SetActive(false);
  50. gameManager.ShowReward();
  51. }
  52.  
  53. public void ShowRewardVideo()
  54. {
  55. if (this.rewardedAd.IsLoaded())
  56. {
  57. this.rewardedAd.Show();
  58. }
  59. else
  60. {
  61. Debug.Log("Reward video is not ready yet");
  62. }
  63. }
  64. public void Start()
  65. {
  66. MobileAds.Initialize(initStatus => { });
  67. this.RequestBanner();
  68. this.RequestInterstitial();
  69. this.RequestReward();
  70. }
  71. private bool reqRewardedAdVideo = true;
  72.  
  73. void AddRewardAdEvents()
  74. {
  75. this.rewardedAd.OnAdLoaded += HandleRewardedAdLoaded;
  76. this.rewardedAd.OnAdFailedToLoad += HandleRewardedAdFailedToLoad;
  77. this.rewardedAd.OnAdOpening += HandleRewardedAdOpening;
  78. this.rewardedAd.OnAdFailedToShow += HandleRewardedAdFailedToShow;
  79. this.rewardedAd.OnUserEarnedReward += HandleUserEarnedReward;
  80. this.rewardedAd.OnAdClosed += HandleRewardedAdClosed;
  81. }
  82.  
  83. void RemoveRewardAdEvents()
  84. {
  85. this.rewardedAd.OnAdLoaded -= HandleRewardedAdLoaded;
  86. this.rewardedAd.OnAdFailedToLoad -= HandleRewardedAdFailedToLoad;
  87. this.rewardedAd.OnAdOpening -= HandleRewardedAdOpening;
  88. this.rewardedAd.OnAdFailedToShow -= HandleRewardedAdFailedToShow;
  89. this.rewardedAd.OnUserEarnedReward -= HandleUserEarnedReward;
  90. this.rewardedAd.OnAdClosed -= HandleRewardedAdClosed;
  91. }
  92. public void OnDestroy()
  93. {
  94. RemoveRewardAdEvents();
  95. }
  96. }
Advertisement
Add Comment
Please, Sign In to add comment