Platform

The Platform module exposes host-platform data and lets the game report lifecycle events back to the host.

When to use

Every game uses Platform. You'll typically need at least:

  • platform.language — to localize text (read once after init).

  • platform.sendMessage('game_ready') — to dismiss the platform loader (call once when the game is fully loaded and playable).

Implementation order

  1. Required — Read platform.language and apply localization.

  2. Required — Send platform.sendMessage('game_ready') when the first playable frame is ready.

  3. Required — React to audio and pause state events to mute or pause the game when the user switches tabs or the platform requests it.

  4. Recommended — Send additional sendMessage lifecycle events (level_started, level_completed, etc.).

Language

circle-exclamation

Returns the language selected by the user on the host platform. If the platform does not provide a language, Bridge falls back to the browser language.

bridge.platform.language

If the platform provides user language data, this will be the language set by the user on the platform. If not, it will be the browser language.

Format: ISO 639-1. Example: ru, en.

chevron-rightPlatform support · all 28 platformshashtag

Supports: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, yandex, youtube

Sending a Message to the Platform

Send lifecycle messages to the host platform. game_ready is required; the other messages help the platform understand gameplay state.

Message
Parameters
Description

game_ready

No parameters

The game has loaded, all loading screens have passed, the player can interact with the game.

in_game_loading_started

No parameters

Any loading within the game has started. For example, when a level is loading.

in_game_loading_stopped

No parameters

In-game loading has finished.

player_got_achievement

No parameters

The player reached a significant moment. For example, defeating a boss, setting a record, etc.

level_started

optional "world" and "level", example: {"world":"desert","level":"1"}

Gameplay has started. For example, the player has entered a level from the main menu.

level_completed

optional "world" and "level", example: {"world":"desert","level":"1"}

Gameplay has completed. For example, the player won level.

level_failed

optional "world" and "level", example: {"world":"desert","level":"1"}

Gameplay has failed. For example, the player lost level.

level_paused

optional "world" and "level", example: {"world":"desert","level":"1"}

Gameplay has paused. Opened settings menu or used pause button

level_resumed

optional "world" and "level", example: {"world":"desert","level":"1"}

Gameplay has resumed. Returned from settings menu or hit unpause button

circle-info

Calling sendMessage is always safe: on platforms that don't relay a given message to the host SDK, the call resolves silently and has no effect.

chevron-rightPlatform support · varies by messagehashtag

The matrix below lists, for each message, the platforms whose host SDK receives a corresponding signal. On any other platform the call is a silent no-op.

Message
Platforms that relay the message

game_ready

dlightek, facebook, gamesnacks, playdeck, playgama, poki, portal, telegram, tiktok, xiaomi, yandex, youtube

in_game_loading_started

crazy_games

in_game_loading_stopped

crazy_games

level_started

crazy_games, poki, yandex

level_completed

crazy_games, gamesnacks, poki, yandex

level_failed

crazy_games, gamesnacks, playdeck, poki, yandex

level_paused

crazy_games, poki, yandex

level_resumed

crazy_games, poki, yandex

player_got_achievement

crazy_games

Does not relay any message: absolute_games, bitquest, discord, game_distribution, gamepush, huawei, jio_games, lagged, microsoft_store, msn, ok, reddit, samsung, vk, y8

Is Audio Enabled

Returns whether the host platform currently allows game audio. Mute immediately when this value is false and listen for changes.

chevron-rightPlatform support · all 28 platformshashtag

Supports: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, yandex, youtube

Pause

Listen for host pause/resume requests. Pause gameplay, timers, and audio while isPaused is true.

chevron-rightPlatform support · all 28 platformshashtag

Supports: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, yandex, youtube

Platform ID

Use this value only for platform-specific branches, such as passing platform-only options or handling different promotion APIs.

Returns the ID of the platform on which the game is currently running.

chevron-rightPlatform support · all 28 platformshashtag

Supports: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, yandex, youtube

URL Parameter

Read optional launch data passed through the platform URL. Use it for referral codes, deep links, invited-user context, or other launch parameters.

The exact URL format is platform-specific:

Platform
URL Format

VK

http://vk.com/game_id#your-info

Yandex

http://yandex.com/games/app/game_id?payload=your-info

Crazy Games

crazygames.com/game/game_name?payload=your-info

Mock

site.com/game_name?payload=your-info

chevron-rightPlatform support · all 28 platformshashtag

Supports: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, yandex, youtube

Server Time

Returns trusted UTC server time. Use it for daily rewards, cooldowns, or time-limited offers where local device time is not reliable.

chevron-rightPlatform support · all 28 platformshashtag

Supports: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, yandex, youtube

Native SDK

Returns the original platform SDK object when Bridge exposes it. Use it only for platform-specific features that Bridge does not wrap.

Domain Information

Returns the platform top-level domain when the host provides it. Use it for regional links, legal text, or domain-specific configuration.

Returns null when no data is available; otherwise returns a TLD such as com or ru.

chevron-rightPlatform support · 1 of 28 platformshashtag

Supports: yandex

Does not support: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, youtube

Is Get All Games Supported

Check this flag before showing a "More games" button that depends on getAllGames. The same support set covers getAllGames(), isGetGameByIdSupported, and getGameById() below — all four are Yandex-only today.

chevron-rightPlatform support · 1 of 28 platformshashtag

Supports: yandex

Does not support: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, youtube

Get All Games

Returns platform-approved links to the developer's other games. Use it for a "More games" screen when the current platform supports cross-promotion.

chevron-rightPlatform support · 1 of 28 platformshashtag

Supports: yandex

Does not support: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, youtube

Is Get Game By Id Supported

Check this flag before showing UI that links to a specific game through getGameById.

chevron-rightPlatform support · 1 of 28 platformshashtag

Supports: yandex

Does not support: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, youtube

Get Game By Id

Returns the platform-approved link and metadata for one game. Use it when you need to promote a specific title instead of a full list.

chevron-rightPlatform support · 1 of 28 platformshashtag

Supports: yandex

Does not support: absolute_games, bitquest, crazy_games, discord, dlightek, facebook, game_distribution, gamepush, gamesnacks, huawei, jio_games, lagged, microsoft_store, msn, ok, playdeck, playgama, poki, portal, reddit, samsung, telegram, tiktok, vk, xiaomi, y8, youtube

Last updated