Unity Ads SDK 变更日志

注意:从 4.4.1 版本开始,Unity Ads 包被称为 Unity Advertisement Legacy。此包仍受支持,但不再定期更新。要为您的应用实现全面的变现解决方案,您需要通过 Unity 编辑器中的 Ads Mediation 包安装 Unity LevelPlay。

注意:Unity Ads 从 SDK 4.5.0 版本开始有新的依赖关系。如果没有正确解决依赖关系,则手动添加已链接的 aar 文件将导致运行时错误。建议使用包管理系统(比如 Gradle)来管理依赖关系。有关详细信息,请参阅 Android SDK 集成步骤

4.9.2 版本 - 2023-11-08 发布

平台备注
Android
  • 没有变化。
iOS
  • 修复了使用 Xcode 15 进行构建且向低于 12 的 iOS 版本定向投放的相关问题。

4.9.1 版本 - 2023-10-13 发布

平台备注
Android
  • 修复了 getToken 监听器超时和 null 令牌响应的问题。
iOS
  • 没有变化。

4.9 版本 - 2023-09-27 发布

平台备注
Android
  • 添加了对横幅的更多需求。
  • 添加了对可选负载流程进行测试的支持,减少了在高延迟条件下超时的几率。
  • 修复了一个错误,使横幅 no_fill 响应不作为内部错误返回。
  • 修复了示例应用横幅隐藏按钮的问题。
  • 修复了诊断指标的问题,现在可以发送诊断指标了。
  • 修复了异常处理程序重新抛出未处理异常的问题。
  • 修复了当 AdUnityActivity 被销毁时抛出 null 指针异常的问题。
iOS
  • 对横幅的需求增加。
  • 修复了由于未实现的委托方法而导致的崩溃,这些方法应该是可选的。
  • 修复了诊断指标的问题,现在可以发送诊断指标了。

4.8 版本 - 2023-06-27 发布

平台备注
Android
  • 添加了 onBannerShown 回调方法,使得发行商可以使用第三方聚合来获得更加准确的横幅广告展示报告。
iOS
  • 添加了 bannerViewDidShow 委托方法,使得发行商可以使用第三方聚合来获得更加准确的横幅广告展示报告。
  • 在设置方向之前添加了一个用于防止崩溃的保护措施。

4.7.1 版本 - 2023-05-08 发布

平台备注
Android
  • 修复了需要使用更新的 Gradle 构建版本来构建 Android 项目的更改,该更改与当前 LTS Unity 编辑器附带的 Gradle 版本不兼容。
iOS
  • viewId 添加了安全检查,以防止在取消分配横幅对象时发生异常。

4.7.0 版本 - 2023-05-02 发布

平台备注
Android
  • 添加了 Java 8 作为将 Unity Ads SDK 添加到项目中的最低要求。
  • 修复了 VolumeChange 内部监听器中潜在的竞争条件。
iOS
  • 没有变化。

4.6.1 版本 - 2023-03-16 发布

平台备注
iOS
  • 添加了对 Xcode 13 的支持。
Android
  • 减少了网络请求。

警告:未来的 SDK 版本中将要求 Java 8+ 定向投放。

4.6.0 版本 - 2023-02-23 发布

平台备注
iOS
  • 更新了支持库版本以保持需求性能。
  • 优化了 Swift 的性能。
  • 提高了横幅的生命周期性能。
  • 修复了允许您使用以前版本的 Unity Ads SDK 的问题。
Android
  • 提高了横幅的生命周期性能。
  • 修复了当应用程序上下文的缓存目录文件路径为 null 时的 NullPointerException

4.5.0 版本 - 2022-12-19 发布

平台备注
iOS
  • 减少了初始化期间发生的请求数量。
  • 更新了请求重试逻辑,使其在某些已知错误条件下兼容。
Android
  • 减少了初始化期间发生的请求数量。
  • 引入了对 Kotlin 的依赖关系。
  • 改进了在后台放置应用时对计时器的处理。
  • 修复了媒体播放器在无效状态下播放视频时发生的崩溃。

4.4.2 版本 - 2023-03-29 发布

重要:这是为使用 Unity 的开发者计划的最后一次包更新。Unity Ads SDK 的后续更新仅适用于 iOS 和 Android 开发者。

