Remote config
Typed parameters with targeting and versioned releases per environment. Tune a live game without shipping a build.
appgage gives each of our titles remote config, analytics, purchases and attribution through a single SDK. A new game plugs in instead of growing a backend of its own, and every number lands in one place we own.
Studio team only, by invitation.
func _ready() -> void:
# Install, session and this player's config.
var config := await Appgage.bootstrap()
var reward: int = config.get_int("daily_reward", 100)
Appgage.track("level_complete", {"level": 12})
func _on_buy_pressed() -> void:
# Verified with the store before it is granted.
await Appgage.purchase("coins_500")
The services every title used to rebuild or rent, run by us for all of them.
Typed parameters with targeting and versioned releases per environment. Tune a live game without shipping a build.
Events, sessions, retention and funnels, stored in our own Postgres instead of a third-party SDK.
App Store and Google Play purchases verified on the server, entitlements granted once, refunds tracked, ad revenue alongside.
Installs and revenue forwarded to Tenjin, so campaign ROAS uses the same numbers as our dashboards.
A typed Godot SDK and one API, shared by every game we make.
Development and production stay apart, and any key can be revoked.
Nothing is granted until Apple or Google has verified the purchase.
We can't find the internet
Attempting to reconnect
Something went wrong!
Attempting to reconnect