Migrar desde Poki

El shim de Poki expone window.PokiSDK sobre Gamealia. A la mayoría de los juegos les alcanza con cambiar una etiqueta de script.

1. Cambiá el script

<!-- antes -->
<script src="https://game-cdn.poki.com/scripts/v2/poki-sdk.js"></script>
<!-- después -->
<script src="https://gamealia.app/sdk/poki.js"></script>

gamealia init --write (o gamealia_integrate_sdk) lo hace por vos, y el prompt del MCP migrate-from-poki guía a tu asistente por la migración. El shim incluye el SDK de Gamealia, así que window.Gamealia también está disponible.

2. Revisá las políticas

Las reglas de Gamealia se parecen a las de Poki: sin anuncios externos, sin compras, sin login propio. Mirá los requisitos del juego.

Equivalencias

PokiSDKEn Gamealia
PokiSDK.init()Gamealia.init(), y después Gamealia.game.loadingStart()
PokiSDK.gameLoadingFinished()Gamealia.game.loadingStop() (obligatoria)
PokiSDK.gameLoadingProgress()se ignora
PokiSDK.gameplayStart() / gameplayStop()Gamealia.game.gameplayStart() / gameplayStop()
PokiSDK.happyTime(intensity)Gamealia.game.happyTime()
PokiSDK.commercialBreak(onStart)Gamealia.ad.requestMidgame(); onStart corre cuando empieza el anuncio
PokiSDK.rewardedBreak(onStart)Gamealia.ad.requestRewarded(); devuelve true solo si hubo recompensa
PokiSDK.rewardBreak(onStart)igual que rewardedBreak
PokiSDK.getLanguage()el idioma del jugador como código base en minúsculas ("pt" para pt-BR)
PokiSDK.shareableURL(params)la página del juego en el portal, armada con Gamealia.room.inviteLink(code) (/game/<slug>?room=<code>). El código es id (o roomId, roomName, room, code, si no el primer parámetro) y debe tener 1-32 de A-Z a-z 0-9 _ - (si no, rechaza); los demás parámetros no viajan. Sin parámetros: la página del juego
PokiSDK.getURLParam(name)gd<nombre> (o <nombre>) de la URL del juego; para un jugador que entró desde un link compartido, el código de sala para id, roomId, roomName, room y code; "" si falta
PokiSDK.getUser()Gamealia.user.get() como { username, avatarUrl }, o null
PokiSDK.getToken()Gamealia.user.getToken(); verificalo con el JWKS de Gamealia, mirá Cuentas de jugador
PokiSDK.login()Gamealia.user.requestLogin()
PokiSDK.openExternalLink(url)abre url en una pestaña nueva
PokiSDK.setDebug(), connect()se ignoran
PokiSDK.movePill, measure, setPlayerAge, customEvent, muteAd, sendHighscore, enableEventTracking, displayAd, destroyAdse aceptan y se ignoran (un aviso en la consola cada uno)

Para invitaciones que lleven a los jugadores a la misma sala, preferí Gamealia.room.inviteLink(code): arma un link del portal (mirá Multijugador).