136 lines
5.5 KiB
C#
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)
|
||
|
|
{
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|