Platform Parameters
At any time, you can retrieve values for specific parameters that you might use in your game, such as the user's browser language.
Platform ID
Identify the platform on which the game is currently running to customize features and settings accordingly.
bridge.platform.idReturns the platform ID on which the game is currently running. Possible values: playgama, vk, ok, yandex, facebook, crazy_games, game_distribution, playdeck, telegram, y8, lagged, msn, poki, qa_tool, discord, gamepush, bitquest, huawei, jio_games, reddit, youtube, youtube, mock.
 Language
 LanguageCheck the language to display proper text labels.
Get the language set by the user on the platform or the browser language if not provided by the platform, to localize game content.
bridge.platform.languageReturns the language set by the user on the platform. If the platform does not provide this data, it returns the browser language. Format: ISO 639-1. Example: ru, en.
URL Parameter
Embed auxiliary information into the game URL to pass additional data or settings when launching the game.
bridge.platform.payloadAllows embedding auxiliary information into the game URL.
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
Domain Information
Retrieve the top-level domain of the platform to handle domain-specific configurations and behavior.
bridge.platform.tldReturns the top-level domain (TLD) of the platform. If there is no data – null. If the data is available – com, ru, etc.
Is Get All Games Supported
Verify whether the platform supports the GetAllGames method to retrieve the correct links to the developer's other games.
bridge.platform.isGetAllGamesSupportedIs Get Game By Id Supported
Verify whether the platform supports the GetGameById method to retrieve the correct link to a specific game.
bridge.platform.isGetGameByIdSupportedGet All Games
This method retrieves the correct links to the developer's other games.
bridge.platform.getAllGames()
    .then(gammes => {
        if (bridge.platform.id === "yandex") {
            for (const game of games) {
                console.log("AppID:", game["appID"])
                console.log("Title:", game["title"])
                console.log("URL:", game["url"])
                console.log("CoverURL:", game["coverURL"])
                console.log("IconURL:", game["iconURL"])
            }
        }
    })Get Game By Id
This method retrieves the correct link to a specific game from the developer.
async getGamyById() {
    const gameId = this.gameIdInputField.string;
    try {
        const game = await bridge.platform.getGameById({ gameId });
        console.log(`onGetGameByIdCompleted, success: true, game:`);
        console.log(`App ID: ${game["appID"]}`);
        console.log(`Title: ${game["title"]}`);
        console.log(`URL: ${game["url"]}`);
        console.log(`Cover URL: ${game["coverURL"]}`);
        console.log(`Icon URL: ${game["iconURL"]}`);
    } catch (error) {
        console.error(`onGetGameByIdCompleted, success: false, error:`, error);
    }
}
 Sending a Message to the Platform
 Sending a Message to the PlatformThe call to sendMessage with the parameter game_ready is mandatory!
Don't forget to implement it.
Send predefined messages to the platform to trigger specific actions or events, such as signaling that the game is ready.
To use platform PLATFORM_MESSAGE you need to import type from playgama-bridge.ts.
import { VISIBILITY_STATE,BANNER_STATE, INTERSTITIAL_STATE, REWARDED_STATE, STORAGE_TYPE, PLATFORM_MESSAGE, ACTION_NAME, EVENT_NAME, BANNER_POSITION } from '../../extensions/playgama-bridge/playgama-bridge.ts';In example above, we import all types from the file, but in your file you can import only PLATFORM_MESSAGE.
sendGameReadyMessage() {
    bridge.platform.sendMessage(PLATFORM_MESSAGE.GAME_READY)
        .then(() => {
            console.log("Game ready message sent.");
        })
        .catch((error) => {
            console.error("Failed to send game ready message:", error);
        });PLATFORM_MESSAGE.GAME_READYThe game has loaded, all loading screens have passed, the player can interact with the game.
PLATFORM_MESSAGE.IN_GAME_LOADING_STARTEDAny loading within the game has started. For example, when a level is loading.
PLATFORM_MESSAGE.IN_GAME_LOADING_STOPPEDIn-game loading has finished.
PLATFORM_MESSAGE.GAMEPLAY_STARTEDGameplay has started. For example, the player has entered a level from the main menu. (mandatory for CrazyGames)
PLATFORM_MESSAGE.GAMEPLAY_STOPPEDGameplay has ended/paused. For example, when exiting a level to the main menu, opening the pause menu, etc. (mandatory for CrazyGames)
PLATFORM_MESSAGE.PLAYER_GOT_ACHIEVEMENTThe player reached a significant moment. For example, defeating a boss, setting a record, etc.
Is Audio Enabled
Check if the audio is turned on on the platform.
bridge.platform.isAudioEnabled// Listen for state changes
bridge.platform.on(EVENT_NAME.AUDIO_STATE_CHANGED, this.onAudioStateChanged.bind(this));
onAudioStateChanged(isEnabled) {
    console.log("Is audio enabled: ", isEnabled);
}Pause
// Listen for state changes
bridge.platform.on(EVENT_NAME.PAUSE_STATE_CHANGED, this.onPauseStateChanged.bind(this));
onPauseStateChanged(isPaused) {
    console.log("Is paused: ", isPaused);
}Server Time
getServerTime(){
    bridge.platform.getServerTime()
        .then((time) => {
            console.log("Server time: ", time);
        })
        .catch((error) => {
            console.error("Failed to get server time:", error);
        });
}Current Visibility State
Check if the game tab is visible or hidden, and adjust game behavior accordingly, such as muting sound when hidden.
bridge.game.visibilityStatebridge.game.on(EVENT_NAME.VISIBILITY_STATE_CHANGED, this.onVisibilityStateChanged.bind(this));
onVisibilityStateChanged(state: VISIBILITY_STATE) {
    console.log("Visibility state changed: ", state);
}Returns the current visibility state of the game (the tab with the game). Possible values: visible, hidden.
Last updated