-
Notifications
You must be signed in to change notification settings - Fork 1
platform
The Platform module exposes host-platform data and lets the game report lifecycle events back to the host.
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).
-
Required — Read
platform.languageand apply localization. -
Required — Send
platform.sendMessage('game_ready')when the first playable frame is ready. - Required — React to audio and pause state events to mute or pause the game when the user switches tabs or the platform requests it.
-
Recommended — Send additional
sendMessagelifecycle events (level_started,level_completed, etc.).
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
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
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
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
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
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
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
Returns the original platform SDK object when Bridge exposes it. Use it only for platform-specific features that Bridge does not wrap.
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
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
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
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
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