跳到主要内容

更新指南

VGP SDK Android 各版本升级说明。


6.5.10 → 6.5.11

发布日期: 2026-05-19

针对已安装 Facebook 应用用户的 Meta CAPI Event Match Quality 增强。无需修改对接代码 — 更新 SDK 版本后重新构建即可。

变更内容

类别说明
Meta CAPI在 S2S 上行载荷中新增 anon_id 字段,携带 FB SDK 匿名安装 ID(XZ<UUIDv4>)。服务端将其路由到 Meta CAPI 的 user_data.anon_id 槽 — 与 user_data.fbp(承载 _fbp Cookie 值)区分开 — 与 madid(GAID)和经哈希的 external_id 一起为 Meta 多提供一个交叉匹配信号。通过反射调用 AppEventsLogger.getAnonymousAppDeviceGUID(context) 获取,SDK 仍不强依赖 Facebook SDK;若宿主应用未集成 FB SDK,则为无操作。

升级

在 app 级 build.gradle 中提升 SDK 版本号:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.11'
}
无破坏性变更

对 S2S 载荷的纯增量增强。无公共 API 变更,也无新增依赖。


6.5.8 → 6.5.10

发布日期: 2026-05-12

针对 S2S 事件归因正确性与数据去重的关键性修复。无需修改对接代码 — 更新 SDK 版本后重新构建即可。

变更内容

类别说明
用户身份修复了由于缓存持久化竞态条件导致 sign_insign_up 事件推送时 vgp_id 为空的问题。现已确保在触发事件前完全同步并持久化 User 实例。
事件去重sign_insign_up 事件添加了 30 秒的防抖去重窗口(按事件名称 + vgp_id 作为键),用于吸收并消除由内部不同 ViewModel 路径引发的重复触发。
会话正确性start_app 去重时间戳现已通过 SharedPreferences(s2s_last_start_app_time)跨进程持久化存储。这防止了应用进程在 5 分钟去重窗口内被杀及冷启动时产生重复的 start_app 事件推送。

升级步骤

修改 build.gradle(app 级别)中的 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.10'
}
无破坏性变更

所有更新均完全位于核心归因与跟踪层内部。无公开 API 变更,无需添加新依赖。


6.5.7 → 6.5.8

发布日期: 2026-05-11

S2S 改进:终端 HTTP 错误处理、Firebase App Instance ID 采集、购买跟踪简化。无需修改对接代码 — 更新 SDK 版本后重新构建即可。

变更内容

类别说明
S2S 修复HTTP 410 Gone422 Unprocessable Entity 现在被视为终端丢弃(不再重试)。与 iOS 6.5.4 同步。
S2S 功能新增采集 Firebase Analytics App Instance ID(app_instance_id),转发至服务端用于 Measurement Protocol 推送。缓存于 SharedPreferences;事件队列在发送时回填。
购买跟踪S2S 模式下,移除客户端 Firebase 购买事件推送。服务端 Measurement Protocol 为唯一数据源——避免重复计数。

升级步骤

修改 build.gradle(app 级别)中的 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.8'
}
无破坏性变更

所有变更均位于 S2S 模块内部。无公开 API 变更,无需添加新依赖。


6.5.6 → 6.5.7

发布日期: 2026-05-07

修复并发登录/注销时的竞态条件。无需修改对接代码 — 更新 SDK 版本后重新构建即可。

变更内容

  • onLoginSuccess — 添加了同步块以安全地捕获 vgpsdkCallbackbaseActivity,防止在异步登录响应的同时发生注销时出现 NullPointerException
  • 注销回调 — 修复了在某些边缘情况下,vgpsdkCallback 在注销流程中被错误清除的问题。

升级步骤

修改 build.gradle(app 级别)中的 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.7'
}

6.5.5 → 6.5.6

发布日期: 2026-05-05

支付回调分发增加防御性保护。无需修改对接代码 — 更新 SDK 版本后重新构建即可。

变更内容

  • onPaymentFinished / onPaymentSuccess — 现在会先在单例锁内捕获 vgpsdkCallback 引用,若为 null 则跳过分发。修复 6.5.5 引入的窄竞态窗口:若游戏端在支付 SDK 回调已调度但尚未触发到 VGPGameSDK 期间调用了 logout(),vgpsdkCallback 会被清空,导致 NullPointerException

升级步骤

修改 build.gradle(app 级别)中的 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.6'
}

6.5.4 → 6.5.5

发布日期: 2026-05-04

logout() 内存泄漏修复。无需修改对接代码 — 更新 SDK 版本后重新构建即可。

