Migrate from Poki

The Poki shim exposes window.PokiSDK on top of Gamealia. Most games only swap one script tag.

1. Swap the script

<!-- before -->
<script src="https://game-cdn.poki.com/scripts/v2/poki-sdk.js"></script>
<!-- after -->
<script src="https://gamealia.app/sdk/poki.js"></script>

gamealia init --write (or gamealia_integrate_sdk) does it for you, and the MCP prompt migrate-from-poki walks your assistant through the migration. The shim includes the Gamealia SDK, so window.Gamealia is available too.

2. Check the policy

Gamealia's rules are close to Poki's: no external ads, no purchases, no login of your own. See Game requirements.

Method mapping

PokiSDKOn Gamealia
PokiSDK.init()Gamealia.init(), then Gamealia.game.loadingStart()
PokiSDK.gameLoadingFinished()Gamealia.game.loadingStop() (required)
PokiSDK.gameLoadingProgress()ignored
PokiSDK.gameplayStart() / gameplayStop()Gamealia.game.gameplayStart() / gameplayStop()
PokiSDK.happyTime(intensity)Gamealia.game.happyTime()
PokiSDK.commercialBreak(onStart)Gamealia.ad.requestMidgame(); onStart runs when the ad starts
PokiSDK.rewardedBreak(onStart)Gamealia.ad.requestRewarded(); resolves true only when rewarded
PokiSDK.rewardBreak(onStart)same as rewardedBreak
PokiSDK.getLanguage()the player's language as a lowercase base code ("pt" for pt-BR)
PokiSDK.shareableURL(params)the portal game page, built by Gamealia.room.inviteLink(code) (/game/<slug>?room=<code>). The code is id (or roomId, roomName, room, code, else the first param) and must be 1-32 of A-Z a-z 0-9 _ - (rejects otherwise); other params do not travel. No params: the game page
PokiSDK.getURLParam(name)gd<name> (or <name>) from the game URL; for a player who joined from a shared link, the room code for id, roomId, roomName, room and code; "" when missing
PokiSDK.getUser()Gamealia.user.get() as { username, avatarUrl }, or null
PokiSDK.getToken()Gamealia.user.getToken(); verify it with the Gamealia JWKS, see Player accounts
PokiSDK.login()Gamealia.user.requestLogin()
PokiSDK.openExternalLink(url)opens url in a new tab
PokiSDK.setDebug(), connect()ignored
PokiSDK.movePill, measure, setPlayerAge, customEvent, muteAd, sendHighscore, enableEventTracking, displayAd, destroyAdaccepted and ignored (one console warning each)

For invites that land players in the same room, prefer Gamealia.room.inviteLink(code): it builds a portal link (see Multiplayer).