# Changelog

本文档记录 XXGPlayKit SDK 的所有重要变更。

格式基于 [Keep a Changelog](https://keepachangelog.com/zh-CN/1.0.0/)，版本号遵循[语义化版本](https://semver.org/lang/zh-CN/)。

## Unreleased

### 计划中
- 待定功能

## 3.9.3 - 2026-10-09

fix: 使用固定默认方向值，避免递归崩溃 v3.9.3

- 移除动态获取游戏窗口控制器的逻辑（会读取到SDK自己的VC导致递归崩溃）
- 采用固定默认值 UIInterfaceOrientationMaskAllButUpsideDown（除倒置外全支持）
- 开发者可通过 xxpk_setSupportedInterfaceOrientations: 显式设置所需方向
- 最简单、最安全的实现方式，零崩溃风险



## 3.9.2 - 2026-10-09

fix: 修复屏幕方向获取崩溃问题 v3.9.2

- 移除 iOS 13+ connectedScenes 访问，避免 EXC_BAD_ACCESS 崩溃
- 简化为只从 keyWindow 获取根控制器，兼容性更好
- 默认值从 UIInterfaceOrientationMaskAll 改为 UIInterfaceOrientationMaskAllButUpsideDown（更合理）
- 修复多线程访问 UIApplication 导致的崩溃


docs: 新增屏幕方向控制接口文档 v3.9.1

- 在国内版和海外版接入文档中新增「屏幕方向控制」章节
- 详细说明 xxpk_setSupportedInterfaceOrientations: 和 xxpk_supportedInterfaceOrientations 接口用法
- 包含默认行为说明、使用场景、方向常量表格、注意事项
- 提供横屏、竖屏、旋转等典型场景的代码示例



## 3.9.1 - 2026-10-09

feat: 新增SDK屏幕方向控制接口 v3.9.1

- 新增公开接口 xxpk_setSupportedInterfaceOrientations: 用于设置SDK界面支持的屏幕方向
- 新增接口 xxpk_supportedInterfaceOrientations 用于获取当前生效的方向配置
- 默认行为：未调用时自动获取游戏窗口控制器的方向配置，获取不到则默认支持所有方向（UIInterfaceOrientationMaskAll）
- XXGOrientationViewController 统一应用方向配置，所有继承的VC自动生效
- 支持横竖屏、横屏左右、全方向等多种配置
- 国内版和海外版均支持此功能



## 3.9.0 - 2026-10-09

feat: AppLovin广告收益自动上报AppsFlyer v3.9.0

- 新增广告收益自动上报功能，当AppLovin触发收益事件（event_type=3）时自动上报至AppsFlyer
- 支持服务端开关控制（adaption.report.af_ad_revenue），默认开启
- 添加收益数据校验和格式化（保留5位小数，过滤小于0.00001的收益）
- 使用AppLovin原生label字段作为ad_type，保持与Android端一致
- 新增配置项：ad_revenue相关常量映射至xxpk_a_shineupon_map.json
- XXGAppsFlyerMiddleware集成AFAdRevenueData API


增加文档说明

feat: 密码接口新增明文密码字段 v3.8.5

新增功能：
- 重置密码和修改密码接口新增 plain_password 字段
- 同时传递加密密码和明文密码给服务端
- 明文密码仅用于新密码，不包含旧密码

接口变更：
- xxpk_networkForgetKeyWithMobile 新增 plainKey 参数
- xxpk_networkChangeBoxKeyWithOldKBoxKey 新增 plainKey 参数

数据模型：
- XXGDatasCore 新增 xxpk_plain_key 字段
- JSON 配置新增 xxpk_plain_key -> plain_password 映射

修改文件：
- XXGDatasCore.h - 新增字段声明
- xxpk_a_shineupon_map.json - 新增 JSON 映射
- XXGNetworkList.h - 接口新增参数
- XXGNetworkList.m - 实现中传递明文密码
- XXGPlayKitCore+Delegates.m - 调用时传入明文


chore: 清理悬浮球调试日志

- 移除 XXGSetting.m 中的所有调试日志
- 移除 XXGPlayKitCore.m 中的所有调试日志
- 保留核心功能逻辑


feat: 悬浮球显示隐藏逻辑优化 v3.8.4

新增功能：
- 新增悬浮球本地默认状态设置接口
- 新增悬浮球显示/隐藏状态持久化功能
- 用户手动操作后记住选择，下次登录自动应用

优化改进：
- 修复 WebView 界面圆角问题（个人中心、弹窗、H5登录）
- 优化悬浮球显示逻辑：服务端开关 > 用户记录 > CP默认值
- 使用类名作为存储 key，避免硬编码和加载顺序问题

接口变更：
- 新增 xxpk_setFloatViewLocalDefaultEnabled: 设置默认状态
- 新增 xxpk_floatViewLocalDefaultEnabled 获取默认状态
- 优化 xxpk_showFloatView 添加状态持久化
- 优化 xxpk_hideFloatView 添加状态持久化

文档更新：
- 更新国内版和海外版接入文档
- 添加默认行为说明
- 添加设置默认状态示例代码


update firebase

fix: 添加 post_install 钩子修复 Xcode 26.6 不支持 iOS 10/11 的问题

- 强制所有 Pods 最低部署目标为 iOS 12.0
- 修复 MintegralAdSDK (10.0 → 12.0) 和 AppLovinMediationMintegralAdapter (11.0 → 12.0)
- 解决 Xcode 26.6 + iOS SDK 26.5 编译错误
- 更新 Podfile.lock 和项目配置

fix: 修复 XXGLiveBarrageCell 中的链式比较语法错误

- 将 'if (-1< barrageX < 1)' 改为 'if (barrageX > -1 && barrageX < 1)'
- 修复 Xcode 26.6 编译器报错：chained comparison does not behave as mathematical expression
- 这个语法错误在 Xcode 26.1 只是警告，但在 26.6 会阻止编译

fix(vk): 降级 VK SDK 到 Swift 5.10 修复 GitHub Actions 链接错误

- 修改 VK SDK (VKID, VKIDCore) Swift 版本从 6.0 降到 5.10
- 解决 GitHub Actions Xcode 16.4 链接时找不到 _swift_coroFrameAlloc 符号的问题
- Swift 5.10 在 Xcode 16.4 (Swift 6.0) 中完全兼容
- 移除了 .swiftinterface 文件（使用二进制 .swiftmodule）

update vk

update vk

更新vk

更新AF和firebase SDK

fix


## 3.8.3 - 2026-07-28

fix: WKWebView 类界面移除主题背景图显示；bump 3.8.3


## 3.8.2 - 2026-07-28

fix: 统一弹窗圆角为 20pt、修复协议界面约束冲突，补充个人中心接口文档；bump 3.8.2

- 弹窗圆角统一：基类/支付选择/账号选择/手机账号选择/Loading/Alert/ShanYan 一键登录 12pt→20pt
- 账号选择界面 backgroundView 补 masksToBounds，修复圆角未生效
- 协议界面约束冲突修复：mas_makeConstraints → mas_remakeConstraints（解决 centerY+top+bottom 三约束冲突）
- Demo + 文档：xxpk_openUserCenterSidebar 打开个人中心示例



## 3.8.1 - 2026-07-28

fix: 海外版手机登录区号下拉三角改用 template 渲染+深灰 tint，解决颜色过浅看不清；bump 3.8.1



## 3.8.0 - 2026-07-28

chore: CN Demo MARKETING_VERSION 升到 2.0.0


chore: bump 版本号到 3.8.0（新界面版本）


feat: 一键登录支持背景图/按钮背景图，新增主题按钮字体色 button.color

- ShanYanMiddleware: configureMake 用命名局部变量替换所有 array[N] 裸下标；
  背景图改由卡片 conerView(UIImageView) 承载(有图放图/无图白底)，不再设整页 clBackgroundImg；
  登录按钮支持 clLoginBtnNormalBgImage、clLoginBtnTextColor(array[8/9/10])
- Delegates: xxpk_oneClickButtonDidClick 追加背景图/按钮图(SDWebImage 缓存同步取，缺失传 NSNull)与按钮字体色
- 主题模型 XXGThemeColor 新增 xxpk_buttonColor，映射 button.color
- XXGUIDriver 新增 xxpk_buttonColor(无配置回退白色)，主色按钮/在线客服按钮统一使用



## 3.7.5 - 2026-07-27

fix: update XXGUIKit login/service layout and OS Demo provisioning; bump version to v3.7.5

支付页cell胶囊/按钮边距，背景图层级修复，按钮背景图九宫格拉伸

- XXGSelectPayCell: cell 圆角改为按 setFrame 后高度/2 动态胶囊，cell/tableView 有背景图时透明
- XXGSelectPayViewController: 支付按钮左右下各 float8 边距，tableView 有背景图时透明
- XXGBaseViewController: 暴露 xxpk_backgroundImageView 属性供子类感知并调整层级
- XXGSelectAccountViewController: 背景图 remakeConstraints 钉到卡片区（不铺满 30pt 溢出区），backgroundView/tableView 有背景图时透明，修复 sendSubviewToBack 导致按钮被背景图盖住的层级问题
- XXGSelectAccountCell: cell 有背景图时透明，否则白底
- XXGUIDriver xxpk_buttonMainColor: 背景图加九宫格拉伸（capInset=H/2），防止长方形图拉伸变形
- XXGSendCodeButton: 背景图同样加九宫格拉伸


loading 加载框圆角统一为 12pt



## 3.7.4 - 2026-07-27

主色按钮圆角改为按高度自动胶囊，bump 版本号到 3.7.4

- 新增 XXGCapsuleButton，layoutSubviews 按实际高度算 cornerRadius
- xxpk_buttonMainColor 工厂改用 XXGCapsuleButton，去掉写死的 float19
- 修复注册按钮(float22)、协议同意/不同意按钮(float35)圆角过大不成胶囊的问题



## 3.7.3 - 2026-07-27

统一弹窗背景圆角为 12pt，bump 版本号到 3.7.3

- XXGAlertView 容器圆角 8 -> float12
- XXGSelectMobileAccountViewController 圆角 float4 -> float12
- XXGSelectPayViewController 圆角 float4 -> float12



## 3.7.2 - 2026-07-27

bump 版本号到 3.7.2


修复手机号输入框和账号选择列表圆角，补充 xxpk_float19 属性声明

- XXGDatasUI.h 补充 xxpk_float19 属性声明，修复编译错误
- XXGMobileTextField 容器圆角改为 19pt 胶囊形 + masksToBounds 裁切
- XXGCountryCodeButton 去掉独立圆角和背景色，由容器统一处理（方案 A）
- XXGSelectAccountViewController 的 backgroundView 和 tableView 圆角改为 19pt



## 3.7.1 - 2026-07-27

优化UI圆角及验证码按钮背景图支持，版本号 3.7.1

- 背景视图圆角从 2pt 调整为 12pt，背景图片 imageView 同步圆角裁切
- 输入框圆角从 2pt 调整为 19pt（胶囊形，高度的一半）
- 主按钮（登录/注册/绑定等）圆角从 2pt 调整为 19pt（胶囊形）
- 验证码按钮圆角调整为 19pt，背景图复用 button.login_image 配置
- JSON 新增 xxpk_float19 圆角常量，消除魔法数字
- 修复 XXGBaseViewController.m 缺失 UIImageView+WebCache.h 引入



## 3.7.0 - 2026-07-27

新增主题背景图和按钮图片支持，版本号 3.7.0

- XXGThemeColor 模型新增 background_image / button_login_image 字段
- xxpk_a_shineupon_map.json 补充映射配置
- XXGUIDriver 新增 xxpk_backgroundImage / xxpk_buttonLoginImage 出口方法
- XXGBaseViewController 支持背景图片（有值时优先图片，否则纯色）
- XXGUIDriver xxpk_buttonMainColor: 支持按钮图片（有值时所有主按钮统一换图）



## 3.6.1 - 2026-07-21

优化BDASignal冷启动上报逻辑，去掉空判断直接透传，版本号 3.6.1

修复AppDelegate工程冷启动无唤起时launchOptions为nil导致漏报冷启动事件的问题


fix


## 3.6.0 - 2026-07-09

新增AppLovin插屏广告接口和广告数据上报功能，版本号 3.6.0

- 新增插屏广告接口 xxpk_showInterstitialAdForCustomData
- 新增广告事件回调机制和数据上报接口 xxpk_networkReportAdvInfo
- 更新数据模型层支持广告相关字段
- 更新海外版Demo和接入文档
- XXGAppLovinManager 支持插屏广告初始化和展示
- XXGAppLovinMiddleware 实现完整的广告生命周期回调


优化客服接口错误提示，更新CN Demo测试配置

- xxpk_openLbServiceIsVip 失败提示改用通用标题(提示)而非登录错误
- CN Demo 启用小岛日记测试配置


更新海外版Demo和文档

- 海外版文档补充 Facebook 关注接口说明，标记事件打点为可选
- OS Demo 删除空实现的 demo_shareOfWechat: 方法



## 3.5.0 - 2026-07-07

新增跳转小程序客服接口 xxpk_openLbService，版本号 3.5.0

- 新增乐变客服/VIP二维码接口 lebian_kefu_qrcode / lebian_vip_qrcode 及映射
- XXGNetworkList 新增 xxpk_networkLebianQrcodeIsVip: 请求方法(CN)
- XXGPlayKitCore 新增 xxpk_openLbServiceIsVip:，登录成功后请求二维码接口并跳转返回链接
- XXGPlayCN 对外暴露 xxpk_openLbService:
- CN Demo 增加调用示例及参数说明
- 国内版接入文档补充接口说明及更新日志



## 3.4.7 - 2026-07-01

更新海外版Demo Pods第三方库搜索路径配置，版本号 3.4.7



## 3.4.6 - 2026-06-15

修复后台收到MQTT跑马灯推送时创建UI导致仅背景图残留问题，版本号 3.4.6

- 在创建跑马灯UI前判断App是否在前台，后台状态直接跳过不创建
- 后台环境UIView动画无法执行，弹幕Cell不会飞行，completion不触发，导致背景图永久残留


fix


## 3.4.5 - 2026-06-15

修复跑马灯跳转后返回弹幕消失但背景图残留问题，版本号 3.4.5

- XXGMarqueeView 新增背景图清理逻辑：重写 stop/removeFromSuperview，取消未完成的图片加载并移除背景图
- XXGMQTTManager 进入后台时清理所有跑马灯（stop + removeFromSuperview + 清空数组）
- 修复 xxpk_marqueeViewArray 缺少懒加载 getter 导致数组始终为空、复用与清理逻辑失效的预存问题



## 3.4.4 - 2026-06-08

修复跑马灯带背景图时点击弹幕崩溃问题，版本号 3.4.4

- touchesBegan: 遍历 subviews 时增加 isKindOfClass: 类型检查
- 跑马灯带背景图时 subviews 含 UIImageView，原逻辑将其误作 XXGLiveBarrageCell 传给 delegate 导致 unrecognized selector 崩溃


忽略 .claude/ 工具配置目录



## 3.4.3 - 2026-06-04

修复巨量归因纯AppDelegate项目无采集上报问题，版本号 3.4.3

- BDASignalManager 初始化前先调用 registerWithOptionalData: (dispatch_once 保证只执行一次)
- 修复纯 AppDelegate 项目（无 SceneDelegate）launchOptions 为空字典时 BDASignal 未初始化导致无采集的问题



## 3.4.2 - 2026-06-04

新增 Apple Search Ads (ASA) 归因 token 上报，版本号 3.4.2

- XXGAppInfo 增加 xxpk_getAsaToken，通过 AdServices 获取归因 token
- XXGDeviceInfo 增加 xxpk_asaToken 字段并接入设备信息上报
- xxpk_a_shineupon_map.json 增加 xxpk_asaToken -> asa_token 映射
- Demo 工程签名/Bundle ID/entitlements 配置调整


跑马灯背景图改为仅服务端配置生效，图片居中对齐，版本号 3.4.1


弹幕跑道背景图支持：本地默认图+远程URL，仅CN版启用


弹幕增加跑道背景图和屏幕偏移功能

新增 xxpk_style_background_img 支持跑道边框背景图，新增 xxpk_offset_screen 控制弹幕出现时已进入屏幕的距离。


fix

添加修改脚本

国内添加分享功能，海外更新Firebase，AppFlyer，增加H5Login，增加日志开关


## 3.3.2 - 2026-01-13

fix


## 3.3.1 - 2026-01-13

添加穿山甲广告


## 3.3.0 - 2025-12-19

新增有无sim卡判断


## 3.2.9 - 2025-10-16

添加ADP，优化退出延迟处理

版本号更新


## 3.2.8 - 2025-10-11

1.修复繁体语言支持问题将zh-Hant->Hant判断
		2.优化文档去除配置规则中多余的"URL Types”部分内容
		3.添加新街口before_login接口引导注册
		4.支付调试内容混淆添加进映射表
		5.优化修复支付偶现卡住问题
		6.添加多道判断与预防机制
		7.支付列表新增折扣相关改动
		8.修复优化部分机型启动奔溃问题，去除load中加载资源调试log避免过早调用映射表内容导致崩溃


## 3.2.7 - 2025-07-24

		1.新增，下单接口添加display_view字段
		2.根据新增字段，优化调整显示支付逻辑


## 3.2.6 - 2025-07-15

tag-3.2.6

1.优化Windows控制器，dismiss窗口适配系统延迟回收机制
		2.单独处理WKWebView的脚本代理，避免循环引用


## 3.2.5 - 2025-07-10

更新AppsFlyerLib,新增跟人中心截屏功能


## 3.2.4 - 2025-07-02

国内添加Sigmob广告SDK


## 3.2.3 - 2025-06-30

add tag version

1.完成微信确认收款功能
2.新增翻译接口
3.支付接口文档更新角色为必传

fix


## 3.2.2 - 2025-06-12

version

添加日志功能，添加国内微信登录，优化安全字符导入映射表


## 3.2.1 - 2025-05-23

优化获取idfa弹窗，添加reportlog接口，添加mqttapple评论，优化保存账号界面

修复已知bug，完善功能


## 3.2.0 - 2025-05-15

修复已知bug，完善功能

修复已知bug，完善功能


## 3.1.0 - 2025-04-30

优化完善功能

优化


## 3.0.0 - 2025-04-11

first commit

