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

132 lines
3.6 KiB
C#
Raw Normal View History

2025-08-30 04:15:48 +00:00
using System.Collections;
using System.Collections.Generic;
using KwaiAds.Scripts.Api.Interstitial;
using KwaiAds.Scripts.Api.Reward;
2025-08-31 03:55:05 +00:00
using Script.SDKManager.AdsSDKManager.BigoAdsManager;
using SDK.Utils;
2025-08-30 04:15:48 +00:00
using UnityEngine;
2025-08-31 03:55:05 +00:00
public class KwaiAdsManager : NormalSingleton<KwaiAdsManager>
2025-08-30 04:15:48 +00:00
{
//目前都是测试id
private const string appId = "899999";
private const string token = "EaCw0AipSYyvf3E7";
private const string rewardAdUnitId = "8999996001";
private const string interstitialAdUnitId = "8999996002";
/// <summary>
/// 目前是千倍广告价值
/// </summary>
2025-08-31 03:55:05 +00:00
public double rewardAdRevenue = 0;
2025-08-30 04:15:48 +00:00
/// <summary>
/// 插屏奖励价值 如果有竞价功能可能会用到
/// </summary>
2025-08-31 03:55:05 +00:00
public double interstitiaAdRevenue = 0;
2025-08-30 04:15:48 +00:00
2025-08-31 03:55:05 +00:00
private IRewardAdController rewardAdController;
private IInterstitialAdController interstitialAdController;
2025-08-30 04:15:48 +00:00
2025-08-31 03:55:05 +00:00
public void Init()
2025-08-30 04:15:48 +00:00
{
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>
2025-08-31 03:55:05 +00:00
public void LoadRewardAd()
2025-08-30 04:15:48 +00:00
{
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>
2025-08-31 03:55:05 +00:00
public void ShowRewardAd()
2025-08-30 04:15:48 +00:00
{
if (rewardAdController != null)
{
rewardAdController.Show();
}
else
{
LoadRewardAd();
}
}
/// <summary>
/// 广告播放完成 获得奖励
/// </summary>
2025-08-31 03:55:05 +00:00
public void OnRewardAdCallback()
2025-08-30 04:15:48 +00:00
{
AdsSDKManager.instance.OnRewardAdCallback(rewardAdRevenue);
LoadRewardAd();
}
#endregion
#region
2025-08-31 03:55:05 +00:00
public void LoadInterstitialAd()
2025-08-30 04:15:48 +00:00
{
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());
}
2025-08-31 03:55:05 +00:00
public void ShowInterstitialAd()
2025-08-30 04:15:48 +00:00
{
if (interstitialAdController != null)
{
interstitialAdController.Show();
}
else
{
LoadInterstitialAd();
}
}
/// <summary>
/// 广告播放完成 获得奖励
/// </summary>
2025-08-31 03:55:05 +00:00
public void OnInterstitialCallback()
2025-08-30 04:15:48 +00:00
{
if (AdsSDKManager.instance.IsMoreAdsBidding)
{
AdsSDKManager.instance.OnRewardAdCallback(interstitiaAdRevenue);
}
LoadInterstitialAd();
}
#endregion
}