Saltar al contenido principal
Este tutorial le guía por los pasos necesarios para crear una tarea que realice una o varias acciones en cada jugador de un segmento. Las tareas son una parte fundamental de las operaciones en vivo de cualquier juego. Le proporcionan un potente conjunto de herramientas para interactuar con sus jugadores. Algunos ejemplos podrían ser:
  • Dar un regalo especial de Año Nuevo a todos los jugadores que iniciaron sesión durante las últimas 2 semanas.
  • Recompensar a los jugadores que gastaron dinero en la última semana (según niveles de gasto), de modo que cuanto más dinero gastaron, más valioso sea el regalo.
  • Corregir el estado dañado de los jugadores para todos los jugadores afectados por un error reciente del juego.
En este tutorial, basado en nuestra Unicorn Battle Sample App, concederemos un regalo especial a todos los jugadores con más de 2,725 XP.

Requisitos previos

Deberá instalar la Unicorn Battle Sample App para ejecutar este tutorial. Puede obtener más información al respecto en nuestro blog, o ir directamente al repositorio de GitHub y seguir las instrucciones que allí se indican. Unicorn Battle - Pantalla de inicio Le conviene jugar varias batallas para subir de nivel a su personaje hasta al menos el Nivel 2, que se alcanza con 2,725 XP puntos. Unicorn Battle - Nivel 2

Paso 1: Crear el segmento

El primer paso es crear el segmento que define el grupo de jugadores que se verán afectados por esta acción. En este caso, necesitamos crear el High XP Segment, definido como todos los jugadores que tienen más de 2,725 XP:
  • Seleccione PlayStream en el menú de la izquierda.
  • Elija la pestaña Segments.
  • A continuación, seleccione el botón New Segment.
  • Establezca el Segment Name: High XP Players.
  • Defínalo como Player, donde el Statistic Value llamado Total_XP Gained sea mayor que 2725.
NOTA: El sistema actual de tareas programadas puede procesar entre 10 y 15 tareas por segundo por segmento. Al diseñar sus segmentos, planifique con antelación qué tamaño tendrán y cuánto tiempo durará la ejecución de la tarea. No hay límite de tiempo para la ejecución de una tarea, pero si la tarea debe ejecutarse en un período específico, el segmento debe tener el tamaño adecuado.
Game Manager - PlayStream - Segmentos - High XP Players

Paso 2: Crear una tarea para este segmento

  • Seleccione la pestaña Segments.
  • A continuación, seleccione RUN TASK …
Game Manager - PlayStream - Segmentos - Ejecutar tarea Esto le llevará a la vista Create Task en la pestaña Servers->Tasks, y rellenará previamente varios campos según el segmento seleccionado. Game Manager - Servidores - Tarea - Crear tarea

Paso 3: Agregar acciones a la tarea

A continuación, puede terminar de configurar la tarea.
  • Cambie el nombre a Reward High XP Players
  • Agregue esta descripción: Give a gift to Players who are level 2 or higher.
  • Seleccione ADD ACTION
    • Escriba Grant virtual currency en el campo proporcionado.
    • Código de Virtual Currency: GM (abreviatura de Gems).
    • Cantidad: 20
  • Por ahora, deje la programación establecida en Manually.
  • Seleccione el botón SAVE AND RUN para ejecutar la tarea.
Game Manager - Servidores - Tarea - Agregar acción - Guardar y ejecutar

Paso 4: Supervisar la tarea

La vista Tasks le mostrará la tarea en ejecución. Inicialmente, el estado de la tarea será InProgress, pero cambiará rápidamente a Succeeded, ya que el segmento es pequeño. Game Manager - Servidores - Tareas - Tarea correcta Ahora, revisemos los detalles de la ejecución de la tarea. Seleccione la tarea completada en la lista de Tasks ejecutadas anteriormente. Verá información importante, como:
  • Cuántos jugadores se procesaron.
  • Cuándo se inició la tarea.
  • Cuánto tiempo tardó en completarse.
  • Los parámetros que tenía cuando se inició.
  • Quién la ejecutó.
  • Si se programó manualmente, etc.
Si la tarea sigue en curso, puede consultar la vista Task Instance Detail para ver el progreso y el tiempo restante estimado. Game Manager - Servidores - Tareas - Detalles de la instancia de la tarea Para comprobar que la tarea se ejecutó correctamente:
  • Vaya a la pestaña Players.
  • Seleccione su Player.
  • A continuación, elija la pestaña Event History.
  • El evento más reciente de la lista debería ser un player_virtual_currency_balance_changed, que debería mostrar que las gemas de su Player aumentaron en 20.
Puede expandir este evento para ver los detalles.
Game Manager - Historial de eventos - Detalle del evento

Pasos siguientes

Este tutorial le ha presentado los pasos necesarios para realizar una acción en cada jugador de un segmento, pero puede hacer mucho más con las tareas. Estas son algunas ideas de otras cosas que puede probar…

Programar las tareas

No necesita ejecutar las tareas manualmente: puede programar una tarea para que se ejecute automáticamente de forma periódica. Por ejemplo, podría crear un segmento de todos los jugadores que jugaron en las últimas 24 horas y, a continuación, ejecutar una tarea programada cada día para dar a esos jugadores un aumento de XP. Game Manager - PlayStream - Segmentos - Jugadores en 24 horas Game Manager - Servidores - Tareas - Tarea programada

Ejecutar CloudScript para cada jugador

El uso más potente de las acciones masivas es ejecutar una función arbitraria de CloudScript para cada jugador. Este CloudScript puede hacer todo lo que puede hacer la API de servidor de PlayFab: conceder elementos, moneda, inspeccionar y cambiar datos de jugadores, etc. Por ejemplo, imagine que tiene una tabla de clasificación de eventos que se restablece cada semana y desea recorrer todos los jugadores y dar una recompensa según el valor del último evento antes del restablecimiento. El ejemplo que se proporciona a continuación usa Unicorn Battle.
  1. Cree una nueva estadística Event_QuestsCompleted, que se restablezca semanalmente y use el método de agregación Last. Jugadores - Tablas de clasificación - Editar tabla de clasificación
  2. Cree una nueva acción de PlayStream que incremente esta estadística Event_QuestsCompleted cada vez que cambie Total_QuestsCompleted. PlayStream - Acciones de eventos - Editar acción de evento
  3. Escriba una función de CloudScript para que la llame una tarea de acción masiva, que recorrerá los jugadores y dará recompensas según el último valor.
  1. Establezca la nueva versión de CloudScript en Live y cree una nueva tarea que llame a la función GiveTieredReward para todos los jugadores. No olvide seleccionar Save y Run en la tarea. Servidores - Tareas - Nueva tarea programada
  2. Debería ver que los eventos de esta tarea aparecen en el depurador de eventos de PlayStream. PlayStream - Panel - Depurador de eventos
  3. Puede seleccionar cualquier evento de CloudScript ejecutado por una acción desencadenada por un jugador (seleccionando la marca de tiempo) y ver el resultado detallado de la ejecución de CloudScript para cada jugador. Esto incluye información de diagnóstico útil, como la instantánea del perfil del jugador en el momento de la ejecución de CloudScript. PlayStream - Panel - JSON de evento sin procesar
Última modificación el 19 de octubre de 2026