ATNativeAdClient.cs 7.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182
  1. using System;
  2. using System.Collections;
  3. using System.Collections.Generic;
  4. using UnityEngine;
  5. using AnyThinkAds.Common;
  6. using AnyThinkAds.Api;
  7. using AnyThinkAds.iOS;
  8. using AnyThinkAds.ThirdParty.LitJson;
  9. #pragma warning disable 0067
  10. namespace AnyThinkAds.iOS {
  11. public class ATNativeAdClient : IATNativeAdClient {
  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 ATNativeAdListener mlistener;
  27. public void loadNativeAd(string placementId, string mapJson) {
  28. Debug.Log("Unity:ATNativeAdClient::loadNativeAd()");
  29. ATNativeAdWrapper.setClientForPlacementID(placementId, this);
  30. ATNativeAdWrapper.loadNativeAd(placementId, mapJson);
  31. }
  32. public void setLocalExtra (string placementId,string localExtra){
  33. }
  34. public bool hasAdReady(string placementId) {
  35. Debug.Log("Unity:ATNativeAdClient::hasAdReady()");
  36. return ATNativeAdWrapper.isNativeAdReady(placementId);
  37. }
  38. public string checkAdStatus(string placementId) {
  39. Debug.Log("Unity: ATNativeAdClient::checkAdStatus()");
  40. return ATNativeAdWrapper.checkAdStatus(placementId);
  41. }
  42. public void entryScenarioWithPlacementID(string placementId, string scenarioID){
  43. Debug.Log("Unity: ATNativeAdClient::entryScenarioWithPlacementID()");
  44. ATNativeAdWrapper.entryScenarioWithPlacementID(placementId,scenarioID);
  45. }
  46. public string getValidAdCaches(string placementId)
  47. {
  48. Debug.Log("Unity: ATNativeAdClient::getValidAdCaches()");
  49. return ATNativeAdWrapper.getValidAdCaches(placementId);
  50. }
  51. public void setListener(ATNativeAdListener listener) {
  52. Debug.Log("Unity:ATNativeAdClient::setListener()");
  53. mlistener = listener;
  54. }
  55. public void renderAdToScene(string placementId, ATNativeAdView anyThinkNativeAdView) {
  56. Debug.Log("Unity:ATNativeAdClient::renderAdToScene()");
  57. ATNativeAdWrapper.showNativeAd(placementId, anyThinkNativeAdView.toJSON());
  58. }
  59. public void renderAdToScene(string placementId, ATNativeAdView anyThinkNativeAdView, string mapJson) {
  60. Debug.Log("Unity:ATNativeAdClient::renderAdToScene()");
  61. ATNativeAdWrapper.showNativeAd(placementId, anyThinkNativeAdView.toJSON(), mapJson);
  62. }
  63. public void cleanAdView(string placementId, ATNativeAdView anyThinkNativeAdView) {
  64. Debug.Log("Unity:ATNativeAdClient::cleanAdView()");
  65. ATNativeAdWrapper.removeNativeAdView(placementId);
  66. }
  67. public void onApplicationForces(string placementId, ATNativeAdView anyThinkNativeAdView) {
  68. Debug.Log("Unity:ATNativeAdClient::onApplicationForces()");
  69. }
  70. public void onApplicationPasue(string placementId, ATNativeAdView anyThinkNativeAdView) {
  71. Debug.Log("Unity:ATNativeAdClient::onApplicationPasue()");
  72. }
  73. public void cleanCache(string placementId) {
  74. Debug.Log("Unity:ATNativeAdClient::cleanCache()");
  75. ATNativeAdWrapper.clearCache();
  76. }
  77. //Callbacks
  78. public void onAdImpressed(string placementId, string callbackJson) {
  79. Debug.Log("Unity:ATNativeAdClient::onAdImpressed...unity3d.");
  80. onAdImpressEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  81. }
  82. public void onAdClicked(string placementId, string callbackJson) {
  83. Debug.Log("Unity:ATNativeAdClient::onAdClicked...unity3d.");
  84. onAdClickEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  85. }
  86. public void onAdCloseButtonClicked(string placementId, string callbackJson)
  87. {
  88. Debug.Log("Unity:ATNativeAdClient::onAdCloseButtonClicked...unity3d.");
  89. onAdCloseEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  90. }
  91. public void onAdVideoStart(string placementId) {
  92. Debug.Log("Unity:ATNativeAdClient::onAdVideoStart...unity3d.");
  93. onAdVideoStartEvent?.Invoke(this, new ATAdEventArgs(placementId));
  94. }
  95. public void onAdVideoEnd(string placementId) {
  96. Debug.Log("Unity:ATNativeAdClient::onAdVideoEnd...unity3d.");
  97. onAdVideoEndEvent?.Invoke(this, new ATAdEventArgs(placementId,""));
  98. }
  99. public void onAdVideoProgress(string placementId,int progress) {
  100. Debug.Log("Unity:ATNativeAdClient::onAdVideoProgress...progress[" + progress + "]");
  101. onAdVideoProgressEvent?.Invoke(this, new ATAdProgressEventArgs(placementId,"",progress));
  102. }
  103. public void onNativeAdLoaded(string placementId) {
  104. Debug.Log("Unity:ATNativeAdClient::onNativeAdLoaded...unity3d.");
  105. onAdLoadEvent?.Invoke(this, new ATAdEventArgs(placementId,""));
  106. }
  107. public void onNativeAdLoadFail(string placementId,string code, string msg) {
  108. Debug.Log("Unity:ATNativeAdClient::onNativeAdLoadFail...unity3d. code:" + code + " msg:" + msg);
  109. onAdLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId,code,msg));
  110. }
  111. //auto callbacks
  112. public void startLoadingADSource(string placementId, string callbackJson)
  113. {
  114. Debug.Log("Unity: ATNativeAdClient::startLoadingADSource()");
  115. onAdSourceAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  116. }
  117. public void finishLoadingADSource(string placementId, string callbackJson)
  118. {
  119. Debug.Log("Unity: ATNativeAdClient::finishLoadingADSource()");
  120. onAdSourceFilledEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  121. }
  122. public void failToLoadADSource(string placementId,string callbackJson, string code, string error)
  123. {
  124. Debug.Log("Unity: ATNativeAdClient::failToLoadADSource()");
  125. onAdSourceLoadFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId,code,error));
  126. }
  127. public void startBiddingADSource(string placementId, string callbackJson)
  128. {
  129. Debug.Log("Unity: ATNativeAdClient::startBiddingADSource()");
  130. onAdSourceBiddingAttemptEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  131. }
  132. public void finishBiddingADSource(string placementId, string callbackJson)
  133. {
  134. Debug.Log("Unity: ATNativeAdClient::finishBiddingADSource()");
  135. onAdSourceFilledEvent?.Invoke(this, new ATAdEventArgs(placementId,callbackJson));
  136. }
  137. public void failBiddingADSource(string placementId,string callbackJson, string code, string error)
  138. {
  139. Debug.Log("Unity: ATNativeAdClient::failBiddingADSource()");
  140. onAdSourceBiddingFailureEvent?.Invoke(this, new ATAdErrorEventArgs(placementId,callbackJson,code,error));
  141. }
  142. }
  143. }