Skip to main content
Version: v4

TapTap PC Game Update Mechanism

TapTap PC game updates follow one default rule, plus a coordination mechanism for self-updating games:

  • Platform default update: The package currently set as live in the Developer Center is the reference. When the package installed locally differs from the live package, TapTap delivers an update. This decision is based on the live package setting and does not rely on version-number comparison.
  • Game self-update coordination: When .taptap/meta.json is placed inside the game package, TapTap instead decides whether to update by comparing this file's version number against the live package's version number. This mechanism is mainly for self-updating games, to avoid duplicate update prompts.

Decision Flow

Platform Default Update: Follow the Current Live Package

After a developer sets a package as live in the Developer Center, TapTap prompts players who do not have that package installed locally to update to it. Switching the live package triggers the update; the magnitude of the version number does not matter.

This is how the vast majority of games update. Whether an incremental or delta update is used is determined automatically by the package state — see Incremental and Delta Updates. For how files and directories inside the package are handled, see Package Update Rules.

Game Self-Update Coordination: Report Version via .taptap/meta.json

After a game upgrades itself through its own self-update, if the developer then publishes a higher-version full package with identical content in the Developer Center and sets it as live, TapTap will prompt for an update again — because the local package differs from the live package. The content of this update is the same as what the game already self-updated, so it is a duplicate update for the player and hurts the experience.

To avoid this, self-updating games must place and maintain .taptap/meta.json inside the package. As long as this file is present in the package, TapTap enables comparison between the following two version numbers:

Version numberMeaning
Live package versionThe version number of the package currently set as live in the Developer Center.
.taptap/meta.json versionThe version number recorded in .taptap/meta.json inside the game directory, written by the game during self-update.

Decision rules:

  • .taptap/meta.json version is not lower than the live package version → The game is considered already up to date; TapTap does not prompt for an update.
  • .taptap/meta.json version is lower than the live package version → TapTap still delivers the update as needed.

For integration details, see Game Self-Update Version Reporting.

Real-World Example

The diagram below uses a self-updating game to show how the version numbers change as TapTap delivers updates and the game self-updates:

Quick Reference

ScenarioTapTap behavior
Self-test mode (package not submitted / under review, visible only to the developer for self-testing)Incremental update (block-level, transfers only changed blocks)
Officially live (package approved), local copy is not the current live packageDelta update (binary diff, smallest update size)
Local copy is already the current live packageNo update, enter game directly
Self-updating game, .taptap/meta.json version already written to be not lower than the live package versionNo prompt, follows the game's self-update result
Self-updating game, .taptap/meta.json version not maintained / not writtenRepeated "Update game" prompt (needs fixing)

Further Reading