Unity开发抖音小游戏广告部分接入

news2024/12/30 2:41:11

Unity开发抖音小游戏广告部分接入

  • 介绍
  • 环境确保
  • 开通流量主获取广告位
  • 广告部分代码
  • 测试如下
  • 总结

介绍

最近在使用Unity做抖音小游戏这块的内容,因为要接入广告,所以这里我把我接入广告的部分代码和经验分享一下。

环境确保

根据抖音官方的文档我们是先需要安装BGDT这个支持插件

安装好之后如下打开开发者工具
在这里插入图片描述

需要再安装对应版本的Start SDK这个是广告sdk(其他我下载的大家也可以参考一下)
在这里插入图片描述

开通流量主获取广告位

打开抖音开放平台的控制台找到商业化中的流量主,这里通常是未开放的需要自己打开流量主(这里很快)
在这里插入图片描述
创建广告位,这里可以根据自己的需要去创建(激励视频、插屏广告、Banner广告)。创建完成之后会提供广告位ID。
在这里插入图片描述

广告部分代码

管理脚本

using UnityEngine;
using StarkSDKSpace;
using static StarkSDKSpace.StarkAdManager;

public delegate void OnVideoAdCloseCallBack();
public delegate void OnVideoAdErrorCallBack();

public class AdClass : VideoAdCallback
{
    public void OnError(int errCode, string errorMessage)
    {
        Debug.LogError("播放错误");
    }

    public void OnVideoClose(int watchedTime, int effectiveTime, int duration)
    {
        Debug.LogError("视频关闭 看了多久 = " + watchedTime);
    }

    public void OnVideoLoaded()
    {
        Debug.LogError("视频加载完毕");
    }

    public void OnVideoShow(long timestamp)
    {
        Debug.LogError("开始展示视频");
    }
}

public class ByteGameAdManager : MonoBehaviour
{
    private static ByteGameAdManager _instance;

    private AdClass adc;

    public static ByteGameAdManager Instance
    {
        get
        {
            if (_instance == null)
            {
                _instance = new GameObject("ByteGameAdManager").AddComponent<ByteGameAdManager>();
                DontDestroyOnLoad(_instance.gameObject);
            }

            return _instance;
        }
    }

    private StarkAdManager starkAdManager;


    //public const string LevelComplete_Video_Id = "mi5ag76n0bg4506577";
    //public const string Back_Interstitial_Video_Id = "2efdh3aelb10i0q2ie";
    //public const string Resume_Interstitial_Video_Id = "9e953k528dj5ljkcef";
    //public const string Game_Banner_Id = "4f08ml2f1a81vsqvbg";

    private void Awake()
    {
        _instance = this;
        DontDestroyOnLoad(_instance.gameObject);

		//这个是为了在开发工具中方便测试所以需要打开这里
        if (Application.isEditor)
            MockSetting.OpenAllMockModule();
        starkAdManager = StarkSDK.API.GetStarkAdManager();
        adc = new AdClass();
    }

    /// <summary>
    /// 播放激励视频广告
    /// </summary>
    /// <param name="adId"></param>
    /// <param name="closeCallBack"></param>
    /// <param name="errorCallBack"></param>
    public void ShowVideoAd(string adId, System.Action<bool> closeCallBack, System.Action<int, string> errorCallBack)
    {
        if (starkAdManager != null)
        {
            starkAdManager.ShowVideoAdWithId(adId, closeCallBack, errorCallBack);
        }
    }

    /// <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)
    {
        if (starkAdManager != null)
            starkAdManager.CreateInterstitialAd(adId, errorCallBack, closeCallBack);
    }
}


测试脚本

 if (ByteGameAdManager.Instance != null) 
        {
            //这里需要开通流量主获取广告位ID
            ByteGameAdManager.Instance.ShowVideoAd("5egc7tjx9774ad0il0",
            (bol) => {
                Debug.LogError("关闭广告 ,是否已经看完" + bol);
            },
            (it,str) => {
                Debug.LogError("错误警告Error");
            });
        }

测试如下

编辑器下如下图所示(根据自己的点击获得反馈)
在这里插入图片描述
正常发布版本之后抖音上是正常看到的广告。

总结

