Skip to main content

Inicio rápido: Android

Introducción al SDK de PlayFab Services para Android. Siga estos pasos para incluir las bibliotecas en su proyecto y probar el código de ejemplo de las funciones básicas de PlayFab. Este inicio rápido le ayuda a realizar su primera llamada a la API de PlayFab con el SDK de Android. Antes de continuar, asegúrese de haber completado los pasos de Inicio rápido: Game Manager, que garantizan que tiene una cuenta de PlayFab y que está familiarizado con Game Manager de PlayFab.

Requisitos

Configuración del proyecto

Descargue el SDK de PlayFab para Android en su proyecto desde la página de versiones del SDK de PlayFab.

Integración del SDK de C de PlayFab en su propio proyecto

Los pasos siguientes están escritos partiendo del supuesto de que ha creado un proyecto nuevo con Android Studio.

Adición de archivos binarios al juego

Hay dos partes de los archivos binarios que deberá integrar en su proyecto: los archivos de objetos compartidos (.so) y los archivos de Android Archive (.aar). Puede compilar los archivos binarios usted mismo o descargarlos desde la página de versiones.

Adición de los archivos .so

Estos archivos se integran en su proyecto mediante CMake.
  1. Descomprima la versión del SDK de PlayFab para Android y coloque su contenido en el directorio que desee.
  2. Con target_include_directories u otra función equivalente, agregue los encabezados que se encuentran en “Include” de la versión del SDK de PlayFab:
  1. Con target_link_libraries u otra función equivalente, vincule las ubicaciones de los archivos .so a su proyecto. Por ejemplo:

Adición de los archivos .aar

Estos archivos se integran en su proyecto mediante Gradle.
  1. Cree una carpeta libs dentro del directorio del proyecto de Android en el nivel de aplicación. Este es un ejemplo del aspecto que debería tener ahora el directorio del proyecto:
  1. Copie los archivos .aar en la carpeta libs.
  2. En el archivo build.gradle de nivel de aplicación, el que está en el mismo directorio que la carpeta libs, agregue estas líneas a la sección de dependencias. La segunda línea es necesaria como dependencia de libHttpClient.

Inicialización e inicio de sesión

Ahora que el proyecto está totalmente configurado para usar el SDK de PlayFab Services para Android, siga los pasos siguientes para hacer funcionar algunas llamadas de ejemplo.

Configuración inicial

Primero deberá configurar la aplicación para que tenga una instancia de una actividad de Android. También deberá configurar una pequeña aplicación C/C++ para usar el NDK con la JNI (Java Native Interface). Aquí tiene un pequeño ejemplo de referencia: https://github.com/android/ndk-samples/tree/android-mk/hello-jni. El ejemplo contiene un método nativo que devuelve un jstring:
Los métodos nativos se pueden usar para obtener la máquina virtual de Java y el contexto de la aplicación, dos elementos necesarios para inicializar PFServices. Puede crear un método similar con fines de inicialización:
Después, la máquina virtual de Java se puede recuperar mediante la variable JNIEnv.
A continuación, el contexto de la aplicación se puede obtener con el parámetro jobject.
Ahora que ha almacenado estas dos variables, podemos empezar a realizar llamadas.

Encabezados

Incluya PFServices.h para obtener acceso a toda la funcionalidad de PlayFab incluida:

Inicialización

La inicialización de PlayFab requiere dos llamadas de función: PFServicesInitialize y PFServiceConfigCreateHandle. El resultado de esta inicialización es un PFServiceConfigHandle. Proporcione este identificador a una llamada de inicio de sesión posterior para dirigir la llamada al título correcto en el back-end de PlayFab.

Inicio de sesión

Una vez que tenga un PFServiceConfigHandle, puede usarlo para realizar una llamada de inicio de sesión de jugador. En el SDK, use un método PFAuthenticationLoginWith*Async como PFAuthenticationLoginWithCustomIDAsync. Esta función le permite iniciar la sesión de un jugador en PlayFab mediante un identificador personalizado. Después de realizar una llamada de inicio de sesión, puede comprobar el estado de la llamada con XAsyncGetStatus. El estado comienza como E_PENDING y cambia a S_OK una vez que la llamada se completa correctamente. Si la llamada produce un error por algún motivo, el estado refleja ese error. El control de errores en todas las llamadas de PlayFab Services funciona de esta manera. Junto con un resultado S_OK, recibe un PFEntityHandle. Use este identificador para realizar llamadas posteriores a PlayFab como el jugador que inició sesión. Incluye todo el material necesario para autenticarse en el servicio de PlayFab como ese jugador.

Llamadas al servicio

Después de que el jugador inicie sesión, ya puede realizar llamadas al back-end de PlayFab. Este es un ejemplo de una llamada para obtener los archivos almacenados en PlayFab para el jugador actual.

Obtención de EntityKey

Algo que puede resultar útil para algunas llamadas a PlayFab es conocer la PFEntityKey del jugador. Una vez que tenga un PFEntityToken, puede recuperar una PFEntityKey con PFEntityGetEntityKey.

Llamada a GetFiles

Todas las llamadas de PlayFab siguen un patrón similar: preparar el objeto de solicitud, realizar la llamada (mediante el PFEntityHandle del inicio de sesión), crear un objeto para recibir la respuesta y, después, llamar a una función GetResult para rellenar el contenedor recién creado.

Limpieza

Cuando el juego esté listo para cerrarse o necesite limpiar PlayFab por algún otro motivo, asegúrese de cerrar todos los identificadores abiertos y llamar a PFServicesUninitializeAsync.

Patrón de API asincrónica

El SDK de PlayFab Services sigue el modelo de programación asincrónica implementado en el GDK. Este modelo de programación implica el uso de tareas y colas de tareas proporcionadas por la biblioteca XAsync. Este modelo es coherente con otras funciones y extensiones del GDK (como la API de XBOX Services). Aunque presenta cierta complejidad, también aporta un alto grado de control sobre las operaciones asincrónicas. En este ejemplo se muestra cómo realizar una llamada asincrónica a PFDataGetFilesAsync.

Control de errores

Las operaciones XAsync completadas devuelven códigos de estado HTTP. Un código de estado de error se manifiesta como un HRESULT de error, como HTTP_E_STATUS_NOT_FOUND, al llamar a XAsyncGetStatus() o a una de las API PF*Get(). Para ver los mensajes de error detallados que devuelve el servicio, consulte la sección siguiente sobre depuración. Estos mensajes de error detallados pueden ser útiles durante el desarrollo para comprender mejor cómo reacciona el servicio de PlayFab a las solicitudes del cliente.

Depuración

La manera más fácil de ver los resultados y depurar las llamadas en el SDK de PlayFab Services es habilitar el seguimiento de depuración. Habilitar el seguimiento de depuración le permite ver los resultados en la ventana de salida del depurador y conectar los resultados a los registros propios de su juego.

Referencia

Documentación de referencia de la API
Última modificación el 1 de septiembre de 2026