ATInterstitialAd.cs 2.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283848586878889
  1. using System.Collections;
  2. using System.Collections.Generic;
  3. using UnityEngine;
  4. using System.Reflection;
  5. using System;
  6. using AnyThinkAds.Common;
  7. using AnyThinkAds.ThirdParty.LitJson;
  8. namespace AnyThinkAds.Api
  9. {
  10. public class ATInterstitialAdLoadingExtra
  11. {
  12. public static readonly string kATInterstitialAdLoadingExtraInterstitialAdSize = "interstitial_ad_size";
  13. public static readonly string kATInterstitialAdLoadingExtraInterstitialAdSizeStruct = "interstitial_ad_size_struct";
  14. public static readonly string kATInterstitialAdSizeUsesPixelFlagKey = "uses_pixel";
  15. }
  16. public class ATInterstitialAd
  17. {
  18. private static readonly ATInterstitialAd instance = new ATInterstitialAd();
  19. public IATInterstitialAdClient client;
  20. private ATInterstitialAd()
  21. {
  22. client = GetATInterstitialAdClient();
  23. }
  24. public static ATInterstitialAd Instance
  25. {
  26. get
  27. {
  28. return instance;
  29. }
  30. }
  31. public void loadInterstitialAd(string placementId, Dictionary<string,object> pairs)
  32. {
  33. if (pairs != null && pairs.ContainsKey(ATInterstitialAdLoadingExtra.kATInterstitialAdLoadingExtraInterstitialAdSizeStruct))
  34. {
  35. ATSize size = (ATSize)(pairs[ATInterstitialAdLoadingExtra.kATInterstitialAdLoadingExtraInterstitialAdSizeStruct]);
  36. pairs.Add(ATInterstitialAdLoadingExtra.kATInterstitialAdLoadingExtraInterstitialAdSize, size.width + "x" + size.height);
  37. pairs.Add(ATInterstitialAdLoadingExtra.kATInterstitialAdSizeUsesPixelFlagKey, size.usesPixel);
  38. client.loadInterstitialAd(placementId, JsonMapper.ToJson(pairs));
  39. } else
  40. {
  41. client.loadInterstitialAd(placementId, JsonMapper.ToJson(pairs));
  42. }
  43. }
  44. public bool hasInterstitialAdReady(string placementId)
  45. {
  46. return client.hasInterstitialAdReady(placementId);
  47. }
  48. public void entryScenarioWithPlacementID(string placementId, string scenarioID)
  49. {
  50. client.entryScenarioWithPlacementID(placementId,scenarioID);
  51. }
  52. public string checkAdStatus(string placementId)
  53. {
  54. return client.checkAdStatus(placementId);
  55. }
  56. public string getValidAdCaches(string placementId)
  57. {
  58. return client.getValidAdCaches(placementId);
  59. }
  60. public void showInterstitialAd(string placementId)
  61. {
  62. client.showInterstitialAd(placementId, JsonMapper.ToJson(new Dictionary<string, string>()));
  63. }
  64. public void showInterstitialAd(string placementId, Dictionary<string, string> pairs)
  65. {
  66. client.showInterstitialAd(placementId, JsonMapper.ToJson(pairs));
  67. }
  68. public IATInterstitialAdClient GetATInterstitialAdClient()
  69. {
  70. return AnyThinkAds.ATAdsClientFactory.BuildInterstitialAdClient();
  71. }
  72. }
  73. }