Unity发布抖音小游戏:SDK接入

2023-10-31

上篇介绍Unity小游戏发布抖音平台的开发者账号注册以及小游戏创建和申请。本篇介绍字节SDK接入Unity游戏项目中。

接入参考教程:Docs,下载bgdt.package包,并导入Unity项目工程。

 

 打开ByteGame菜单,弹出字节工具面板。点击下载安装另外2个字节小游戏工具。

 

安装完毕后,ByteGame菜单下多了StarkSDKTools子菜单,子菜单下,又多了BuildingTool和PublishingTool工具,前者是运行调试工具,后者是发布工具。

 

 关于调试和发布工具如何使用会在之后的文章中讲解,本篇主要介绍SDK接入。项目中制作个广告管理单例管理器

using System.Collections;
using System.Collections.Generic;
using UnityEngine;
/*
 * Author:W
 * 字节跳动广告管理
 */
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 StarkSDKSpace.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);

        starkAdManager =  StarkSDKSpace.StarkSDK.API.GetStarkAdManager();
    }

    /// <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);
    }

    // Start is called before the first frame update
    void Start()
    {
        
    }

    // Update is called once per frame
    void Update()
    {
        
    }
}

广告封装好后,可以在对应的广告位处调用对应广告的API并注册回调做相应的处理即可。

关于广告ID位申请,请前往字节小程序开发者后台注册。

 

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Unity发布抖音小游戏:SDK接入 的相关文章

