Skip to content

platform

Sergei edited this page May 7, 2026 · 1 revision

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

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.

playgama_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.

Platform support · all 28 platforms

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.

playgama_bridge_platform_send_message("game_ready")
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
Platform support · varies by message

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.

playgama_bridge_platform_is_audio_enabled()
// Listen for state changes

// via Async Social Event
if async_load[? "type"] == "playgama_bridge_platform_audio_state_changed" {
    if async_load[? "data"] {
        // audio enabled
    } else {
        // audio disabled
    }
}
Platform support · all 28 platforms

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.

// Listen for state changes

// via Async Social Event
if async_load[? "type"] == "playgama_bridge_platform_pause_state_changed" {
    if async_load[? "data"] {
        // paused
    } else {
        // resumed
    }
}
Platform support · all 28 platforms

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.

playgama_bridge_platform_id()

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

Platform support · all 28 platforms

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.

playgama_bridge_platform_payload()

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
Platform support · all 28 platforms

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.

playgama_bridge_platform_get_server_time()

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_platform_get_server_time_callback" {
    if async_load[? "success"] {
        var server_time = async_load[? "data"]
    }
}
Platform support · all 28 platforms

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.

playgama_bridge_platform_tld()

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

Platform support · 1 of 28 platforms

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.

playgama_bridge_platform_is_get_all_games_supported()
Platform support · 1 of 28 platforms

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.

playgama_bridge_platform_get_all_games()

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_platform_get_all_games_callback" {
    if async_load[? "success"] {
        // your logic here
    }
}
Platform support · 1 of 28 platforms

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.

playgama_bridge_platform_is_get_game_by_id_supported()
Platform support · 1 of 28 platforms

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.

var options
switch playgama_bridge_platform_id() {
    case "yandex":
        options = {
            "gameId": "GAME_ID"
        }
        break
}

playgama_bridge_platform_get_game_by_id(json_stringify(options))

// callback via Async Social Event
if async_load[? "type"] == "playgama_bridge_platform_get_game_by_id_callback" {
    if async_load[? "success"] {
        // your logic here
    }
}
Platform support · 1 of 28 platforms

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

Clone this wiki locally