Skip to main content
Este inicio rápido le ayuda a realizar su primera llamada a la API de PlayFab mediante Defold. Antes de poder llamar a cualquier API de PlayFab, debe tener una cuenta de desarrollador de PlayFab.

Configuración del proyecto de Defold

SO: esta guía está escrita para Windows 10. También debería funcionar bien en un equipo Mac.
  1. Cree una cuenta y descargue Defold, o inicie sesión en https://www.defold.com/ (usa Google O-Auth): https://d.defold.com/stable/.
  2. Si no ha completado el tutorial “Getting Started” de Defold, debería hacerlo ahora.
  3. Cree un proyecto nuevo en el panel de Defold, como se muestra a continuación.
  1. Ejecute Defold y cargue el proyecto nuevo. Debería ver varias ventanas con un aspecto similar al del ejemplo que se muestra a continuación.
  1. Actualice la configuración del proyecto e incluya PlayFab en las dependencias: https://github.com/PlayFab/LuaSdk/raw/master/Defold/PlayFabClientSdk.zip
  1. Seleccione: Project -> Fetch Libraries, y debería ver una nueva carpeta integrada de PlayFab, como se muestra a continuación.
  1. Cree algunos archivos:
    • main/PfGettingStarted.gui
    • Seleccione la carpeta “main” -> new -> Gui File -> PfGettingStarted.gui.
    • main/PfGettingStarted.gui_script
    • Seleccione la carpeta “main” -> new -> Gui Script File -> PfGettingStarted.gui_script.
  2. Conecte la nueva GUI en main.collection.
    • Seleccione main.collection para abrirlo.
    • En el panel Outline:
      • Seleccione Add Game Object (opcionalmente, cámbiele el nombre a PfGui).
        • Seleccione el objeto nuevo, Add Component From File…
          • PfGettingStarted.gui (creado anteriormente).
    • El panel Outline al ver main.collection debería tener un aspecto similar al del ejemplo que se muestra a continuación.
La instalación de PlayFab está completa. Este proyecto aún no está listo para compilarse, pero lo solucionaremos en el paso siguiente.

Configuración de la primera llamada a la API

Esta guía proporciona los pasos mínimos para realizar su primera llamada a la API de PlayFab. La confirmación será visible en la ventana del juego.
  1. En el editor de Defold, haga doble clic en PfGettingStarted.gui_script.
  2. Esto debería abrir el archivo para la edición de texto.
  3. Actualice el contenido de PfGettingStarted.gui_script como se muestra a continuación.
Para consultar el formato correcto del objeto loginRequest de este ejemplo, vea la referencia de API de LoginWithCustomID.
  1. En el editor de Defold, haga clic con el botón derecho en PfGettingStarted.gui -> Open With -> Text Editor. Lamentablemente, esto cambia una configuración interna de Defold, así que:
    • Ábralo de nuevo: haga clic con el botón derecho en PfGettingStarted.gui -> Open With -> GUI Editor. Esto restablece el valor predeterminado a la normalidad.
    • Seleccione la pestaña de edición de texto de PfGettingStarted.gui.
    • Actualice el contenido de texto de PfGettingStarted.gui como se muestra a continuación.

Finalización y ejecución

En primer lugar, asegúrese de que todo está guardado y seleccione otra pestaña. Luego, busque los marcadores ” * ”: a veces Defold no se actualiza. Después, compile su juego (Ctrl+b o en los menús desplegables: Project -> Build and Launch). Debería ver el texto siguiente en la pantalla: “Congratulations, you made your first successful API call!” Para obtener una lista de todas las llamadas a la API de cliente disponibles, consulte nuestra documentación de referencias de API de PlayFab. ¡Feliz programación!