平台备注
Unity
  • 删除了将用户导向到 Unity 聚合的重定向弹窗。
  • 修复了当应用程序上下文的缓存目录文件路径为 null 时的 NullPointerException

4.4.1 版本 - 2022-10-05 发布

平台备注
Unity
  • 从 Unity 2020 及更新版本的 Services(服务)窗口中删除了测试模式。
  • 在 Unity 编辑器的弹出对话框中添加了 batchmode 检查。
  • 在 Unity 编辑器 2022.2 及更新版本中,将 Arial.ttf 重命名为 LegacyRuntime.ttf,以便支持运行模式。
iOS
  • 生成了游戏会话 ID 并保存到存储中。
  • 向最小设备读取器添加了 sdkVersionsdkVersionName
  • 通过 Objective-C 中的反射使用 Swift。
Android
  • 添加了一个实验,以删除媒体播放所需的手势。
  • 以与 WebView 相同的方式生成了 sessionID,并将其保存到 unifiedconfig.data
  • 修复了不存在远程文件或本地文件时的 ConfigurationReader
  • 修复了 Android 8.1 中 TimeZone API 存在问题时的潜在崩溃。
  • 删除了当缺少用于实验对象的应用规则时出现的错误日志消息。

4.4.0 版本 - 2022-09-06 发布

平台备注
Unity
  • 修复了样本应用锚点以水平工作。
  • 更新了屏幕方向 API。
  • 聚合迁移复制有所变化。
iOS
  • 添加了网络性能改进。
Android
  • 在新的 Load/Show 指标中添加了缺失的标签,以避免被丢弃。
  • 保持与 iOS 一致的重试指标标签。
  • 将令牌类型移动到 TokenListenerState 类。
  • 反转操作顺序,以测试它是否会影响令牌延迟指标。
  • 修复了被 ProGuard 混淆的 BannerPosition
  • 修复了并行收集信号时信号存储中的潜在并发性。
  • 恢复了 Proguard 规则。

4.3.0 版本 - 2022-07-25 发布

平台备注
Unity
  • 从 Project Settings Ads(项目设置广告)窗口删除了切换按钮。
  • 修复了 Unity 编辑器 2022.1f1 版本中 Project Settings(项目设置)窗口的问题。
iOS
  • 发布到 Artifactory。
  • 添加了对 SKOverlayAppConfiguration 的其他标识符的支持。
  • 修复了与 UADSTimer 相关的崩溃。
  • 修复了当广告在播放开始时关闭且触发 show failed 回调时发生的错误。
Android
  • 调整了 Proguard 规则以减少混淆。
  • 在配置请求前引入了隐私请求。
  • 当不能在指定的时间范围内显示时引入了 UnityAdsShowError.TIMEOUT
  • 修复了在收到 null 作为采购清单以获得优化时的潜在 NPE。
  • 修复了 LoadShow 超时,以感知生命周期
  • 在 config 和 WebView 中添加了重试指标。
  • 修复了重试指标标签覆盖其他标签(而不是合并)的问题。
  • 删除了使用的 setAppCacheEnabled

4.2.1 版本 - 2022-05-11 发布

平台备注
iOS
  • 修复了与 UADSTimer 相关的崩溃。
Android
  • 没有变化。

4.2.0 版本 - 2022-05-06 发布

平台备注
Unity
  • 添加了一个样本应用。
  • Show Listener 现在返回适当的回调状态。
  • 确保在主线程上触发回调。
iOS
  • 添加了对 AppDelegate supportedInterfaceOrientationsForWindow 的检查。
Android
  • 对 Unity Acquire 添加了优化功能。
  • 改进了令牌解析请求的初始化时间。
  • 修复了对可能的 null 监听器进行安全检查的问题。
  • 修复了在监听器中使用 GetToken 时可能出现的死锁。
  • WebViewApp.java 中的字符串处理做了小的改进。

4.1.0 版本 - 2022-03-17 发布

平台备注
Unity
  • 修复了 IUnityAdsShowCallback 在编辑器运行模式中重复调用的问题。
iOS
  • getToken 公有 API(Beta 版)添加了回调。
  • 改进了令牌的可用性。
Android
  • getToken 公有 API(Beta 版)添加了回调。
  • 改进了令牌的可用性。
  • AD_ID 添加到 AndroidManifest.xml

