> ## 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.

# Cambios de dispositivo activo en Game Saves

> Controle los cambios de dispositivo activo de PlayFab Game Saves para evitar la pérdida de progreso cuando los jugadores cambian de dispositivo a mitad de sesión en varias plataformas.

## Control de los cambios de dispositivo activo

Cuando un jugador cambia de dispositivo a mitad de sesión, es importante evitar que pierda accidentalmente el progreso por jugar en varios dispositivos simultáneamente.

### El escenario del problema

1. **El jugador empieza en el dispositivo A**: comienza a jugar y se convierte en el dispositivo "activo"
2. **El jugador cambia al dispositivo B**: inicia sesión y elige "Sync Last Saved Data"
3. **El dispositivo B se convierte en el activo**: el dispositivo A ya no es el dispositivo activo, pero puede que no lo sepa
4. **Riesgo de pérdida de progreso**: el jugador podría seguir jugando en el dispositivo A, creando estados de guardado en conflicto

### La solución: devoluciones de llamada de dispositivo activo

Escuche los cambios de dispositivo activo y controle la transición correctamente:

```cpp theme={null}
// Set up the active device changed callback during initialization
hr = PFGameSaveFilesSetActiveDeviceChangedCallback(
    optionalTaskQueue,                    // Use nullptr for immediate callback
    MyActiveDeviceChangedCallback,        // Your callback function
    contextPtr);                          // Optional context for your callback
```

### Ejemplo de implementación de la devolución de llamada

```cpp theme={null}
void MyActiveDeviceChangedCallback(void* context)
{
    // The current device is no longer active for Game Saves
    
    // 1. Pause the game immediately
    
    // 2. Inform the player what happened
    // with a message such as:
    // "Your game progress is being continued on another device."
    // "Returning to main menu to prevent data loss."
    
    // 3. Return to a safe state (main menu)
    
    // 4. Re-initialize Game Saves system when ready to play again
    // (The player will need to sync again from the main menu)
}
```

### Excepción específica de XBOX

Si su juego solo inicia sesión con la característica **Single Point of Presence (SPOP)** de XBOX, este escenario se evita automáticamente. SPOP garantiza que un usuario solo pueda tener sesión iniciada en un dispositivo XBOX a la vez.

### Procedimientos recomendados

* **Implemente siempre esta devolución de llamada** en los juegos multiplataforma
* **Pause el juego inmediatamente** cuando se desencadene la devolución de llamada
* **Explique claramente a los jugadores** por qué se les devuelve al menú
* **Facilite el reingreso** volviendo al menú principal en lugar de cerrar el juego


## Related topics

- [Inicio rápido de Game Saves](/es/services/playfab/player-progression/game-saves/quickstart.md)
- [Información general de la API XGameSave](/es/build/core-features/common/game-save/xgamesave.md)
- [Guía de implementación en Steam Deck para PlayFab Game Saves](/es/services/playfab/player-progression/game-saves/steam-deck-implementation.md)
- [Información general de la API XGameSaveFiles](/es/build/core-features/common/game-save/xgamesavefiles.md)
- [Devoluciones de llamada de la interfaz de usuario de Game Saves](/es/services/playfab/player-progression/game-saves/ui-callbacks.md)