上述是我对抖音小游戏广告部分的整理和经验分享,感谢大家的支持。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2049103.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

day 28 HTTP协议

一、TCP粘包问题 TCP发送数据是连续的&#xff0c;两次发送的数据可能粘连成一包被接收到 解决粘包问题方法&#xff1a; 1.接收指定长度&#xff1a;&#xff08;不稳定&#xff09; 2.睡眠&#xff1a;&#xff08;效率低&#xff09; 让每次…

浦发银行上半年增利不增收,新领导能否重夺“对公之王”标签?

去年9月8日&#xff0c;浦发银行原董事长郑杨、原行长潘卫东双双辞职。今年2月&#xff0c;国家金融监督管理总局核准张为忠为浦发银行董事、董事长的任职资格&#xff0c;并于3月核准康杰副行长的任职资格。而行长一职&#xff0c;悬空已久&#xff0c;历经10个月有了新的进展…

SpringBoot和Redis的交互数据操作以及Redis的持久化/删除策略和缓存问题

目录 一、SpringBoot和Redis/MySQL的数据交互 二、Redis的持久化 1、持久化过程保存什么 2、RDB方式 &#xff08;1&#xff09;RDB手动 &#xff08;2&#xff09;RDB自动 &#xff08;3&#xff09;RDB的优点 &#xff08;4&#xff09;RDB缺点 3、AOF方式 &#…

指针详解(二)

目录 1. const修饰指针 1&#xff09;const修饰变量 2&#xff09;const修饰指针变量 2. 指针运算 1&#xff09;指针 - 整数 2&#xff09;指针-指针 3&#xff09;指针的关系运算 3. 野指针 1&#xff09;野指针成因 2&#xff09;规避野指针 4. assert断言 5. 指…

子网掩码是什么以及子网掩码相关计算

子网掩码 (Subnet Mask) 又称网络掩码 (Netmask)&#xff0c;告知主机或路由设备&#xff0c;地址的哪一部分是网络号&#xff0c;包括子网的网络号部分&#xff0c;哪一部分是主机号部分。 子网掩码使用与IP地址相同的编址格式&#xff0c;即32 bit—4个8位组的32位长格式。…

《SPSS零基础入门教程》学习笔记——01.SPSS入门

文章目录 1.1 SPSS的窗口1.2 变量属性&#xff08;1&#xff09;变量的存储类型&#xff08;2&#xff09;变量的测量尺度 1.3 读入数据和保存 1.1 SPSS的窗口 数据窗口 结果窗口语法窗口脚本窗口 1.2 变量属性 定义变量&#xff08;变量视图&#xff09; &#xff08;1&a…

初识MySQL(安装与配置环境)

嗨&#xff01;今天我们进入一个新的领域---数据库。 首先来个小小铺垫。 我们平时存储东西的时候&#xff0c;一般用到文件。为什么有文件了&#xff0c;还继续要这个数据库呢&#xff1f; 很明显&#xff0c;文件有一些不好的地方&#xff0c;需要数据库来进行补充。 文件…

js中的一键复制功能