4.0.1 版本 - 2022-02-02 发布

平台备注
Unity
  • 修复了在主线程上不发生回调时发生的崩溃。
  • 修复了当 Unity Ads 包含在 tvOS 构建中时发生的崩溃。
iOS
  • 修复了当 SDK 试图调用 null 回调时发生的崩溃。
Android
  • 删除了 ARCore 依赖关系。
  • 修复了使用投放优化功能时发生的崩溃。
  • 删除了对 Android ID 的检索和使用。

4.0.0 版本 - 2021-11-30 发布

平台备注
Unity
  • 修复了 Windows 中 Game ID(游戏 ID)文本字段中断的问题。
  • 从编辑器的 Top Menu(顶部菜单)中删除了 ENABLE_EDITOR_GAME_SERVICES。
iOS
  • 修复了从多个线程提交到元数据存储时发生的崩溃
Android
  • 防止在 Unity Ads 被初始化为空活动时发生崩溃。

3.7.5 版本 - 2021-07-20 发布

平台备注
Android
  • 修复了使用 null Game ID(游戏 ID)重新初始化时发生的崩溃。

3.7.3 版本 - 2021-05-26 发布

平台备注
Unity
  • 修复了导致默认广告位无法显示的错误。
iOS
  • 修复了 placementId 变为 null 时可能发生的崩溃。
  • 修复了尝试从后台线程访问 UIKit 时显示的警告。
Android
  • 修复了展示广告时与 IllegalStateException 相关的崩溃。
  • 修复了尝试同时加载多个广告而导致加载错误的问题。

3.7.1 版本 - 2021-03-31 发布

平台备注
iOS
  • 修复了 iOS 内存消耗问题以减轻对设备性能的影响。

3.7.0 版本 - 2021-03-19 发布

平台备注
Unity
  • 为公有 API 上的 Show 方法签名添加了回调。
  • 改进了 Load 方法回调以包含错误消息。

3.6.2 版本 - 2020-12-10 发布

平台备注
Android
  • 修复了由于 ConcurrentModificationException 而导致的崩溃。

3.6.0 版本 - 2020-11-12 发布

平台备注
iOS
  • 添加了实验性的集成 API。
Android
  • 添加了实验性的集成 API。

3.5.1 版本 - 2020-11-05 发布

平台备注
iOS
  • 更新了对 SKAdNetwork 的支持。

3.5.0 版本 - 2020-08-24 发布

平台备注
Unity
  • 更新了 Unity Ads SDK 许可信息。
  • 修复了在某些设备上调用两次 IUnityAdsListener 接口方法。
iOS
  • 添加了新的后台下载 WebView 更新。
  • 更新了 Unity Ads SDK 许可信息。
  • 修复了在 iOS14 上的 StoreKit 中按下 Done(完成)按钮时广告会自动关闭的问题。
Android
  • 添加了新的后台下载 WebView 更新。
  • 更新了 Unity Ads SDK 许可信息。
  • targetSdkVersion 更新为 29。
  • 修复了 AdUnit 视图在系统弹窗后无法恢复焦点的错误。
  • 修复了广告关闭后 Android 背景音频无法恢复的问题。
  • 修复了结束页显示空白页的问题。

3.4.9 版本 - 2020-07-24 发布

平台备注
Unity
  • 修复了在不受支持的平台上工作时发生的错误。
Android
  • 修复了 Android API 级别 30 中使用 getNetworkType 时的一个崩溃。

3.4.6 版本 - 2020-06-04 发布

平台备注
Unity
  • 修复了 Unity 编辑器 2020.1 及更新版本中在不受支持的平台上进行构建的错误。
  • 移除了 UnityEditor.Advertisement.dll
iOS
  • 修复了调用 addDelegate 时发生的崩溃。
  • 修复了 iOS 广告不遵循静音设置的错误。
Android
  • 修复了 InitializationState 内存不足的崩溃。
  • 修复了因不安全 SSL 导致的 GooglePlayStore 拒绝。
  • 修复了 Android readFileBytes 崩溃。

3.4.4 版本 - 2020-03-02 发布

平台备注
Unity
  • 修复了 Unity 编辑器中缺少 UnityEngine.UI 引用的问题。

3.4.2 版本 - 2020-01-05 发布

