Gamearly API v1
Dashboard

In-game events / Platforms

Platforms#

Every event carries the platform it was played on. It is what powers the platform breakdown on your charts, the "players seen on PS5" segment, and comparing your PC players with your console players across the whole dashboard.

Two fields#

Field Values Purpose
platform pc, macos, linux, playstation, xbox, nintendo_switch, ios, android The platform family. Every breakdown and segment uses it.
platform_detail ps4, ps5, xbox_one, xbox_series, switch, switch_2, steam_deck Optional. The generation or device, when you want PS4 and PS5 apart.

The family is what everything joins on, so a PlayStation breakdown is one bucket rather than a PS4 bucket and a PS5 bucket that each look half-sized. Send the detail as well when you have it: it becomes its own breakdown and segment.

Spellings we map for you#

You do not have to send the canonical value. Engine names, codenames and common spellings are mapped on arrival — case, spaces and punctuation do not matter.

You send Stored as platform platform_detail
windows, win64, WindowsPlayer, steam, epic, pc pc —
mac, osx, OSXPlayer macos —
linux, steamos linux —
steamdeck, steam_deck linux steam_deck
ps4, PlayStation 4, orbis playstation ps4
ps5, PlayStation 5, prospero playstation ps5
xboxone, xb1, durango xbox xbox_one
xsx, xss, Xbox Series X|S, scarlett xbox xbox_series
gdk, gamecore, xbox xbox —
switch, nx nintendo_switch switch
switch2, Nintendo Switch 2 nintendo_switch switch_2
iphone, ipad, ios ios —
android, AndroidPlayer android —

platform_detail alone is enough: {"platform_detail": "ps5"} is stored as playstation / ps5. A detail that contradicts the family (platform: xbox, platform_detail: ps5) is ignored and the family wins.

When you send nothing#

An event without a platform is counted under your project default:

  1. the default platform set in your project's event settings, if any;
  2. otherwise the platform your game ships on, if it ships on exactly one;
  3. otherwise pc.

A game that only ships on one platform therefore never needs to send it. A multi-platform game should, on every event — the default block of /events/track makes that one line.

When we do not recognise it#

The event is accepted and counted under your default platform, the value you sent is kept in platform_detail, and the response carries a platform_unknown warning naming it. Nothing is lost: fix the spelling and new events land in the right bucket.

Reading it back#

platform and platform_detail are filters on /events/trends and /events/counts. Old spellings are mapped there too, so a query for windows returns your pc data.