随机推荐

  • java入职写不出代码_各位程序员是怎么度过看懂代码但写不出来的时期?

    说实话 我自己就没经历过这样的时期 说看得懂代码的 大概是很少看开源代码 想看懂不仅自己水平要过硬 还要花挺大的精力把前前后后的东西都做充分的研究 我自己总是会有自己写一个功能很有思路 但是搞懂别人同样功能代码却感觉很费力的体验 我猜测题主
  • safari ajax timeout,Safari ajax提交表单无响应?

    两个项目均遇到了Safari ajax提交无响应了 表单里有text file字段 file字段用于上传封面图片 创建的时候没问题 当修改的时候 我不想修改封面图 只修改内容 结果Safari提交后无响应 一直在转圈 到最后超时提示 Fai
  • 2020年,Java 开发者必须了解的 16 个Java 顶级开源项目

    2020年 值得你关注的16个Java 开源项目 本文已经收录自笔者开源的 JavaGuide https github com Snailclimb JavaGuide Java学习 面试指南 一份涵盖大部分Java程序员所需要掌握的核心
  • linux qt读写文件,QT 文件读写操作

    include include 1 打开文件 QFile f fn fn可以是一个相对路径或绝对路径 f open IO 一般不要IO ReadWrite 很容易出现赃数据 如果要在文件的后面添加内容要IO WriteOnly IO App
  • C/C++动态分配内存的几种方法

    使用C C 编程时 会经常动态分配内存 以便合理使用内存 本文主要讲述动态内存分配的几种方法及一些原理 理解不深刻之处欢迎指教 引言 为什么要进行动态内存分配 以数组为例 数组元素在内存中存储的地址是连续的 声明一个数组后 该数组需要的内存
  • 微信小程序设置背景图片

    var src1 images index wx56 png let src11 wx getFileSystemManager readFileSync src1 base64 var src111 data image jpg base
  • IntelliJ IDEA查看指定文件的文件类型、修改文件类型、解决无法正确识别文件类型的问题

    如下图 有时候明明创建的文件后缀名为 xml 可是点进去确是文本文件 一开始实在是觉得匪夷所思 那如何让编辑器识别他是xml文件呢 首先File Settings 然后 这里我要把RoleMapper xml识别为xml文件 编辑器提示Ro
  • windows下prometheus+mysqld_exporter+granafa监控mysql

    一 安装prometheus 可以从官网下载 也可以从github下载 从github下载快一点 官网 https prometheus io download github https github com prometheus prom
  • Python记1(输入/出,字符,数据类型,运算符,语句,with

    目录 1 杂 2 输入 输出 3 特殊字符 转义字符 5 数据类型 5 1数据类型转化 6 运算符 7 语句 7 1 条件分支 if elif elif else 7 2 条件表达式 7 3 循环while for 7 4 上下文管理类型
  • React中组件懒加载的使用

    为什么要使用懒加载 减少了应用启动时间 页面的加载速度变快 提升用户体验 懒加载 页面首次打开 不加载在路由中设置为懒加载的组件 只有用户在实际使用中 使用到了这个组件 才会开始加载 实现代码 import React lazy from
  • VMware Workstation Player与VMware Workstation Pro的区别

    linux开发与学习 免不了安装虚拟机 想想自己最开始只有一台电脑 为了体验最有滋味的linux 划重点 直接装了个双系统 之后就是各种苦不堪言 在ubuntu学着做着 为了个工具不得不关机重启回到windows 过了一分钟 切到windo
  • JS高级(4)函数高级 — 闭包

    闭包 循环遍历 给每个按钮都绑定上单击响应函数 var btns document getElementsByTagName button for var i 0 i lt btns length i 这样写会有一个问题 btns是一个伪数
  • 什么是区块链?区块链详解

    区块链简介 什么是区块链 目前没有看到很好的定义和介绍 网上要么是讲一些区块链意义的空泛文章 比如 区块链技术颠覆谁谁谁 又或 互联网已颠覆世界 区块链要颠覆互联网等等 要么就是通篇介绍比特币 矿工 挖矿等 那么区块链到底是个什么东西 它跟
  • python bottle 制作表单_使用Bottle(Python)的AJAX提交表单

    我在使用Bottle框架进行 AJAX通信时遇到了一些问题 这是我第一次使用AJAX 所以我可能只是错误的基础知识 希望瓶子 AJAX大师可以指出这个新手正确的方向 这是我正在使用的代码 usr bin env python from bo
  • dm9000网卡,uboot代码分析

    uboot移植 九 移植网卡DM9000 一 原理 TQ210 板载的网卡芯片是 DM9000A 接在 S5PV210 的 SROM 控制器的 BANK1 上 S5PV210 的 SROM 控制器支持 8 16 位 NOR Flash PR
  • 人工智能数学基础6:极限、极限运算、ε-δ语言、ε-N语言、级数和函数连续性

    老猿Python博文目录 一 极限的定义及四则运算 极限 某一个函数中的某一个变量 此变量在变大 或者变小 的永远变化的过程中 逐渐向某一个确定的数值A不断地逼近而 永远不能够重合到A 永远不能够等于A 但是取等于A 已经足够取得高精度计算
  • framebuffer驱动详解

    裸机中如何操作LCD LCD的显示原理 DDR中分出一块内存 将要显示的内容放到显存中 硬件自动将显存数据放到驱动器中 驱动器操控LCD显示内容 裸机操作LCD的方法由LCD的本身的工作原理决定 OS下操作LCD的难点 内核 驱动 做底层硬
  • c++中数组的使用

    在c 中 有三个强而有力的工具 分别是数组 指针还有字符串 可以说 没有熟练掌握这三个工具的不能算是一个合格的程序员 1 数组 数组 实际上就是向系统申请一个连续的内存空间 每个内存空间的地址连续 并且大小相同 关于数组的声明 语法如下 类
  • Object类、String类、字符串、异常

    快捷键 再IDEA中查看JDK的源代码 ctrl 7 查看一个类的所有方法或者属性 alt 7 快捷生成toString方法 alt insert enter 一 Object类 Object类是参数的最高统一类型 1 1 Java lan
  • Unity发布抖音小游戏:SDK接入

    上篇介绍Unity小游戏发布抖音平台的开发者账号注册以及小游戏创建和申请 本篇介绍字节SDK接入Unity游戏项目中 接入参考教程 Docs 下载bgdt package包 并导入Unity项目工程 打开ByteGame菜单 弹出字节工具面