平台备注
Unity
  • 修复了在运行模式下使用无效 Game ID(游戏 ID)时不会调用错误回调的问题。
iOS
  • 修复了 onUnityAdsError 异常:没有这样的代理方法。
  • 修复了在某些 Android 设备上发生的来自于 BufferredInputStream.Read()FatalException
Android
  • 修复了在进行调试用途的构建时出现的 UnityAdsCopyStringNSStringFromIl2CppString 错误。
  • 修复了当强制使用横向模式时,横幅被意外缩放的问题。

3.4.1 版本 - 2019-12-13 发布

平台备注
Unity
  • 修复了多次执行运行模式后不会在编辑器中触发回调的问题。
  • 修复了编辑器画布不会显示在场景中所有其他对象之上的问题。
  • 修复了占位游戏对象在用户场景中为可见状态的问题。
Android
  • 修复了不会在 Android 设备上调度回调的问题。

3.4.0 版本 - 2019-12-09 发布

平台备注
Unity
  • 在 Asset Store(资源商店)包中添加了关于升级到 packman 的警告消息。
  • 在 Unity 2020.1 及更新版本的 Services(服务)窗口中恢复了 TestMode 标志。
  • 弃用了 Monetization 类。
  • 修复了编辑器按钮中的测试广告无法阻止点击事件传播的问题。
  • 修复了在 Unity 编辑器中运行时每个广告位仅调用一次 OnUnityAdsReady 的问题。
  • 修复了关于 SDK 3.3.1 的 Google Play 崩溃报告。
iOS
  • 弃用了 Monetization 类。
  • 移除了关于 Monetization 的示例应用。
  • 弃用了将监听器作为参数的初始化方法,而采用不带监听器的初始化方法。
  • 修复了 iOS isWiredHeadsetOn 内存泄漏。
  • 修复了 iOS 回调 unityAdsDidError 在初始化无效 Game ID(游戏 ID)时不被触发的问题。
  • 修复了升级到 SDK 3.3.0 后应用崩溃率增加的问题。
  • 修复了第三方造成的 IronSource: 计算重复广告展示的问题。
Android
  • 弃用了 Monetization 类。
  • 移除了关于 Monetization 的示例应用。
  • 弃用了将监听器作为参数的初始化方法,而采用不带监听器的初始化方法。
  • 修复了 Google/Admob 应用在 SDK 3.1.0 中崩溃的问题。
  • 修复了关于 SDK 3.3.1 的 Google Play 崩溃报告。
  • 修复了 Listener.sendErrorEvent
  • 修复了重新初始化总是被屏蔽至少 10 秒的错误。
  • 修复了第三方造成的 IronSource: 计算重复广告展示的问题。

3.3.0 版本 - 2019-09-26 发布

平台备注
Unity
  • 修复了不能在主线程上执行回调的问题。
  • 修复了在回调中调用 RemoveListener 会导致崩溃的问题。
iOS
  • 弃用了 UI WebView。因 Apple iOS 13 更新,Unity Ads 不再支持 iOS 7 和 8。
  • 通过新的横幅 API 添加了横幅优化(具有 UADSBannerView 类)。这个新的 API 支持在一个广告位放置多个横幅,具有灵活定位能力。
  • 修复了 iOS 13 AppSheet 崩溃的问题。
Android
  • 通过新的横幅 API 添加了横幅优化(具有 UADSBannerView 类)。这个新的 API 支持在一个广告位放置多个横幅,具有灵活定位能力。
  • 修复了 WebView onRenderProcessGone 崩溃的问题。

3.2.0 版本 - 2019-07-22 发布

平台备注
Unity
  • 添加了 OMID 可视性集成。Unity 现在通过了 IAB 认证,并具有 VAST 可视性。
  • 在 SDK 中添加了一条错误信息,通知您如果同时安装了包管理器和 Asset Store 版本的 Unity Ads,则删除一个 SDK 实例。
  • 修复了 2017 年之前 Unity 版本的 Android java 代理使用问题,解决了多个监听器崩溃的问题。
iOS
  • 添加了 OMID 可视性集成。Unity 现在通过了 IAB 认证,并具有 VAST 可视性。
Android
  • 添加了 OMID 可视性集成。Unity 现在通过了 IAB 认证,并具有 VAST 可视性。

