chicken_dy/Assets/HCMiniSdk/Scripts/Ads/Plugins/HCWebGLAdPlugin.cs

136 lines
5.5 KiB
C#

using System;
using System.Collections.Generic;
namespace HC.Plugins
{
public class HCWebGLAdPlugin : HCIBaseAds
{
private Dictionary<string, object> ConvertCallbackResult(int code, string msg, Dictionary<string, object> ext)
{
ext ??= new Dictionary<string, object>();
ext["code"] = code;
ext["msg"] = msg;
ext["platform"] = "webgl";
return ext;
}
public override void InitializeSdk(Action<bool> initCallback)
{
HCWebGLSDKManager.Ads.InitializeSdk((statusCallback, adUnit, code, msg, ext) =>
{
switch (statusCallback)
{
case HCADSstatuscallback.RewardedLoadSuccess:
HCOnRewardedAdLoadedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.RewardedClose:
HCOnRewardedAdHiddenEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.RewardedLoadFailed:
HCOnRewardedAdLoadFailedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.RewardedShowSuccess:
HCOnRewardedAdDisplayedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.RewardedShowFailed:
HCOnRewardedAdFailedToDisplayEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext), ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.InterstitialLoadSuccess:
HCOnInterstitialLoadedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.InterstitialLoadFailed:
HCOnInterstitialLoadFailedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.InterstitialClose:
HCOnInterstitialHiddenEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.InterstitialShowSuccess:
HCOnInterstitialDisplayedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.InterstitialShowFailed:
HCOnInterstitialAdFailedToDisplayEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext), ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.BannerLoadFailed:
HCOnBannerAdLoadFailedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.BannerLoadSuccess:
HCOnBannerAdLoadedEvent?.Invoke(adUnit, ConvertCallbackResult(code, msg, ext));
break;
case HCADSstatuscallback.BannerResize:
break;
case HCADSstatuscallback.BannerDestroySuccess:
break;
case HCADSstatuscallback.BannerDestroyFailed:
break;
case HCADSstatuscallback.BannerShowSuccess:
break;
case HCADSstatuscallback.BannerShowFailed:
break;
case HCADSstatuscallback.BannerHideSuccess:
break;
case HCADSstatuscallback.BannerHideFailed:
break;
default:
throw new ArgumentOutOfRangeException(nameof(statusCallback), statusCallback, null);
}
});
initCallback?.Invoke(true);
}
public override void LoadRewardedAd(string adUnitId)
{
HCWebGLSDKManager.Ads.RewardedLoad(adUnitId);
}
public override bool IsRewardedAdReady(string adUnitId)
{
return HCWebGLSDKManager.Ads.IsRewardedAdReady(adUnitId);
}
public override void ShowRewardedAd(string adUnitId)
{
HCWebGLSDKManager.Ads.ShowRewardedAd(adUnitId);
}
public override void LoadInterstitial(string adUnitId)
{
HCWebGLSDKManager.Ads.LoadInterstitial(adUnitId);
}
public override bool IsInterstitialReady(string adUnitId)
{
return HCWebGLSDKManager.Ads.IsInterstitialReady(adUnitId);
}
public override void ShowInterstitial(string adUnitId)
{
HCWebGLSDKManager.Ads.ShowInterstitial(adUnitId);
}
public override void DestroyBanner(string adUnitId)
{
HCWebGLSDKManager.Ads.DestroyBanner(adUnitId);
}
public override void CreateBanner(string adUnitId)
{
HCWebGLSDKManager.Ads.CreateBanner(adUnitId);
}
public override void ShowBanner(string adUnitId)
{
HCWebGLSDKManager.Ads.ShowBanner(adUnitId);
}
public override void HideBanner(string adUnitId)
{
HCWebGLSDKManager.Ads.HideBanner(adUnitId);
}
public override void SetLogEnable(bool enable)
{
}
}
}