SDK_UnityMoney/Assets/Script/SDKManager/AdsSDKManager/KwaiAdsManager/KwaiAdsManager.cs

132 lines
3.6 KiB
C#

using System.Collections;
using System.Collections.Generic;
using KwaiAds.Scripts.Api.Interstitial;
using KwaiAds.Scripts.Api.Reward;
using Script.SDKManager.AdsSDKManager.BigoAdsManager;
using SDK.Utils;
using UnityEngine;
public class KwaiAdsManager : NormalSingleton<KwaiAdsManager>
{
//目前都是测试id
private const string appId = "899999";
private const string token = "EaCw0AipSYyvf3E7";
private const string rewardAdUnitId = "8999996001";
private const string interstitialAdUnitId = "8999996002";
/// <summary>
/// 目前是千倍广告价值
/// </summary>
public double rewardAdRevenue = 0;
/// <summary>
/// 插屏奖励价值 如果有竞价功能可能会用到
/// </summary>
public double interstitiaAdRevenue = 0;
private IRewardAdController rewardAdController;
private IInterstitialAdController interstitialAdController;
public void Init()
{
bool debug = true; // Whether in debug mode. Plsease set to false when in release build.
var kwaiAdConfig = new KwaiAds.Scripts.Api.KwaiAdConfig.Builder()
.SetAppId(appId)
.SetToken(token)
.SetAppName("App Name") // Optional
.SetDebugLog(debug) // Optional
.Build();
KwaiAds.Scripts.Api.KwaiAdsSdk.Initialize(kwaiAdConfig, new InitResultCallbackImpl());
}
#region 广
/// <summary>
/// 加载激励广告
/// </summary>
public void LoadRewardAd()
{
if (rewardAdController != null)
{
rewardAdController.Destroy();
rewardAdController = null;
rewardAdRevenue = 0;
}
rewardAdController = KwaiAds.Scripts.Api.KwaiAdsSdk.SDK.getRewardAdController();
KwaiRewardAdRequest kwaiRewardAdRequest = new KwaiRewardAdRequest(rewardAdUnitId);
rewardAdController.Load(kwaiRewardAdRequest, new RewardAdListener(), new RewardAdLoadListener());
}
/// <summary>
/// 展示激励广告
/// </summary>
public void ShowRewardAd()
{
if (rewardAdController != null)
{
rewardAdController.Show();
}
else
{
LoadRewardAd();
}
}
/// <summary>
/// 广告播放完成 获得奖励
/// </summary>
public void OnRewardAdCallback()
{
AdsSDKManager.Instance.OnRewardAdCallback(rewardAdRevenue);
LoadRewardAd();
}
#endregion
#region
public void LoadInterstitialAd()
{
if (interstitialAdController != null)
{
interstitialAdController.Destroy();
interstitialAdController = null;
interstitiaAdRevenue = 0;
}
interstitialAdController = KwaiAds.Scripts.Api.KwaiAdsSdk.SDK.getInterstitialAdController();
KwaiInterstitialAdRequest kwaiInterstitialAdRequest = new KwaiInterstitialAdRequest(interstitialAdUnitId);
interstitialAdController.Load(kwaiInterstitialAdRequest, new InterstitialAdListener(), new InterstitialAdLoadListener());
}
public void ShowInterstitialAd()
{
if (interstitialAdController != null)
{
interstitialAdController.Show();
}
else
{
LoadInterstitialAd();
}
}
/// <summary>
/// 广告播放完成 获得奖励
/// </summary>
public void OnInterstitialCallback()
{
if (AdsSDKManager.Instance.IsMoreAdsBidding)
{
AdsSDKManager.Instance.OnRewardAdCallback(interstitiaAdRevenue);
}
LoadInterstitialAd();
}
#endregion
}