文章目录 前言execCommand的兼容性页面代码展示通过下载[clipboard.js](https://clipboardjs.bootcss.com/) 库实现在组件中使用 前言 在前端开发中&#xff0c;有时候需要对内容比如订单编号&#xff0c;货物编号进行复制处理业务&#xff0c;但是编码有比较长&#xff0c;手…

k8s 部署polardb-x集群

前言 体验了基于源码构建的部署polardb-x 单机部署&#xff0c;当然也想体验性能更好的完全分布式集群。这边文章将重点介绍如何部署polardb-x集群 简介 PolarDB-X 是一款面向超高并发、海量存储、复杂查询场景设计的云原生分布式数据库系统。其采用 Shared-nothing 与存储计…

[SWPUCTF 2021 新生赛]easy_sql

网址有提示wllm 尝试http://node4.anna.nssctf.cn:28075/?wllm1 我们尝试sqlmap注入一下 sqlmap -u "http://node4.anna.nssctf.cn:28075/?wllm1" --dbs sqlmap -u "http://node4.anna.nssctf.cn:28075/?wllm1" -D test_db -tables sqlmap -u "ht…

el-tree树状控件,定位到选中的节点的位置

效果图 在el-tree 控件加 :render-content"renderContent" 在掉接口的方法中 实际有用的是setTimeout 方法和this.$refs.xxxxxx.setCheckedKeys([industrycodeList]) if(res.data.swindustrylist.length>0){res.data.swindustrylist.forEach(item > {industry…

使用MicroApp重构旧项目

前言 随着技术的飞速发展&#xff0c;我们公司内部一个基于“上古神器” jQuery PHP 构建的十年历史老项目已显力不从心&#xff0c;技术非常老旧且维护成本高昂&#xff0c;其实已经无数次想要重构&#xff0c;但是苦于历史遗留原因以及业务的稳定性而一直难以下手&#xff0…

TortoiseGit处理文件夹名、文件名大小写变更问题

windows环境下使用TortoiseGit&#xff0c;经常会碰到把源码中某个文件或文件夹仅修改大小写进行重命名的场景&#xff0c;但是git默认大小写不敏感&#xff0c;可以使用以下方式处理&#xff1a; 一、文件大小写重命名 右键要重命名的文件→TortoiseGit→Rename 二、文件夹大…

猫头虎 分享:Python库 Scrapy 的简介、安装、用法详解入门教程

猫头虎 分享&#xff1a;Python库 Scrapy 的简介、安装、用法详解入门教程 &#x1f405; 今天猫头虎带您探索Python中的强大爬虫库——Scrapy&#xff0c;从简介到安装&#xff0c;再到用法详解&#xff0c;带您一步步掌握这门技术&#xff01; &#x1f40d; &#x1f4e2; …

Mafia

目录 一、题目 二、思考 三、payload 3.1 方案一 3.2 方案二 3.3 方案三 3.4 方案四 四、思考与总结 一、题目 /* Challenge */ mafia (new URL(location).searchParams.get(mafia) || 11) mafia mafia.slice(0, 50) mafia mafia.replace(/[\\\"\\-\!\\\[\]]/gi…

Linux快捷方式创建、输出重定向(正确输出和错误输出)

一.正确输出 创建一个1.txt文件&#xff0c;然后用vim打开这个文件&#xff0c;然后再开一个窗口 进程号是5602 通过proc可以看到5602这个进程 进入5602里面这里记录了程序的信息&#xff0c;找到fd 进入fd目录下面有0124快捷方式&#xff1a;快捷方式对应的真正的文件是 /de…

计算机毕业设计 医院问诊系统 Java+SpringBoot+Vue 前后端分离 文档报告 代码讲解 安装调试

&#x1f34a;作者&#xff1a;计算机编程-吉哥 &#x1f34a;简介&#xff1a;专业从事JavaWeb程序开发&#xff0c;微信小程序开发&#xff0c;定制化项目、 源码、代码讲解、文档撰写、ppt制作。做自己喜欢的事&#xff0c;生活就是快乐的。 &#x1f34a;心愿&#xff1a;点…

2024年人工智能SSD采购容量估计将超过45 EB

市场报告摘要 市场背景&#xff1a;根据TrendForce公司的报告&#xff0c;由于人工智能&#xff08;AI&#xff09;服务器客户对AI应用的企业级固态硬盘&#xff08;SSD&#xff09;需求激增&#xff0c;过去两个季度中企业级SSD订单显著增加。上游供应商动态&#xff1a;上游…

mysql 一些知识点 面试用

mysql 1、4个隔离级别与3个现象2、快照读与当前读2.1 可重复读的情况下出现幻读问题的两种情况 3 数据库 常用引擎4、InnoDB存储引擎对MVCC的实现5、索引(重点)5.1 什么是索引5.2 索引的创建与删除5.2.1 查看表中有哪些索引5.2.2 添加索引5.2.3 删除索引 5.3 索引的分类5.4 树数…

web技术1——jdk目录结构(重要),tomcat服务器

jdk文件夹结构(重要) bin目录&#xff1a; 里面都是.exe可执行文件。java&#xff0c;javac&#xff0c;javadoc&#xff0c;java编译工具&#xff0c;java监测工具等.exe文件都在这里。 include目录: 底层有用c写的东西&#xff0c;这里面包含很多c语言的文件&#xff0c…