变更内容

  • 内存泄漏VGPGameSDKlogout() 起始处即清空 baseActivityvgpsdkCallback 的引用(capture-then-null 模式)。此前这两个引用一直保留到下次 init() / setActivity() 才被覆盖,会泄漏 SDK 自身的弹窗 Activity 与游戏端 logout 回调闭包(回调通常持有 host Activity)。
  • 生命周期清理VGPSDKActivity.onDestroy() 现在也会清空单例引用(若仍指向当前实例),配置变更场景下保持竞态安全。
  • 新增 APIIVGPGameSDK.clearActivityIfCurrent(activity) —— 上述生命周期钩子使用的内部原语。

升级步骤

修改 build.gradle(app 级别)中的 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.5'
}
logout 回调中调用 getActivity() 的行为变更

若您的 VGPSDKCallback.onUserLogout() 实现内部调用了 VGPGameSDK.getInstance().getActivity(),现在将返回 null(单例引用已在回调触发前被清空)。此前会返回一个正在 finishing 的 Activity 引用(实际上已不可用)。如有相关代码请同步调整。


6.5.3 → 6.5.4

发布日期: 2026-05-04

变更内容

类别说明
核心修复初始化竞态条件,确保在 S2S 启动前配置已加载
核心添加 AtomicBoolean 防护,防止并发重复调用初始化 API
内存使用 CompositeDisposable 追踪并防止 RxJava 内存泄漏
修复防止 BillingDataSource 创建过程中的 NullPointerException
修复确保 VGPLifeCycle 单例初始化的线程安全 (volatile)

升级步骤

只需在 build.gradle (app 级别) 中更新 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.4'
}
无破坏性变更

此版本专注于内部稳定性、并发处理和内存管理。无公开 API 变更。


6.0.1 → 6.5.3

发布日期: 2026-05-04

S2S 正确性修复,隐私友好的 App Set ID 收集,以及新增强制更新监听 API。需要添加新的 Play Services 依赖,并移除 TikTok 依赖。

变更内容

  • 6.5.0 — AppSetIdCollector (需要 play-services-appset)、InstallReferrerCapture、S2SSessionTracker (30分钟超时)、NetworkInfoCollector、S2S 配置的 EncryptedSharedPreferences,以及 VGPGameSDK 上的 setForceUpdateListener(listener) (可选)。
  • 6.5.1 → 6.5.3 — 隐式归因丢失修复:空 adjust_id、空 ANDROID_ID、Meta fbc 时间戳、401/403 鉴权循环、时钟回退会话异常。
  • 6.0.2 — 移除了 TikTok Business SDK 客户端分发。服务端 TikTok Events API 归因仍通过自动捕获的 ttclid 正常工作。

升级步骤

修改 build.gradle(app 级别)中的 SDK 版本,并添加新的 AppSet 依赖:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.5.3'

// NEW — AppSetIdCollector 在 6.5.0+ 中需要
implementation 'com.google.android.gms:play-services-appset:16.1.0'
}
移除依赖

TikTok Business SDK 已从 VGP SDK 中移除。您必须从 build.gradle (app 级别) 中移除 implementation 'com.github.tiktok:tiktok-business-android-sdk:1.3.6'

可选:强制更新监听

若希望 SDK 在用户使用过旧版本时主动推送回调,在 Application.onCreate(或 SDK init 之前)注册一次:

import com.vgp.sdk.s2s.S2SIntegration;

S2SIntegration.getInstance().setForceUpdateListener((requiredVersion, currentVersion) -> {
// 在主线程展示"请更新"弹窗
});

回调每个 App 会话仅触发一次,在主线程派发;即使 SDK 在监听器注册之前已检测到该条件,回调依然会被触发。

推荐基线

6.5.3 修复了 ANDROID_ID 为 null 或 Adjust 始终未下发 ADID 的设备上 S2S 事件被静默丢弃的问题。建议作为新版本发布的基线。


5.1.7 → 6.0.0

发布日期: 2026-04-09

变更内容

类别说明
S2S 归因新增服务端归因模块 — 包含离线事件队列、购买追踪、深度链接解析、设备信息采集
安全加密新增 security-crypto,用于加密 SharedPreferences 和 Keystore 操作
架构重构重构 SDK 架构 — 改进 VGPGameSDKAppDataManagerVGPTracking
模拟器检测新增 EmulatorDetector 工具类
等级追踪新增 S2SLevelTracker,用于游戏内进度追踪
依赖库新增 security-crypto:1.1.0-alpha06

升级步骤

修改 build.gradle(app 级别)中的 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:6.0.0'

// 新增 — Security Crypto(6.0.0 必需)
implementation 'androidx.security:security-crypto:1.1.0-alpha06'
}
主版本升级

