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

测试如下

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

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

总结

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

相关推荐
向宇it11 小时前
【unity小技巧】unity 什么是反射?反射的作用?反射的使用场景?反射的缺点?常用的反射操作?反射常见示例
开发语言·游戏·unity·c#·游戏引擎
Heaphaestus,RC13 小时前
【Unity3D】获取 GameObject 的完整层级结构
unity·c#
芋芋qwq13 小时前
Unity UI射线检测 道具拖拽
ui·unity·游戏引擎
tealcwu13 小时前
【Unity服务】关于Unity LevelPlay的基本情况
unity·游戏引擎
大眼睛姑娘16 小时前
Unity3d场景童话梦幻卡通Q版城镇建筑植物山石3D模型游戏美术素材
unity·游戏美术
鹿野素材屋20 小时前
Unity Dots下的动画合批工具:GPU ECS Animation Baker
unity·游戏引擎
小春熙子1 天前
Unity图形学之着色器之间传递参数
unity·游戏引擎·技术美术·着色器
Java Fans1 天前
在Unity中实现电梯升降功能的完整指南
unity·游戏引擎
GrimRaider2 天前
[Unity]TileMap开发,TileMap地图缝隙问题
unity·游戏引擎·tilemap
无敌最俊朗@2 天前
unity3d——基础篇小项目(开始界面)
unity·游戏引擎