升级TTSDK抖音小游戏banner广告接入
升级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();
总结
感谢大家的支持!
相关文章:
升级TTSDK抖音小游戏banner广告接入
升级TTSDK抖音小游戏banner广告接入 介绍修改总结 介绍 我们原来使用的是unity2021,这次为了抖音新出的TTSDK中的新的API升级我们将项目升级为了unity2022,这次抖音官方剔除了原来StartSDKUnityTools和Start Asset Analyser(startmini&#x…...
vue 项目部署到nginx 服务器
一 vue 项目打包 1 本地环境 npm run build 2 打包完成生成一个dist 文件夹,将其放到服务器指定的文件夹,此文件夹可以在nginx 配置文件中配置 二 nginx 1 根据对应的系统搜索安装命令 sudo yum install nginx 2 查看conf位置 如果不知道的话 ng…...
ubuntu终端指令集 shell编程基础(一)
磁盘指令 连接与查看:磁盘与 Ubuntu 有两种连接方式;使用ls /dev/sd*查看是否连接成功,通过df系列指令查看磁盘使用信息。若 U 盘已挂载,相关操作可能失败,需用umount取消挂载。磁盘操作:使用sudo fdisk 磁…...
win11编译pytorch cuda128版本流程
Geforce 50xx系显卡最低支持cuda128,torch cu128 release版本目前还没有释放,所以自己基于2.6.0源码自己编译wheel包。 1. 前置条件 1. 使用visual studio installer 安装visual studio 2022,工作负荷选择【使用c的桌面开发】,安装完成后将…...
STM32G431RBT6——(1)芯片命名规则
相信很多新手入门STM学的芯片,是STM32F103C8T6,假如刷到个项目换个芯片类型,就会感到好难啊,看不懂,就无从下手,不知所云。其实没什么难的,对于一个个不同的芯片的区别,就像是学习包…...
mac Homebrew安装、更新失败
我这边使用brew安装git-lfs 一直报这个错: curl: (35) LibreSSL SSL_connect: SSL_ERROR_SYSCALL更新brew update也是报这个错误。最后使用使用大佬提供的脚本进行操作: /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/mast…...
Ecode前后端传值
说明 在泛微 E9 系统开发过程中,使用 Ecode 调用后端接口并进行传值是极为常见且关键的操作。在上一篇文章中,我们探讨了 Ecode 调用后端代码的相关内容,本文将深入剖析在 Ecode 中如何向后端传值,以及后端又该如何处理接收这些值…...
Wireshark:自定义类型帧解析
文章目录 1. 前言2. 背景3. 开发 Lua 插件 1. 前言 限于作者能力水平,本文可能存在谬误,因此而给读者带来的损失,作者不做任何承诺。 2. 背景 Wireshark 不认识用 tcpdump 抓取的数据帧,仔细分析相关代码和数据帧后,…...
每日学习Java之一万个为什么?[MySQL面试篇]
分析SQL语句执行流程中遇到的问题 前言1 MySQL是怎么在一台服务器上启动的2 MySQL主库和从库是同时启动保持Alive的吗?3 如果不是主从怎么在启动的时候保证数据一致性4 ACID原则在MySQL上的体现5 数据在MySQL是通过什么DTO实现的6 客户端怎么与MySQL Server建立连接…...
Spring 为何需要三级缓存解决循环依赖,而不是二级缓存
Spring 使用三级缓存来解决循环依赖问题,而不是仅使用二级缓存,主要是为了同时满足依赖注入和 AOP 代理的需求。以下是详细解释: ### Spring 三级缓存的作用 Spring 的三级缓存分别用于不同的场景: 1. **一级缓存(sin…...
2继续NTS库学习(读取shapefile)
引用库如下: 读取shapefile代码如下: namespace IfoxDemo {public class Class1{[CommandMethod("xx")]public static void nts二次学习(){Document doc Application.DocumentManager.MdiActiveDocument;var ed doc.Editor;string shpPath …...
避免 Git 文件名大小写出错
一、如何避免大小写出错? 配置 Git 全局忽略大小写 在 Windows 上,默认 Git 会忽略大小写。建议全局关闭此行为: git config --global core.ignorecase false统一团队命名规范 强制约定文件名全小写(如 config.json)或…...
JavaWeb后端基础(3)
原打算把Mysql操作数据库的一些知识写进去,但是感觉没必要,要是现在会的都是简单的增删改查,所以,这一篇,我直接从java操作数据库开始写,所以这一篇大致就是记一下JDBC、MyBatis、以及SpringBoot的配置文件…...
Vue程序下载
Vue是一个基于JavaScript(JS)实现的框架,想要使用它,就得先拿到Vue的js文件 Vue官网 Vue2:Vue.js Vue3:Vue.js - 渐进式 JavaScript 框架 | Vue.js 下载并安装vue.js 第一步:打开Vue2官网&a…...
力扣 寻找重复数
二分,双指针,环形链表。 题目 不看完题就是排序后,用两个快慢指针移动,找到相同就返回即可。 class Solution {public int findDuplicate(int[] nums) {Arrays.sort(nums);int l0;int r1;while(r<nums.length){if(nums[l]num…...
使用Docker将ros1自定义消息通过rosjava_bootstrap生成jar包
文章目录 预准备环境rosjava_bootstrap坏消息好消息 环境安装docker安装rosjava_bootstrap仓库rosjava_center仓库修改rosjava_bootstrap代码拉取docker镜像放置自己的自定义消息 启动docker编译 预准备环境 rosjava_bootstrap rosjava_bootstrap是将自定义的ROS消息生成java…...
分治算法、动态规划、贪心算法、分支限界法和回溯算法的深度对比
1. 分治算法 (Divide and Conquer) 核心思想 分治法三步曲: 分解(Divide):将原问题拆分为多个子问题解决(Conquer):递归解决子问题合并(Combine):合并子问题…...
Unity 运用正则表达式保留字符串中的中文英文字母和数字
正则表达 正则表达式 – 语法 | 菜鸟教程 Regex 类 (System.Text.RegularExpressions) | Microsoft Learn 保留字符串中的中英数 中英数的正则表达。 patten "[\u4e00-\u9fa5A-Za-z0-9]"; 使用Regex 类匹配正则并保留。 matches Regex.Matches(str, patten)…...
网络安全红队工具
目录 红队及发展趋势 基本概念 发展趋势 防守阶段 备战阶段 临战阶段 实战阶段 战后整顿 如果错过互联网,与你擦肩而过的不仅仅是机会,而是整整一个时代。 红队及发展趋势 基本概念 红队一般指实战攻防的防守方。 红队主要复盘总结现有防护系统的不足之处,为…...
【汽车ECU电控数据管理篇】HEX文件格式解析篇章
一、HEX格式文件是啥 HEX 文件是 Intel 公司提出的一种按地址排列的数据信息格式,通常用于存储嵌入式系统的二进制代码。它以 ASCII 码的形式记录数据,每一行以冒号开头,包含数据长度、地址、记录类型、数据和校验码等信息。HEX 文件常用于程…...
ai-2、机器学习之线性回归
机器学习之线性回归 1、机器学习2、线性回归2.1、梯度下降法 3、python下调用scikit-learn 1、机器学习 2、线性回归 ####所以y可以当成我们需要的结果,根据公式可以求的y一撇的值更小,所以更接近需要的结果,所以y一撇拟合性更好 2.1、梯度下…...
机器视觉线阵相机分时频闪选型/机器视觉线阵相机分时频闪选型
在机器视觉系统中,线阵相机的分时频闪技术通过单次扫描切换不同光源或亮度,实现在一幅图像中捕捉多角度光照效果,从而提升缺陷检测效率并降低成本。以下是分时频闪线阵相机的选型要点及关键考量因素: 一、分时频闪技术的核心需求 多光源同步控制 分时频闪需相机支持多路光源…...
NO.21十六届蓝桥杯备战|一维数组|范围for|memset|memcpy(C++)
数组是⼀组相同类型元素的集合 数组中存放的是1个或者多个数据,但是数组元素个数不能为0数组中存放的多个数据,类型是相同的 数组分为⼀维数组和多维数组,多维数组⼀般⽐较多⻅的是⼆维数组 一维数组 ⼀维数组是最常⻅的,通常⽤…...
开源模型应用落地-DeepSeek-R1-Distill-Qwen-7B-Docker助力-模型部署 “光速” 指南
一、前言 在人工智能的浪潮里,大语言模型不断迭代更新,DeepSeek-R1-Distill-Qwen-7B 模型凭借出色的表现,吸引着无数开发者的目光。然而,想要将这个强大的模型顺利部署并投入使用,过程却并不轻松。传统的部署方式仿佛布满荆棘,从底层环境搭建到各种依赖项的适配,每一步都…...
unity TextMeshPro动态字体使用
TextMeshPro 显示文本的时候,依赖与文本贴图,这个贴图可以是静态的,也可以根据显示需求动态生成,动态的资源对内存消耗会高一些,所以我们一般将常用的3500汉字创建一个静态的字体库,然后在创建一个动态字体…...
C#使用技巧
文章目录 判断7天以内判断7天以内 Date date = new Date(); //获取当前时间Date s00 = (Date) pageData.get(...
爱普生可编程晶振 SG-8101CE 在智能家居领域展现出的优势
在智能家居的全场景应用中,设备间的协同效率、数据传输的稳定性以及系统运行的可靠性,成为衡量用户体验的核心标准。爱普生 SG-8101CE 可编程晶振以其卓越的性能,为智能门锁、传感器、中控系统等设备提供核心动力,助力厂商打造更可…...
第6篇:面向对象编程重构系统
一、OOP重构目标 数据封装:隐藏实现细节接口抽象:规范操作入口资源自治:实现自管理生命周期扩展基础:预留多态支持接口二、完全面向对象实现(完整代码) #include <iostream> #include <Windows.h> #include <li...
杰发科技AC7801——滴答定时器获取时间戳
1. 滴答定时器 杰发科技7801内部有一个滴答定时器,该定时器是M0核自带的,因此可以直接用该定时器来获取时间戳。 同样,7803也可以使用该方式获取时间戳。 2. 滴答定时器原理 SysTick是一个24位的递减计数器,它从预设的重装载值…...
2021-05-27 C++找出矩阵数组中值最大的元素和它在数组中的位置
缘由各位大佬,这个应该怎么做_编程语言-CSDN问答 void 找出数组中值最大的元素和它在数组中的位置() {//缘由https://ask.csdn.net/questions/7436585?spm1005.2025.3001.5141int a[4][4], aa 0, aaa 0, d 0, x 0;while (aa < 4 && aaa < 4)std…...