这是一次主版本升级。虽然公开 API 基本保持兼容,但 SDK 内部架构进行了大幅重构。升级后请务必充分测试。


5.1.6 → 5.1.7

发布日期: 2026-04-13

变更内容

类别说明
SDK 初始化与线程安全重构 VGPInitVGPLifeCycleVGPTracking,采用双重检查锁定
WebSocket新增 PurchaseData 模型,支持重复交易检测
空安全ServerConfig、通知频道、安装来源添加空值检查

升级步骤

只需在 build.gradle(app 级别)中更新 SDK 版本:

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.1.7'
}
无破坏性变更

所有 API 和依赖库与 5.1.6 保持一致。


5.1.4 → 5.1.6

发布日期: 2025-12-12

变更内容

类别说明
WebSocket更新 WebSocket

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.1.6'
}
无破坏性变更

所有 API 和依赖库与 5.1.4 保持一致。


5.1.3 → 5.1.4

发布日期: 2025-10-21

变更内容

类别说明
WebSocket更新 WebSocket

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.1.4'
}

5.1.2 → 5.1.3

发布日期: 2025-10-10

变更内容

类别说明
WebSocket新增 WebSocket 支持
Adjust新增 Adjust 安装来源
WebView更新 WebView
构建更新 build gradle

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.1.3'

// 新增 — WebSocket
implementation 'org.java-websocket:Java-WebSocket:1.6.0'
}

5.1.1 → 5.1.2

发布日期: 2025-09-09

变更内容

类别说明
修复修复 Android 14+ 上 VGPMessagingService 问题
Gradle更新 Gradle 至 8.13.0

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.1.2'
}

更新 gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip

更新 build.gradle(项目级别):

classpath 'com.android.tools.build:gradle:8.13.0'

5.1.0 → 5.1.1

发布日期: 2025-09-09

变更内容

类别说明
界面更新 UI
修复修复 VGPMessagingService 警告
依赖库Facebook v18.1.3、Adjust v5.4.3

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.1.1'

// 更新 Facebook → 18.1.3
implementation 'com.facebook.android:facebook-core:18.1.3'
implementation 'com.facebook.android:facebook-login:18.1.3'
implementation 'com.facebook.android:facebook-share:18.1.3'

// 更新 Adjust → 5.4.3
implementation 'com.adjust.sdk:adjust-android:5.4.3'
}

5.0.9 → 5.1.0

发布日期: 2025-08-12

变更内容

类别说明
推送通知更新 small_icon_push

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.1.0'
}

5.0.8 → 5.0.9

发布日期: 2025-08-08

变更内容

类别说明
SDK 初始化移除多余的 openNotificationLink 调用
破坏性变更SDK 初始化需传入 activity 而非 context

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.0.9'
}
SDK 初始化方式变更

更新 MainActivity 中的初始化调用:

// 旧方式
VGPGameSDK.getInstance().init(context, callback);

// 新方式
VGPGameSDK.getInstance().init(activity, callback);

5.0.7 → 5.0.8

发布日期: 2025-07-18

变更内容

类别说明
功能新增打开通知链接功能

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.0.8'
}

5.0.6 → 5.0.7

发布日期: 2025-06-24

变更内容

类别说明
追踪移除 AdImpression 追踪

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.0.7'
}

4.x → 5.0.6

发布日期: 2025-06-16

变更内容

类别说明
界面全新 SDK v5 界面设计
Google 登录新增 Google 登录按钮
代码FacebookShare 重命名为 FacebookShareHelper
依赖库更新多个第三方库(见下表)

更新的依赖库:

库名称新版本
firebase-bom33.15.0
google-billing7.1.1
room-runtime2.7.1
room-rxjava32.3.0
lifecycle2.9.1
play-services-auth21.3.0
lifecycle-livedata2.9.1

升级步骤

dependencies {
// VGP SDK
implementation 'vn.vgpjsc:vgpsdk:5.0.6'

// 更新依赖
implementation platform('com.google.firebase:firebase-bom:33.15.0')
implementation 'com.android.billingclient:billing:7.1.1'
implementation 'androidx.room:room-runtime:2.7.1'
implementation 'androidx.room:room-rxjava3:2.3.0'
implementation 'androidx.lifecycle:lifecycle-process:2.9.1'
implementation 'androidx.lifecycle:lifecycle-livedata:2.9.1'
implementation 'com.google.android.gms:play-services-auth:21.3.0'
}

更新 gradle-wrapper.properties

distributionUrl=https\://services.gradle.org/distributions/gradle-8.7-bin.zip
破坏性变更
  • 类名 FacebookShare 更改为 FacebookShareHelper。请更新项目中所有相关的 import 和引用。