> ## Documentation Index
> Fetch the complete documentation index at: https://devdocs.xbox.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Inicio rápido de acciones y reglas

> Cree su primera regla de PlayStream con desencadenadores, condiciones y acciones para reaccionar a los eventos de los jugadores en tiempo real e impulsar respuestas automatizadas de LiveOps.

# Inicio rápido de acciones y reglas

Una regla de PlayStream le permite reaccionar a un subconjunto de un tipo de eventos de PlayStream en tiempo real.

## Requisitos

* [Inicio rápido de Game Manager](/services/playfab/live-service-management/gamemanager/quickstart)
* [Uso de estadísticas de jugadores](/services/playfab/community/leaderboards/tournaments-leaderboards/using-player-statistics) (contiene información que puede ayudarle con el ejemplo de este tutorial).

Un breve glosario de términos relevantes:

* **PlayStream**: el grupo de características que componen la canalización de eventos de PlayFab.
  * Un **evento de PlayStream** es una cadena con formato JSON que describe un evento sobre un jugador o título.
  * Los **eventos de PlayStream** tienen un tamaño máximo basado en su nivel de la característica Automation.

* **Regla**: realiza lógica adicional en respuesta a un tipo de evento de PlayStream en tiempo real.
  * La suma de: un **desencadenador de evento**, una lista opcional de **condiciones** y una lista opcional de **acciones**.

* **Desencadenador**: el nombre del evento que activa esta regla.

* **Condición**: un filtro de contenido para las reglas y otras características de PlayStream.
  * Realiza una evaluación muy ligera del objeto JSON del evento de PlayStream y omite los eventos que no cumplen los requisitos.

* **Acción**: el trabajo contextual que se debe realizar en la entidad adecuada.

Una regla consta de exactamente un desencadenador, una lista opcional de condiciones y, normalmente, al menos una acción (no es obligatoria, pero resulta bastante inútil sin ella).

Los desencadenadores, las condiciones y las acciones también forman parte de otros sistemas: [acciones masivas](/services/playfab/data-analytics/acting-data/action-rules-bulk-actions-for-an-entire-player-segment) y [tablas de clasificación de torneos (en desuso)](/services/playfab/community/leaderboards/tournaments-leaderboards/using-resettable-statistics-and-leaderboards).

## Caso de ejemplo: contar eventos personalizados del cliente

En el ejemplo que se presenta a continuación, publicamos el siguiente evento personalizado desde el cliente.

```csharp theme={null}
public void WriteEvent() {
    PlayFabClientAPI.WritePlayerEvent(new WriteClientPlayerEventRequest {
        EventName = "ForumPostEvent",
        Body = new Dictionary<string, object> {
            { "Subject", "My First Post" },
            { "Body", "My awesome Post." }
        }
    }, LogSuccess, LogFailure);
}
```

En este caso, el cliente notifica manualmente un `ForumPostEvent` personalizado (actualmente no se corresponde con ningún evento automático de PlayFab ni de los asociados admitidos)

Usaremos una regla de PlayStream para contar el número de veces que un jugador notifica una publicación del foro de esta manera.

**Requisito**: su juego ya debe estar publicando eventos de este tipo antes de que la interfaz gráfica de Game Manager le permita crear una regla que se desencadene con ellos.

Vaya a su **Game Manager**:

* Vaya a su **título**.
* Seleccione **Automation**.
* Vaya a **Rules**.
* Seleccione **New Rule**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-automation-new-rule.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=bd467d6b0caea0e4a258bf1c6b2a7cd8" alt="Game Manager - Automation - Nueva regla" width="897" height="1036" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-automation-new-rule.png" />

Evaluemos la **nueva regla** de este ejemplo parte por parte:

* **`title.6195.ForumPostEvent`**
  * `6195` es el título usado en este tutorial. Su titleId coincidirá con su propio título.
  * `ForumPostEvent` es el nombre del evento usado en el código para este caso de ejemplo.
  * Esta línea solo estará disponible si recientemente ha publicado al menos un `ForumPostEvent` en su título.
* Las **condiciones** usadas específicamente en este ejemplo tienen un uso mínimo.
  * Sin embargo, *sí* demuestra el filtrado de nuestro evento personalizado si la clave **Body** está asignada a **Invalid string** en nuestro diccionario **Body**.
  * Los filtros son opcionales y deben eliminar de su regla a los jugadores irrelevantes.
* Las **acciones** elegidas en este caso incrementan un contador de estadísticas en uno.
  * **Requisito**: la estadística **Forum Posts** debe estar definida en Leaderboards en Game Manager.

En el **depurador de PlayStream** de Game Manager (que se muestra a continuación), puede observar cómo surte efecto el desencadenador.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-playstream-debugger-event-trigger.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=7fbbc21d4c1f53db11e54c647d9610fa" alt="Game Manager - PlayStream - Depurador - Desencadenador de evento" width="452" height="213" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-playstream-debugger-event-trigger.png" />

Como puede ver, el `ForumPostEvent` personalizado desencadena automáticamente la estadística que establecimos en **Actions** para nuestra nueva regla.

## Avanzado: acciones de CloudScript

Muchas de las acciones integradas de **PlayFab** son bastante sencillas y es posible que no le proporcionen toda la potencia que necesita. Por eso le permitimos personalizar por completo la lógica de las acciones con CloudScript.

Editemos la **regla**.

* Elimine la **condición**.
* Establezca la **acción** en **Execute CloudScript**.
* Seleccione el botón **Save Action**.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-automation-edit-rule.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=b69ba07416a1d485dc29b4e69637dfe0" alt="Game Manager - Automation - Editar regla" width="914" height="802" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-automation-edit-rule.png" />

Ahora, si publicamos un nuevo **ForumPostEvent**, veremos una ejecución de CloudScript.

<img src="https://mintcdn.com/microsoft-4404708b/IwSYTY5BEqd_x-HK/images/playfab/data-analytics/acting-data/tutorials/game-manager-playstream-debugger-cloudscript-execution.png?fit=max&auto=format&n=IwSYTY5BEqd_x-HK&q=85&s=f0cdab71d528049e20c131b846a84eb5" alt="Game Manager - PlayStream - Depurador - Ejecución de CloudScript" width="462" height="167" data-path="images/playfab/data-analytics/acting-data/tutorials/game-manager-playstream-debugger-cloudscript-execution.png" />

Escribir su CloudScript para reaccionar a las reglas de PlayStream es un tema avanzado que se trata en nuestro tutorial: [uso de acciones de CloudScript con PlayStream](/services/playfab/data-analytics/acting-data/action-rules-using-cloudscript-actions-with-playstream).


## Related topics

- [Acciones y reglas](/es/services/playfab/data-analytics/acting-data/action-rules-overview.md)
- [Documentación de datos y análisis de PlayFab](/es/services/playfab/data-analytics/index.md)
- [Guía de inicio rápido de CloudScript de PlayFab con Azure Functions](/es/services/playfab/live-service-management/service-gateway/automation/cloudscript-af/quickstart.md)
- [Inicio rápido del muestreo de eventos](/es/services/playfab/data-analytics/export-data/event-sampling-quickstart.md)
- [Inicio rápido de propiedades personalizadas de jugador](/es/services/playfab/live-service-management/game-configuration/segmentation/player-custom-properties-qs.md)
