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

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

介绍

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

环境确保

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

安装好之后如下打开开发者工具

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

开通流量主获取广告位

打开抖音开放平台的控制台找到商业化中的流量主,这里通常是未开放的需要自己打开流量主(这里很快)

创建广告位,这里可以根据自己的需要去创建(激励视频、插屏广告、Banner广告)。创建完成之后会提供广告位ID。

广告部分代码

管理脚本

csharp 复制代码
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);
    }
}

测试脚本

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

测试如下

编辑器下如下图所示(根据自己的点击获得反馈)

正常发布版本之后抖音上是正常看到的广告。

总结

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

相关推荐
神码编程3 小时前
【Unity功能集】TextureShop纹理工坊(五)选区
unity·游戏引擎·shader·ps选区
m0_748251728 小时前
Android webview 打开本地H5项目(Cocos游戏以及Unity游戏)
android·游戏·unity
benben0449 小时前
Unity3D仿星露谷物语开发7之事件创建动画
unity·游戏引擎
林枫依依11 小时前
Unity2021.3.16f1可以正常打开,但是Unity2017.3.0f3却常常打开闪退或者Unity2017编辑器运行起来就闪退掉
unity
异次元的归来1 天前
Unity DOTS中的share component
unity·游戏引擎
向宇it1 天前
【从零开始入门unity游戏开发之——C#篇25】C#面向对象动态多态——virtual、override 和 base 关键字、抽象类和抽象方法
java·开发语言·unity·c#·游戏引擎
_oP_i1 天前
unity webgl部署到iis报错
unity
Go_Accepted1 天前
Unity全局雾效
unity
向宇it1 天前
【从零开始入门unity游戏开发之——C#篇24】C#面向对象继承——万物之父(object)、装箱和拆箱、sealed 密封类
java·开发语言·unity·c#·游戏引擎
每日出拳老爷子1 天前
【图形渲染】【Unity Shader】【Nvidia CG】有用的参考资料链接
unity·游戏引擎·图形渲染