3.1.1 版本 - 2019-05-16 发布

平台备注
Unity
  • 添加了对多个监听器的支持。
  • 添加了对 ASWebAuthenticationSession 的支持。
  • 修复了 Playstation 和 Xbox 在构建包含其他平台广告的项目时试图访问 UnityAdsSettings 时抛出的错误。
  • 已将测试模式资源文件夹移动到仅编辑器范围。
iOS
  • 已将 iOS 二进制文件更新到 3.1.0。
  • 添加了对多个监听器的支持。
  • 进行了更新,使得 iOS 音量变化事件被正确捕获。
  • 修复了 USRVStorage json 异常。
  • 更新了 Analytics onLevelUp 以接受字符串而不是 int。
Android
  • 已将 Android 二进制文件更新到 3.1.0。
  • 添加了对多个监听器的支持。
  • 修复了横幅内存泄漏问题。
  • 修复了 Android SDK 上的 GetDeviceId 版本低于 23 的问题。
  • 更新了 Analytics onLevelUp 以接受字符串而不是 int。
  • 阻止了 AdUnitActivity.onPause 中的崩溃。

3.0.3 版本 - 2019-03-15 发布

平台备注
Unity
  • 修复了在项目中使用 Unity Ads 横幅时 Unity 编辑器中的内存泄漏问题。
iOS
  • 更新了 iOS 二进制文件。
  • 修复了在 iOS 上购买集成的未捕获异常。
Android
  • 更新了 Android 二进制文件。

3.0.2 版本 - 2019-02-26 发布

平台备注
Unity
  • 修复了 Windows 平台返回错误结果的构建问题。
  • 修复了 Unity Ads 包与 Moq 框架之间的冲突。
iOS
  • 更新了 iOS 二进制文件。
Android
  • 更新了 Android 二进制文件。

3.0.1 版本 - 2019-01-25 发布

平台备注
Unity
  • 集成了 Ads 3.0.1 SDK。
iOS
  • 添加了用于设置横幅位置的 API。
  • 修复了 3.0.0 SDK 中发现的各种错误。
Android
  • 更新了 Android 二进制文件。
  • 修复了 3.0.0 SDK 中发现的各种错误。

3.0.0 版本 - 2018-10-18 发布

平台备注
iOS
  • 添加了 Unity Monetization 平台。
  • 添加了个性化广告位。
  • 添加了横幅。
  • 添加了 AR 广告。
  • 修复了 2.3.0 SDK 中发现的各种错误。
Android
  • 添加了 Unity Monetization 平台。
  • 添加了个性化广告位。
  • 添加了横幅。
  • 添加了 AR 广告。
  • 修复了 2.3.0 SDK 中发现的各种错误。

2.3.2 版本 - 2018-11-21 发布

平台备注
Unity
  • 将 Ads 2.3.0 SDK 与 Unity 2019.X 集成。
  • 修复了平台依赖关系的错误,使您能够在 iOS 或 Android 以外的其他平台上构建。
iOS
  • 修复了 Xcode 中的错误,使您能够在 tvOS 平台上成功运行。

2.3.1 版本 - 2018-11-15 发布

平台备注
Unity
  • 已更新到 Ads 2.3.0 SDK。
  • 更新了多个线程的请求 API。
  • 更新了用于广告和 IAP SDK 通信的 SendEvent API。
  • 添加了新的 Unity 集成。

2.3.0 版本 - 2018-07-12 发布

平台备注
iOS
  • 改进了对 HTTP 请求的处理。
  • 修复了错误并进行了优化。
Android
  • 改进了对 HTTP 请求的处理。
  • 修复了错误并进行了优化。

2.2.1 版本 - 2017-04-23 发布

平台备注
iOS
  • 修复了 iOS 和 Android 的问题。
Android
  • 修复了 iOS 和 Android 的问题。

2.2.0 版本 - 2017-03-22 发布

平台备注
iOS
  • 增加了对应用内购推荐的支持。
  • 改进了对缓存的处理。
  • 增加了以不同格式显示广告的灵活性。
  • 修复了几个罕见的崩溃。
Android
  • 增加了对应用内购推荐的支持。
  • 改进了对缓存的处理。
  • 增加了以不同格式显示广告的灵活性。