升级TTSDK抖音小游戏banner广告接入
- 介绍
- 修改
- 总结
介绍
我们原来使用的是unity2021,这次为了抖音新出的TTSDK中的新的API升级我们将项目升级为了unity2022,这次抖音官方剔除了原来StartSDKUnityTools和Start Asset Analyser(startmini)这两个部分,这次升级之后广告这块的修改我在做一下记录。
如果有不知道原来怎么接入广告的可以看我后面这篇文章。原广告接入文章
修改
TTSDK的升级这块我就不多说了,抖音官方这块写的比较清楚,我就把广告这块重新修复一下。
广告管理脚本如下
using UnityEngine;
using TTSDK;
public delegate void OnVideoAdCloseCallBack();
public delegate void OnVideoAdErrorCallBack();
public class ByteGameAdManager : MonoBehaviour
{
private static ByteGameAdManager _instance;
public static ByteGameAdManager Instance
{
get
{
if (_instance == null)
{
_instance = new GameObject("ByteGameAdManager").AddComponent<ByteGameAdManager>();
DontDestroyOnLoad(_instance.gameObject);
}
return _instance;
}
}
private void Awake()
{
_instance = this;
DontDestroyOnLoad(_instance.gameObject);
//if (Application.isEditor)
// MockSetting.OpenAllMockModule();
}
/// <summary>
/// banner视频
/// </summary>
/// <param name="adId">广告位id</param>
/// <param name="bS">样式</param>
/// <param name="IntervalTime">间隔时间必须大于等于30</param>
/// <param name="errCallBack">错误回调</param>
/// <param name="loadEdCallback">加载完成回调</param>
/// <param name="resizeCallBack">重新设置大小回调</param>
/// <param name="closeCallBack">关闭回调</param>
/// <returns></returns>
public TTBannerAd CreateBanner(string adId, TTBannerStyle bS, int IntervalTime, System.Action<int, string> errCallBack, System.Action loadEdCallback, System.Action<int, int> resizeCallBack, System.Action closeCallBack)
{
return TT.CreateBannerAd(adId,bS,IntervalTime, errCallBack, loadEdCallback, resizeCallBack, closeCallBack);
}
/// <summary>
/// 播放激励视频广告
/// </summary>
/// <param name="adId"></param>
/// <param name="closeCallBack"></param>
/// <param name="errorCallBack"></param>
public TTRewardedVideoAd ShowVideoAd(string adId, System.Action<bool,int> closeCallBack, System.Action<int, string> errorCallBack)
{
return TT.CreateRewardedVideoAd(adId, closeCallBack, errorCallBack);
}
/// <summary>
/// 播放激励视频广告
/// </summary>
/// <param name="adId"></param>
/// <param name="closeCallBack"></param>
/// <param name="errorCallBack"></param>
public TTRewardedVideoAd ShowVideoAdNew(string adId)
{
return TT.CreateRewardedVideoAd(new CreateRewardedVideoAdParam() { AdUnitId = adId });
}
/// <summary>
/// 播放插屏广告
/// </summary>
/// <param name="adId"></param>
/// <param name="errorCallBack"></param>
/// <param name="closeCallBack"></param>
public void ShowInterstitialAd(string adId, System.Action<int, string> errorCallBack, System.Action closeCallBack)
{
TT.CreateInterstitialAd(adId, errorCallBack, closeCallBack);
}
}
测试调用如下
//创建激励视频广告
TTRewardedVideoAd r = ByteGameAdManager.Instance.ShowVideoAdNew("4sindh5hrbd75fe4a3");
//创建激励视频关闭回调
r.OnClose += (bol, val) =>
{
Debug.LogError("关闭广告 ,是否已经看完" + bol);
//看完广告获得提示
if (bol)
{
}
};
//创建报错回调
r.OnError += (code, errorMessage) =>
{
Debug.LogError("code:" + code + "错误信息:" + errorMessage);
};
//展示广告(新版本必须调用,不然无法展示出来广告)
r.Show();
总结
感谢大家的支持!