ATNativeBannerAdClient.cs 4.1 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889909192939495969798
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using AnyThinkAds.Common;
  6. using AnyThinkAds.Api;
  7. #pragma warning disable 0067
  8. namespace AnyThinkAds.iOS
  9. {
  10. public class ATNativeBannerAdClient : IATNativeBannerAdClient
  11. {
  12. public event EventHandler<ATAdEventArgs> onAdLoadEvent;
  13. public event EventHandler<ATAdErrorEventArgs> onAdLoadFailureEvent;
  14. public event EventHandler<ATAdEventArgs> onAdImpressEvent;
  15. public event EventHandler<ATAdEventArgs> onAdClickEvent;
  16. public event EventHandler<ATAdEventArgs> onAdVideoStartEvent;
  17. public event EventHandler<ATAdEventArgs> onAdVideoEndEvent;
  18. public event EventHandler<ATAdProgressEventArgs> onAdVideoProgressEvent;
  19. public event EventHandler<ATAdEventArgs> onAdCloseEvent;
  20. public event EventHandler<ATAdEventArgs> onAdSourceAttemptEvent;
  21. public event EventHandler<ATAdEventArgs> onAdSourceFilledEvent;
  22. public event EventHandler<ATAdErrorEventArgs> onAdSourceLoadFailureEvent;
  23. public event EventHandler<ATAdEventArgs> onAdSourceBiddingAttemptEvent;
  24. public event EventHandler<ATAdEventArgs> onAdSourceBiddingFilledEvent;
  25. public event EventHandler<ATAdErrorEventArgs> onAdSourceBiddingFailureEvent;
  26. private ATNativeBannerAdListener listener;
  27. public void loadAd(string placementId, string mapJson) {
  28. Debug.Log("ATNativeBannerAdClient::loadAd()");
  29. ATNativeBannerAdWrapper.setClientForPlacementID(placementId, this);
  30. Debug.Log("ATNativeBannerAdClient::loadAd(), after set client");
  31. ATNativeBannerAdWrapper.loadAd(placementId, mapJson);
  32. Debug.Log("ATNativeBannerAdClient::loadAd(), after invoke load ad");
  33. }
  34. public bool adReady(string placementId) {
  35. Debug.Log("ATNativeBannerAdClient::adReady()");
  36. return ATNativeBannerAdWrapper.adReady(placementId);
  37. }
  38. public void setListener(ATNativeBannerAdListener listener) {
  39. Debug.Log("ATNativeBannerAdClient::setListener()");
  40. this.listener = listener;
  41. }
  42. public void showAd(string placementId, ATRect rect, Dictionary<string, string> pairs) {
  43. Debug.Log("ATNativeBannerAdClient::showAd()");
  44. ATNativeBannerAdWrapper.showAd(placementId, rect, pairs);
  45. }
  46. public void removeAd(string placementId) {
  47. Debug.Log("ATNativeBannerAdClient::removeAd()");
  48. ATNativeBannerAdWrapper.removeAd(placementId);
  49. }
  50. //Listener method(s)
  51. public void onAdLoaded(string placementId) {
  52. Debug.Log("ATNativeBannerAdClient::onAdLoaded()");
  53. onAdLoadEvent?.Invoke(this, new ATAdEventArgs(placementId));
  54. }
  55. public void onAdLoadFail(string placementId, string code, string message) {
  56. Debug.Log("ATNativeBannerAdClient::onAdLoadFail()");
  57. onAdLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, "", code, message));
  58. }
  59. public void onAdImpressed(string placementId, string callbackJson) {
  60. Debug.Log("ATNativeBannerAdClient::onAdImpressed()");
  61. onAdImpressEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  62. }
  63. public void onAdClicked(string placementId, string callbackJson) {
  64. Debug.Log("ATNativeBannerAdClient::onAdClicked()");
  65. onAdClickEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  66. }
  67. public void onAdAutoRefresh(string placementId, string callbackJson) {
  68. Debug.Log("ATNativeBannerAdClient::onAdAutoRefresh()");
  69. onAdSourceFilledEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  70. }
  71. public void onAdAutoRefreshFailure(string placementId, string code, string message) {
  72. Debug.Log("ATNativeBannerAdClient::onAdAutoRefreshFailure()");
  73. onAdSourceLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId, "", code, message));
  74. }
  75. public void onAdCloseButtonClicked(string placementId) {
  76. Debug.Log("ATNativeBannerAdClient::onAdCloseButtonClicked()");
  77. onAdCloseEvent?.Invoke(this, new ATAdEventArgs(placementId));
  78. }
  79. }
  80. }