Перейти к основному содержимому
🎉 GP CONF 2026: Конференция о рынке WEB-игр 👾 23 сентября | Подробнее

Статистика

Используйте статистику площадки для внутренних отчётов по эффективности рекламы и активности покупок. Ответы содержат коммерческие данные и не должны запрашиваться напрямую из публичной витрины.

Контекст выполнения: сервер площадки. Передавайте Content-Type, X-Game-Platform-Api-Key и X-Game-Platform-ID. Храните API-ключ и полные ответы статистики на сервере, а наружу отдавайте только разрешённые вашим приложением агрегаты.

Статистика не является отчётом о выплате

Эти операции возвращают агрегаты, записанные сервисами статистики рекламы и покупок. Они не рассчитывают договорную долю площадки или сумму к выплате после комиссий, возвратов, сборов и налогов. Для взаиморасчётов используйте финансовые отчёты площадки.

Статистика рекламы

query PlatformAdsStatistics($input: FetchAdsStatsOnGamePlatformInput!) {
result: FetchAdsStatsOnGamePlatform(input: $input) {
__typename
... on Problem {
message
}
... on AdsStatsList {
count
items {
date
projectId
projectName(lang: RU)
bannerType
requests
displays
errors
fillRate
revenue
}
}
}
}

Переменные:

{
"input": {
"gamePlatformId": 42,
"withTotal": true,
"groupBy": ["DATE"],
"groupByDatePeriod": "DAY",
"filter": {
"dateFrom": "2026-08-01T00:00:00Z",
"dateTo": "2026-08-31T23:59:59Z",
"limit": 31,
"offset": 0
},
"sort": [
{
"key": "DATE",
"sort": "ASC"
}
]
}
}

Успешный ответ:

{
"data": {
"result": {
"__typename": "AdsStatsList",
"count": 1,
"items": [
{
"date": "2026-08-01",
"projectId": null,
"projectName": null,
"bannerType": null,
"requests": 10000,
"displays": 8200,
"errors": 120,
"fillRate": 0.82,
"revenue": 245.7
}
]
}
}
}

Добавьте PROJECT или BANNER_TYPE в groupBy, чтобы разбить итоги. Для отчёта по конкретным играм используйте gameViewIdAnyOf. fillRate показывает долю запросов, завершившихся показом, и возвращается в диапазоне от 0 до 1. Для площадки типа PARTNER значение revenue записывается в долларах США. Оно остаётся статистической оценкой, а не суммой к выплате.

Статистика покупок

query PlatformPurchaseStatistics(
$input: FetchPurchasesStatsOnGamePlatformInput!
) {
result: FetchPurchasesStatsOnGamePlatform(input: $input) {
__typename
... on Problem {
message
}
... on PlayerPurchasesStatsList {
count
items {
date
projectId
productId
total
pricePlatform
priceRub
priceDollar
product {
id
tag
type
}
}
}
}
}

Переменные:

{
"input": {
"gamePlatformId": 42,
"purchasesType": "ON_PLATFORM",
"withTotal": true,
"groupBy": ["DATE"],
"groupByDatePeriod": "DAY",
"filter": {
"dateFrom": "2026-08-01T00:00:00Z",
"dateTo": "2026-08-31T23:59:59Z",
"limit": 31,
"offset": 0
},
"sort": [
{
"key": "DATE",
"sort": "ASC"
}
]
}
}

Структура успешного ответа:

{
"data": {
"result": {
"__typename": "PlayerPurchasesStatsList",
"count": 1,
"items": [
{
"date": "2026-08-01",
"projectId": null,
"productId": null,
"total": 24,
"pricePlatform": 118.5,
"priceRub": 10800,
"priceDollar": 118.5,
"product": null
}
]
}
}
}

Используйте ON_PLATFORM для пакетов валюты, VIP и отключения рекламы, проданных самой витриной. Используйте IN_APP для покупок, сделанных внутри игр на площадке. Чтобы детализировать записанные суммы покупок, добавьте PROJECT или PRODUCT в groupBy либо передайте gameViewIdAnyOf.

Для следующих строк увеличивайте filter.offset на filter.limit. Устанавливайте withTotal: true, если для пагинации нужен count: без этого API может вернуть 0 в count, даже когда в items есть данные. Границы дат включаются в интервал, поэтому передавайте полные ISO-метки начала и конца периода. Для отчётов по валютам используйте явно названные значения priceRub и priceDollar. pricePlatform — исходное значение площадки без кода валюты в этом ответе, поэтому не используйте его как сумму к выплате.