Análisis del código

  • PfGettingStarted.gui
    • Nuestras instrucciones para PfGettingStarted.gui son por conveniencia, no con fines instructivos. Este archivo es una definición de GUI, que agrega un cuadro de texto a la pantalla y lo enlaza a nuestro otro script: PfGettingStarted.gui_script. Normalmente NO editaría estos archivos en formato de texto.
    • Para obtener instrucciones adecuadas sobre cómo crear widgets de GUI de Defold, lea esta guía:
    • Escenas de GUI en Defold
  • PfGettingStarted.gui_script
    • Instrucciones require y configuración.
      • PlayFabClientApi le permite realizar llamadas a la API de cliente: esta es la razón por la que está aquí.
      • IPlayFabHttps y PlayFabHttps_Defold:
        • Los complementos de Defold de PlayFab se basan en el LuaSdk de PlayFab. El lenguaje Lua no tiene un módulo HTTPS propiamente dicho. Cada motor de juego que usa Lua implementa el suyo. Estas dos variables indican a PlayFabSdk cómo acceder a HTTPS. Solo necesita hacerlo una vez en el proyecto, en la primera escena. Por lo demás, es código reutilizable obligatorio
    • PlayFabClientApi.settings.titleId = "144"
      • Cada proyecto que use PlayFab debe crear un título único en el sitio web de PlayFab, que llamamos Game Manager. Busque su titleId en Game Manager y reemplace 144 por su titleId.
    • function init(self)
      • Función de Defold: se llama cuando se inicializa la GUI.
    • local loginRequest = { TitleId = PlayFabClientApi.settings.titleId, CustomId = "GettingStartedGuide", CreateAccount = true }
      • La mayoría de los métodos de la API de PlayFab requieren parámetros de entrada, y esos parámetros de entrada se empaquetan en un objeto de solicitud
      • Cada método de la API requiere un objeto de solicitud único, con una combinación de parámetros opcionales y obligatorios
        • Para LoginWithCustomIDRequest, hay un parámetro obligatorio, CustomId, que identifica de forma única a un jugador, y CreateAccount, que permite crear una cuenta nueva con esta llamada.
      • Para el inicio de sesión, la mayoría de los desarrolladores querrán usar un método de inicio de sesión más adecuado
    • PlayFabClientApi.LoginWithCustomID(loginRequest, OnLoginSuccess, OnLoginFailed)
      • Esto realiza la llamada a la API mediante la solicitud y proporciona funciones de devolución de llamada para las condiciones de éxito y de error.
    • function OnLoginSuccess(result)
      • El objeto result de muchas devoluciones de llamada correctas de la API contendrá la información solicitada.
      • LoginResult contiene información básica sobre el jugador, pero para la mayoría de los usuarios, el inicio de sesión es simplemente un paso obligatorio antes de llamar a otras API.
    • function OnLoginFailed(error)
      • Las llamadas a la API pueden fallar por muchos motivos, y siempre debe intentar controlar los errores.
      • Motivos por los que fallan las llamadas a la API (en orden de probabilidad)
        • PlayFabSettings.TitleId no está establecido. Si olvida establecer titleId en su título, nada funcionará.
        • Parámetros de la solicitud. Si no ha proporcionado la información correcta o necesaria para una llamada a la API concreta, esta fallará. Consulte error.errorMessage, error.errorDetails o error.GenerateErrorReport() para obtener más información.
        • Problema de conectividad del dispositivo. Los teléfonos móviles pierden y recuperan la conectividad constantemente, por lo que cualquier llamada a la API en cualquier momento puede fallar aleatoriamente y funcionar inmediatamente después. Entrar en un túnel puede desconectarle por completo.
        • Problema del servidor de PlayFab. Como ocurre con todo el software, puede haber problemas. Consulte nuestras notas de la versión para conocer las actualizaciones.
        • Internet no es 100 % confiable. A veces, el mensaje se daña o no llega al servidor de PlayFab.
      • Si tiene dificultades para depurar un problema y la información contenida en el error no es suficiente, visítenos en nuestros foros
    • local pfTestOutput = gui.get_node("pfOutput")
      • Esta es otra función de GUI de Defold. Recupera el objeto de GUI pfOutput definido en nuestro archivo PfGettingStarted.gui y le asigna el texto que se mostrará al usuario.
Última modificación el 28 de agosto de 2026