文档

Unity Ads 变现


Unity API 参考

Unity Ads 变现


在 Unity 中初始化 SDK

通过使用您的 Game ID(游戏 ID)初始化 Unity Ads SDK,可以在 Unity 项目中启用变现和访问 Unity Ads 公共 API。
阅读时间2 分钟最后更新于 24 天前

重要
必须在 SDK 初始化之前或期间配置用户同意。在某些地区,未经同意配置投放广告服务可能会违反隐私法规。
要初始化该 SDK,必须为适当平台引用项目的 Game ID(游戏 ID)。在 Unity Ads Monetization(变现)后台的二级导航栏中选择 **Monetization(变现)**套件,导航到您当前的项目,然后选择 Settings(设置),并滚动到 **Game IDs(游戏 ID)**部分,即可找到该 Game ID(游戏 ID)。
注意
从 2026 年 4 月 1 日开始,通过广告旧版软件包直接集成使用 Unity Ads 进行变现的应用可能会降低广告效果。为避免性能下降,请切换到将 Unity Ads 集成为出价者。
Unity Ads 网络将继续支持所有使用直接集成的应用程序并提供填充。但是,为了最大限度提高收入和效果,建议的最佳做法是为 Unity 的广告聚合平台 LevelPlay 安装广告服务聚合软件包。
在您的游戏脚本标头中,包含
UnityEngine.Advertisements
命名空间。在游戏的运行时生命周期的早期(最好在启动时)使用
Initialize
函数来初始化 SDK。在 SDK 3.7.0 及更高版本中,您可以使用
IUnityAdsInitializationListener
回调在初始化完成时接收通知,或在发生报错时接收详细信息。

SDK 初始化示例

using UnityEngine;using UnityEngine.Advertisements;public class AdsInitializer : MonoBehaviour, IUnityAdsInitializationListener{ [SerializeField] string _androidGameId; [SerializeField] string _iOSGameId; [SerializeField] bool _testMode = true; private string _gameId; void Awake() { InitializeAds(); } public void InitializeAds() { #if UNITY_IOS _gameId = _iOSGameId; #elif UNITY_ANDROID _gameId = _androidGameId; #elif UNITY_EDITOR _gameId = _androidGameId; //Only for testing the functionality in the Editor #endif if (!Advertisement.isInitialized && Advertisement.isSupported) { Advertisement.Initialize(_gameId, _testMode, this); } } public void OnInitializationComplete() { Debug.Log("Unity Ads initialization complete."); } public void OnInitializationFailed(UnityAdsInitializationError error, string message) { Debug.Log($"Unity Ads Initialization Failed: {error.ToString()} - {message}"); }}
后续步骤:请参阅关于在 Unity 中实现插页式广告的文档以继续您的集成。