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

# Notas de la versión de PlayFab de 2017

> Notas de la versión de PlayFab de 2017.

## 171204

Fecha: 4 de diciembre de 2017

### Cambios en el SDK de Unreal (Cpp y Bp)

* Se actualizaron ambos SDK a **Unreal 4.18.1**.
* Las versiones anteriores siguen funcionando, pero requieren quitar la marca de comentario de los `#defines` en los archivos \_.build.cs.

## 171127

Fecha: 27 de noviembre de 2017

### Cambios en la API

* Una característica de inventario que permite artículos de "edición limitada" ya salió de la fase beta.

* Esta característica le permite definir que solo haya disponible un número fijo de un `itemId` concreto en el juego.

* Se quitó una propiedad de moneda virtual de los métodos de API que usan "[ProfileModel](xref:titleid.playfabapi.com.client.accountmanagement.getplayerprofile#playerprofilemodel)", ya que esa información nunca se proporciona o no es correcta. Volverá... algún día.

### Nuevos métodos de API

* admin.[CheckLimitedEditionItemAvailability](xref:titleid.playfabapi.com.admin.playeritemmanagement.checklimitededitionitemavailability)
* admin.[IncrementLimitedEditionItemAvailability](xref:titleid.playfabapi.com.admin.playeritemmanagement.incrementlimitededitionitemavailability)
* client.[GetPaymentToken](xref:titleid.playfabapi.com.client.playeritemmanagement.getpaymenttoken)
  * Se usa para el [procesamiento de pagos específico de XSolla](https://learn.microsoft.com/en-us/gaming/playfab/economy-monetization/economy/tutorials/non-receipt-payment-processing)
* client.[ReportDeviceInfo](xref:titleid.playfabapi.com.client.analytics.reportdeviceinfo)
  * Este método de API no está pensado para llamarse directamente. Actualmente es una característica integrada de los SDK de Unity y Lumberyard. Se puede deshabilitar con la [directiva de API](https://learn.microsoft.com/en-us/gaming/playfab/api-references/api-access-policy). Además, pronto agregaremos otra opción para deshabilitarlo en la página de configuración del título en Game Manager.

### Códigos de error de métodos de API actualizados

* client.[AddOrUpdateContactEmail](xref:titleid.playfabapi.com.client.accountmanagement.addorupdatecontactemail)
* client.[GetLeaderboardAroundPlayer](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboardaroundplayer)
* client.[LoginWithAndroidDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid)
* client.[LoginWithCustomID](xref:titleid.playfabapi.com.client.authentication.loginwithcustomid)
* client.[LoginWithIOSDeviceID](xref:titleid.playfabapi.com.client.authentication.loginwithiosdeviceid)

### Actualizaciones específicas de los SDK

* [UnitySdk](https://github.com/PlayFab/UnitySDK): ahora compilamos todos los archivos de paquete de Unity publicados con Unity 2017.2.0f3.
* Para las pruebas, actualizamos internamente a la versión más reciente de cada versión principal.secundaria, desde Unity 4.7.2f1 hasta 2017.1.2f1.
* Servidor de juegos de prueba de ejemplo de Unity: se aplicó una corrección a `HttpHelper` para corregir la validación SSL en las solicitudes de `SignalR`.
* [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK): se actualizó AirSdk en el ejemplo a la v27.
* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK): seguimos usando la versión 3.15.1 como destino, a pesar del lanzamiento de Cocos 3.16 (permanezca atento).
* SdkTestingCloudScript y [NodeSDK](https://github.com/PlayFab/NodeSDK): se actualizaron los proyectos de VS de ejemplo para admitir VS/msbuild 2017.
* WindowsSDK: esta es la última compilación del paquete NuGet destinada a Visual Studio 2013:
  * [Paquete NuGet de WindowsSdk para VS 2013](https://www.NuGet.org/packages/com.playfab.windowssdk.v120/1.19.171127)
  * Estamos actualizando nuestras máquinas de compilación automatizada y no instalaremos VS 2013 en las nuevas.
  * El [paquete NuGet más reciente](https://www.NuGet.org/packages/com.playfab.windowssdk.v140/) seguirá funcionando en VS 2015 y 2017.

## 171106

Fecha: 6 de noviembre de 2017

### Nuevos métodos de API

* admin.[GetPlayerProfile](xref:titleid.playfabapi.com.admin.accountmanagement.getplayerprofile)
* server.[SendEmailFromTemplate](xref:titleid.playfabapi.com.server.accountmanagement.sendemailfromtemplate)

### Evento de PlayStream actualizado

* [sent\_email](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/TitleCommunications/sent-email) incorpora nuevos campos: Body y Subject.

### Todos los SDK

* **CAMBIO IMPORTANTE MENOR EN EL SDK:** se cambió el nombre de `ForgetClientCredentials()` a `ForgetAllCredentials()`.
* Esto forma parte de una característica "próximamente", que se anunciará cuando esté completa.

## 171102

Fecha: 2 de noviembre de 2017

### Nueva característica de PlayFab

* Envíe correos electrónicos a sus jugadores mediante plantillas.

### Nuevos métodos de API

* admin.[ResetPassword](xref:titleid.playfabapi.com.admin.accountmanagement.resetpassword)
* admin.[GetPlayerIdFromAuthToken](xref:titleid.playfabapi.com.admin.accountmanagement.getplayeridfromauthtoken)
* client.[AddOrUpdateContactEmail](xref:titleid.playfabapi.com.client.accountmanagement.addorupdatecontactemail)
* client.[RemoveContactEmail](xref:titleid.playfabapi.com.client.accountmanagement.removecontactemail)
* server.[SendCustomAccountRecoveryEmail](xref:titleid.playfabapi.com.server.accountmanagement.sendcustomaccountrecoveryemail)

### Actualización de la documentación

* [Nueva lista de códigos de error relevantes para cada llamada a la API de PlayFab](https://learn.microsoft.com/en-us/gaming/playfab/api-references/global-api-method-error-codes)
* Códigos de error actualizados para: client.[LoginWithGoogleAccount](xref:titleid.playfabapi.com.client.authentication.loginwithgoogleaccount), client.[UpdatePlayerStatistics](xref:titleid.playfabapi.com.client.playerdatamanagement.updateplayerstatistics), server.[ConsumeItem](xref:titleid.playfabapi.com.server.playeritemmanagement.consumeitem)

### Nuevos eventos de PlayStream

* [auth\_token\_validated](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/auth-token-validated)
* [player\_updated\_contact\_email](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/player-updated-contact-email)
* [sent\_email](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/TitleCommunications/sent-email)

### Actualización específica de Unreal

* Nuestro generador automático no pudo publicar los SDK de Unreal para los números de compilación 171016 y 171026. Resolvimos el problema del generador automático, publicamos la versión 171026 a posteriori y las versiones se reanudaron con normalidad

### Cambios específicos de Unity

* **CAMBIO IMPORTANTE MENOR:** se cambió el nombre de `ForgetClientCredentials` a `ForgetAllCredentials`.
* Esto forma parte de una nueva característica que llegará pronto. Cambiaremos el nombre de `ForgetClientCredentials` a `ForgetAllCredentials` en todos los SDK durante las próximas versiones.

## 171026

Fecha: 26 de octubre de 2017

### Cambios en la documentación de la API

* Actualización de los códigos de error de los métodos de API.

* Se quitaron de la lista de cada método de API muchos códigos de error que son universales para todos los métodos de API. Una nueva página describe los códigos de error universales.

* **Códigos universales quitados:**
  * InvalidParams
  * OverLimit
  * DataUpdateRateExceeded
  * AccountBanned

* Estos errores (y otros, que se publicarán en un documento independiente) pueden devolverse desde cualquier método de API y deben controlarse adecuadamente.

* Se agregaron nuevos códigos de error a varias decenas de métodos de API y se quitaron algunos códigos falsos. Las listas de códigos de error deberían ser mucho más precisas en cuanto a los errores específicos de cada método. Este proceso sigue en curso, por lo que habrá más actualizaciones.

* Varios métodos de API relacionados con la moneda virtual pueden reducir el saldo por debajo de cero. Los etiquetamos de forma adecuada.

### Cambios en la API

* **Nuevos métodos de API:**
  * admin.[DeleteTitle](xref:titleid.playfabapi.com.admin.accountmanagement.deletetitle)
  * Los servidores de juegos hospedados admiten tanto **IPv4** como **IPv6**.
  * Los servidores de juegos personalizados ahora admiten **IPV6**. A todas las instancias de servidor de juegos recién iniciadas se les asignan direcciones **IPV4** e **IPV6**, que se muestran en la pestaña **Servers** de Game Manager y que devuelven las API de emparejamiento. Los clientes pueden conectarse a la dirección **IPV4** o **IPV6** del servidor asignado.
  * Todos los métodos de API que devuelven direcciones de servidor ahora devuelven ambas opciones: client.[StartGame](xref:titleid.playfabapi.com.client.matchmaking).[StartGameResult](xref:titleid.playfabapi.com.client.matchmaking)

### Cambios en Game Manager

* Ahora puede eliminar títulos con la nueva API Admin/DeleteTitle o en la página de estudios de Game Manager, como se muestra en la siguiente imagen.

  ![DelTitleGameManager](https://mintcdn.com/microsoft-4404708b/N3T1ucKV7zIMBudj/images/playfab/release-notes/images/171026-DelTitleGameManager.png?fit=max\&auto=format\&n=N3T1ucKV7zIMBudj\&q=85\&s=e05b5b1b05161e4730923e705349b890)

## 171016

Fecha: 16 de octubre de 2017

### Cambios en la API

* Se agregó un parámetro a server.[SendPushNotification](xref:titleid.playfabapi.com.server.accountmanagement.sendpushnotification).[SendPushNotificationRequest](xref:titleid.playfabapi.com.server.accountmanagement.sendpushnotification#sendpushnotificationrequest).[PushNotificationPackage](xref:titleid.playfabapi.com.server.accountmanagement.sendpushnotification#pushnotificationpackage), para la insignia (Badge) de iOS.
* Se aclaró la naturaleza específica del dispositivo de varios parámetros.

### Nuevos eventos de PlayStream

* [player\_started\_purchase](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/Player/player-started-purchase)
* [player\_paid\_for\_purchase](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/Player/player-paid-for-purchase)

### Cambios específicos de JavaScriptSDK

* [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK)
  * Nuestro SDK ahora se integra con [Phaser.io](https://phaser.io/).

### Cambios específicos de LuaSDK

* [LuaSDK](https://github.com/PlayFab/LuaSDK)
  * Se corrigió nuestra canalización de publicación de Lua y LuaSDK vuelve a actualizarse correctamente.

### Cambios específicos de UnitySdk

* [UnitySdk](https://github.com/PlayFab/UnitySDK)
  * Solucionamos por nuestra parte una [regresión en Unity](https://issuetracker.unity3d.com/issues/unitywebrequest-getresponseheaders-method-returns-null-on-android-devices) y ya no debería afectar a los clientes de PlayFab.

~~**Cambios específicos de UnrealCppSdk:**~~ (ACTUALIZADO: este SDK está en desuso. Para el nuevo SDK de Unreal, consulte [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~Uno de nuestros clientes creó un complemento para nuestro SDK que integra el OnlineSubsystem de Unreal y el SDK de PlayFab~~
* ~~Puede consultarlo [aquí](https://gitlab.com/mtuska/OnlineSubsystemPlayFab).~~&#x20;

### Ejemplo de Unicorn Battle

* Se eliminó el complemento de notificaciones push personalizado de PlayFab y se actualizó a mensajes push de FCM.

## 170925

Fecha: 5 de septiembre de 2017

### Cambios en la API

* Se quitaron algunas API beta que nunca se hicieron públicas. Esto no debería afectar a ningún cliente actual ni a ningún título publicado.
* Omitimos las comprobaciones predeterminadas de encabezados a nivel de lenguaje en nuestro motor de CloudScript. Esto significa que varios encabezados de http.request() de CloudScript que antes se rechazaban ahora deberían funcionar.

### Actualización global de notificaciones push

* Consulte [nuestro blog](https://blog.playfab.com/blog/push-sep-17) para obtener detalles sobre las mejoras de las notificaciones push

### Nuevos eventos de PlayStream

* [player\_device\_info](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/player-device-info)
* Los juegos que usan el UnitySDK más reciente ahora pueden ver algunos datos de análisis básicos sobre sus clientes. SnowFlake es ideal para ver y analizar esta información, pero también está disponible en el historial de eventos de PlayStream.
* player\_updated\_membership

### Cambios específicos de JavaScriptSDK

* [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK)
  * Se agregaron a JavaScriptSDK algunas minicaracterísticas que existen en otros SDK:
  * Ahora puede insertar encabezados adicionales en las solicitudes (lo que elimina uno de los obstáculos para los inicios de sesión con doble cifrado con este SDK).
  * Se agregó una nueva función: `PlayFabClientSDK.ForgetClientCredentials()`
  * Es una función práctica que restablece el cliente después de apagarlo o cerrar sesión.
  * `PlayFab.GenerateErrorReport()`
  * Es una función práctica que convierte el resultado de error de una llamada a PlayFab con errores en una única descripción completa de cómo falló la llamada.
* Se agregaron retransmisiones de datos opcionales a las solicitudes de la API de PlayFab:
  * `result.customData`
    * Es cualquier objeto contextual que puede adjuntar a la solicitud y que puede proporcionar contexto para el resultado. Por ejemplo, puede proporcionar un objeto de jugador cliente local como `customData` para una llamada a **UpdatePlayerStatistics** y establecer las estadísticas actualizadas en ese jugador después de que la llamada remota se haya completado correctamente.
  * `result.request`
    * La solicitud de sus llamadas a la API ahora se retransmite al resultado, lo que puede proporcionar contexto para el resultado. Por ejemplo, cuando llama a `UpdatePlayerStatistics`, puede leer las estadísticas actualizadas de la solicitud al actualizar el objeto de jugador local.

### Cambios específicos de UnitySDK

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * Nueva característica experimental: esta versión de PlayFab UnitySDK ahora le permite, de forma opcional, ver la información del dispositivo de sus jugadores. Algunos ejemplos de la información que puede ver son: memoria, resolución, agente de usuario, tipo de dispositivo, versión del sistema operativo, etc.

~~**Cambios específicos de UnrealCppSdk:**~~ (ACTUALIZADO: este SDK está en desuso. Para el nuevo SDK de Unreal, consulte [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~Se actualizó a Unreal 4.17~~
* ~~Se dividió en tres complementos independientes, cada uno con una funcionalidad diferente~~
* ~~Mejoras significativas en general~~

## 170828

Fecha: 28 de agosto de 2017

### Cambios en Client API

* ~~client.\[GetCurrentGames].\[result].Games\[i].GameServerState está en desuso y se reemplazó por \[GameServerStateEnum]~~.
  ~~- GameServerState se serializaba como un entero, lo cual era un error. El nuevo campo es una cadena de enumeración adecuada.~~ (ACTUALIZADO: está en desuso. Consulte [Servers](https://learn.microsoft.com/en-us/gaming/playfab/multiplayer/servers/index))

### Otros cambios en la API

* Se dejaron en desuso los siguientes métodos de API en las API Admin y Server.
  * [GetActionsOnPlayersInSegmentTaskInstance](xref:titleid.playfabapi.com.admin.scheduledtask.getactionsonplayersinsegmenttaskinstance): se etiquetó accidentalmente como en desuso, pero fue un error que se ha revertido.
* [SendPushNotification](xref:titleid.playfabapi.com.server.accountmanagement.sendpushnotification) ahora puede especificar [TargetPlatforms](xref:titleid.playfabapi.com.server.accountmanagement.sendpushnotification#sendpushnotificationrequest)
* Se agregaron algunas aclaraciones sobre qué parámetros funcionan en qué plataformas para [SendPushNotificationRequest](xref:titleid.playfabapi.com.server.accountmanagement.sendpushnotification#sendpushnotificationrequest) (no se recomienda usar parámetros no admitidos para una plataforma de destino).
* Se agregó información sobre las [restricciones](https://learn.microsoft.com/en-us/gaming/playfab/community/associations/groups/using-shared-group-data) de [Shared Group](xref:titleid.playfabapi.com.client.sharedgroupdata.createsharedgroup) a la documentación de Shared Group (en concreto, que no se pueden usar para algo como los gremios).
* Los [perfiles de jugador](xref:titleid.playfabapi.com.client.accountmanagement.getplayerprofile#playerprofilemodel) ahora pueden almacenar una [dirección de correo electrónico de contacto](xref:titleid.playfabapi.com.client.accountmanagement.getplayerprofile#contactemailinfomodel) del jugador.

### Nuevos eventos de PlayStream

* [entity\_created](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/entity-created)
* [entity\_logged\_in](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/entity-logged-in)

## 170814

Fecha: 14 de agosto de 2017

### Actualizaciones de la API

* Los métodos de API server.[GetFriendsList](xref:titleid.playfabapi.com.server.friendlistmanagement.getfriendslist) y client.[GetFriendsList](xref:titleid.playfabapi.com.client.friendlistmanagement.getfriendslist) ahora devuelven un [PlayerProfile](xref:titleid.playfabapi.com.client.friendlistmanagement.getfriendslist#playerprofilemodel) para cada uno de sus amigos.

### Actualizaciones específicas de CSharpSdk

* El SDK ahora incluye un archivo llamado [NewtonSoftJsonWrapper.cs](https://github.com/PlayFab/CSharpSDK/blob/master/PlayFabSDK/source/Json/NewtonsoftWrapper.cs), que le permitirá reemplazar el serializador SimpleJson incluido por el paquete NuGet de NewtonSoft.
* El archivo incluye instrucciones sobre cómo usarlo.

## 170807

Fecha: 7 de agosto de 2017

### Nuevos métodos de API

* admin.[DeletePlayer](xref:titleid.playfabapi.com.admin.accountmanagement.deleteplayer)

### Métodos de API en desuso

* Estos métodos de API nunca funcionaron de forma tan completa como debían. Para solucionarlo, empezamos de nuevo y creamos la nueva API [DeletePlayer](xref:titleid.playfabapi.com.admin.accountmanagement.deleteplayer) de la sección anterior, y estos quedan en desuso:
* `admin.ResetUsers`
* `admin.DeleteUsers`

### Actualizaciones de la API

* `PlayerProfile` (en [Admin](xref:titleid.playfabapi.com.admin.accountmanagement.getplayerprofile#playerprofilemodel)/[Server](xref:titleid.playfabapi.com.server.accountmanagement.getplayerprofile#playerprofilemodel)/[PlayStream](xref:titleid.playfabapi.com.client.accountmanagement.getplayerprofile#playerprofilemodel)) contiene un nuevo campo `ContactEmailAddresses`, que contiene cualquier información de dirección de correo electrónico que haya guardado sobre sus jugadores.

### Eventos de PlayStream

* Nuevo evento: [auth\_token\_validated](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/auth-token-validated)
* Nuevo evento: [player\_removed\_title](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/player-removed-title)
* Nuevo evento: [player\_updated\_contact\_email](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/player-updated-contact-email)
* Nuevo evento: [player\_verified\_contact\_email](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/player-verified-contact-email)
* Nuevo evento: [sent\_email](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/TitleCommunications/sent-email) (todavía en beta, pero los eventos ya son públicos)
* Nuevo campo en el evento: [player\_realmoney\_purchase](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/Player/player-realmoney-purchase).TransactionId

~~**Cambios en LumberyardSdk:**~~

* ~~**ADVERTENCIA DE ACTUALIZACIÓN:** este SDK ya no es compatible con versiones anteriores de Lumberyard.~~
* ~~Esta versión de PlayFab LumberyardSdk ya no funciona con la versión 1.3 de Lumberyard. Se actualizó y ahora tiene como destino Lumberyard 1.9. Probablemente pronto tendrá como destino la 1.10, pero de nuevo sin compatibilidad con versiones anteriores a la 1.9 ni con esta. Consulte [nuestro blog](https://blog.playfab.com/blog/cpp-SDK-updates) para obtener más detalles.~~

~~**UnrealCppSdk:**~~ (**ACTUALIZADO**: este SDK está en desuso. Para el nuevo SDK de Unreal, consulte [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK)).

~~**SDK de Unreal:**~~ (**ACTUALIZADO**: este SDK está en desuso. Para el nuevo SDK de Unreal, consulte [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~PlayFab UnrealBlueprintSdk ahora pasa a llamarse "SDK de Unreal"~~
* ~~El SDK de Unreal se actualizó a la 4.16, con algunas correcciones menores~~
* ~~También retiramos la compatibilidad con versiones anteriores de Unreal, que requieren versiones anteriores de Visual Studio~~
* ~~Ahora admitimos de la 4.14 a la 4.16~~
* ~~Es posible que su proyecto siga funcionando con versiones anteriores de Visual Studio, pero solo podemos ofrecer soporte y realizar pruebas con Visual Studio 2015 y versiones posteriores~~
* ~~Lea [nuestro blog](https://blog.playfab.com/blog/visual-studio-2013-deprecation-notice) para obtener más información~~

### Unity Editor Extensions

* Se corrigieron problemas al descargar y cargar revisiones de CloudScript.
* Se corrigieron problemas para los usuarios cuyo idioma del sistema usa letras que no son ASCII.

## 170710

Fecha: 10 de julio de 2017

### Cambios en la API

* Una característica Enterprise para inicios de sesión con doble cifrado salió de la fase beta y ya está disponible.
* **Nuevos métodos de API:**
  * admin.[CreatePlayerSharedSecret](xref:titleid.playfabapi.com.admin.authentication.createplayersharedsecret)
  * admin.[DeletePlayerSharedSecret](xref:titleid.playfabapi.com.admin.authentication.deleteplayersharedsecret)
  * admin.[GetPlayerSharedSecrets](xref:titleid.playfabapi.com.admin.authentication.getplayersharedsecrets)
  * admin.[SetPlayerSecret](xref:titleid.playfabapi.com.admin.authentication.setplayersecret)
  * admin.[UpdatePlayerSharedSecret](xref:titleid.playfabapi.com.admin.authentication.updateplayersharedsecret)
  * client.[GetTitlePublicKey](xref:titleid.playfabapi.com.client.authentication.gettitlepublickey)
  * client.[SetPlayerSecret](xref:titleid.playfabapi.com.client.authentication.setplayersecret)
  * server.[SetPlayerSecret](xref:titleid.playfabapi.com.server.authentication.setplayersecret)
* server.[RegisterGameRequest](xref:titleid.playfabapi.com.server.matchmaking) tiene una nueva propiedad: LobbyId, que le permitirá intentar volver a registrar un juego existente
* server.[SendPushNotificationRequest](xref:titleid.playfabapi.com.server.accountmanagement.sendpushnotification#sendpushnotificationrequest) ahora acepta una nueva propiedad: Package, que define todas las funcionalidades avanzadas de notificaciones push de Android.

### Cambio importante en el SDK

* admin.[SetupPushNotificationRequest](xref:titleid.playfabapi.com.admin.title-widedatamanagement.setuppushnotification#setuppushnotificationrequest).Platform ahora se define como una enumeración en lugar de una cadena. No es un cambio importante en la API (ya que las enumeraciones se transmiten como cadenas), pero requiere que algunos usuarios conviertan sus cadenas a los valores de la enumeración en su código.

### Cambios en todos los SDK

* Cambio importante menor en el SDK: la mayoría de los SDK han perdido un campo opcional en varias solicitudes llamado UseSpecificVersion, que era una forma alternativa de definir como null el campo Version adyacente. No todos los lenguajes tienen la capacidad de definir un entero como null en la solicitud, y este campo solo estaba pensado para ser útil en los SDK pertinentes (concretamente, Unreal). Si usa este campo, simplemente quítelo y establezca el campo Version adyacente en null cuando corresponda.

### Actualización de Unity EditorExtensions

* Se actualizó el panel de marcas.
* Ahora se puede activar o desactivar la marca `ENABLE/DISABLE_IDFA`.
* Muestra las marcas que no son de PlayFab y le permite quitarlas (úselo con precaución, no quite marcas que necesite).

### Actualizaciones de dependencias de los SDK

* [UnitySDK](https://github.com/PlayFab/UnitySDK) se compiló, empaquetó y probó con Unity2017.1.0f1.
  * Solo cambios triviales que no son importantes.
* [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK) se probó con AirSDK v26.
  * El SDK no cambió; el ejemplo se actualizó para tener como destino la v26.
* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK) se compiló y probó con Cocos 3.15.1.
* Cocos 3.14->3.15 contenía cambios que interrumpieron nuestro ejemplo, lo que a su vez obligó a actualizarlo. El ejemplo sigue funcionando con las versiones de la 3.13 a la 3.15, pero es posible que no funcione con versiones anteriores de Cocos. El SDK no cambió y debería funcionar con la mayoría de las versiones 3.X más recientes de Cocos.

## 170612

Fecha: 12 de junio de 2017

### Cambios en la documentación

* Muchas pequeñas revisiones en decenas de métodos de API para mayor claridad
* Se combinaron varias agrupaciones de documentación, cada una de las cuales contenía un único método de API, en un único grupo llamado "Platform Specific Methods".
* Se cambió el nombre del grupo "Matchmaking APIs" a "Matchmaking" para que sea coherente con otros grupos.
* Muchos campos de cadena con restricciones de longitud ahora describen los intervalos permitidos.

### Cambios en todos los SDK

* Se actualizaron y corrigieron muchos vínculos rotos en todos los archivos README de los SDK.

### Cambios específicos de UnitySDK

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * Ahora admitimos varias versiones de la API de Android y de Google Play Services. Lea más detalles [aquí](https://github.com/PlayFab/UnitySDK/tree/master/Packages).&#x20;
  * Con esto concluyen, por ahora, los cambios planeados para el complemento de notificaciones push de Unity + Android. Si tiene más solicitudes, háganoslo saber [aquí](https://community.playfab.com/questions/10840/android-plugin-upgrade-discussion.html).&#x20;

## 170530

Fecha: 30 de mayo de 2017

### Cambios en la API

* **CAMBIO IMPORTANTE:** en server.[ReportPlayer](xref:titleid.playfabapi.com.server.playeritemmanagement.reportplayer), quitamos inmediatamente el campo `titleId` de [ReportPlayerServerRequest](xref:titleid.playfabapi.com.server.playeritemmanagement.reportplayer#reportplayerserverrequest) (no simplemente lo dejamos en desuso). Ahora todos los informes van a su propio título y no se pueden enviar informes a otro título.
  * Tenía que ser un cambio importante, ya que, de lo contrario, suponía una leve vulnerabilidad entre títulos. [Póngase en contacto con nosotros](https://community.playfab.com/questions/ask.html) si necesita ayuda con este cambio.
* En client.[ReportPlayer](xref:titleid.playfabapi.com.client.accountmanagement.reportplayer) y server.[ReportPlayer](xref:titleid.playfabapi.com.server.playeritemmanagement.reportplayer), dejamos en desuso result.Updated en ambos casos. Siempre es true, y la llamada a la API devuelve un error si el jugador supera el límite de informes. Cambiamos esta condición de error a OverLimit para que coincida con otros límites.
* Todos los [métodos de inicio de sesión](xref:titleid.playfabapi.com.client.authentication) ahora pueden devolver un [objeto de perfil de jugador](xref:titleid.playfabapi.com.client.authentication.loginwithandroiddeviceid#playerprofilemodel), si se solicita, que contiene información que antes solo estaba disponible en los resultados de los marcadores.

### Nuevos métodos de API

* client.[GetPlayerProfile](xref:titleid.playfabapi.com.client.accountmanagement.getplayerprofile) y server.[GetPlayerProfile](xref:titleid.playfabapi.com.server.accountmanagement.getplayerprofile)
  * Devuelven información que antes solo estaba disponible en los resultados de los marcadores.

### Documentación

* Pequeñas actualizaciones; varios ejemplos ya no contienen información sobre campos en desuso.
* Se definieron los límites de tamaño del valor devuelto y del registro de [ExecuteCloudScript](xref:titleid.playfabapi.com.client.server-sidecloudscript.executecloudscript).

### Nuevos eventos de PlayStream

* gameserverhost\_started
* gameserverhost\_stopped
* [player\_set\_profile\_property](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/Player/player-set-profile-property)

### Cambios específicos de UnitySDK

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * Se renovó por completo nuestro complemento de notificaciones push de Android.
  * [Entrada de blog](https://blog.playfab.com/blog/push-upgrade-5-22)
  * [Guía nueva o actualizada](https://learn.microsoft.com/en-us/gaming/playfab/live-service-management/game-configuration/title-communications/push-notifications/push-notifications-for-android)

### Cambios específicos de CSharpSDK

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * Ahora es posible especificar encabezados adicionales que se insertan en una solicitud de API.
  * Es una característica exclusiva de Enterprise, específicamente para solicitudes de inicio de sesión con doble cifrado.

## 170508

Fecha: 8 de mayo de 2017

### Cambios en la API

* **CAMBIO IMPORTANTE:**
  * [ExecuteCloudScript](xref:titleid.playfabapi.com.client.server-sidecloudscript.executecloudscript) no serializa el valor devuelto de la llamada si es demasiado grande.
  * [ExecuteCloudScript](xref:titleid.playfabapi.com.client.server-sidecloudscript.executecloudscript) no serializa los registros de la llamada si son demasiado grandes.
* En cualquiera de estas condiciones, la llamada sigue devolviendo 200/correcto, pero las propiedades FunctionResult o Logs (o ambas) son null.

### Cambios en los eventos de PlayStream

* [player\_vc\_item\_purchased](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/Player/player-vc-item-purchased) y [character\_vc\_item\_purchased](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/Character/character-vc-item-purchased) ahora contienen un parámetro StoreId que indica qué tienda se usó para realizar una compra.
* **Nuevo evento:**
  * [title\_profile\_view\_constraints\_changed](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/title-profile-view-constraints-changed)

### Actualizaciones de CSharpSDK

* [CSharpSDK](https://github.com/PlayFab/CSharpSDK)
  * Se eliminaron algunos archivos de código fuente sin usar en [CSharpSDK](https://github.com/PlayFab/CSharpSDK).
  * Esto no debería afectar a ningún proyecto existente ni al paquete NuGet, ya que la solución de Visual Studio no hacía referencia a esos archivos.

### Actualización de la colección de Postman

* Varios parámetros de solicitud comunes ahora usan variables de entorno.
* En concreto, TitleId=\{\{TitleId}}, PlayFabId=\{\{PlayFabId}}, CharacterId=\{\{CharacterId}} y CatalogVersion=\{\{PrimaryCatalogName}}

## 170424

Fecha: 24 de abril de 2017

### Versión de revisión del SDK

* **Actualizaciones de [JavaSDK](https://github.com/PlayFab/JavaSDK):**
  * Ahora publicamos archivos Jar para el SDK, uno para el código y otro para la documentación de Java, que puede importar en su proyecto de Java en lugar de copiar y pegar el código. Gracias a Will Iverson por ayudarnos a mejorar la facilidad de uso de nuestro [JavaSDK](https://github.com/PlayFab/JavaSDK)
* **Actualizaciones de UnityEditorExtensions:**
  * Resolvimos algunas excepciones durante la instalación. En concreto, ya no es necesario reiniciar Unity después de una primera instalación.
  * Además, se corrigió un problema por el que la Client API a veces se deshabilitaba de forma inadecuada. (editado)
* ~~**Actualizaciones de UnrealCppSdk:**~~ (ACTUALIZADO: este SDK está en desuso. Para el nuevo SDK de Unreal, consulte [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))
* ~~El titleId ahora está disponible desde la interfaz del complemento~~

## 170411

Fecha: 11 de abril de 2017

### Cambios en la API

* Nueva característica Enterprise: más cifrado de inicio de sesión
* Puede usar los métodos de API de directivas para exigir que las llamadas de inicio de sesión requieran una segunda capa de cifrado
* Consulte: [UpdatePolicy](xref:titleid.playfabapi.com.admin.authentication.updatepolicy), en concreto [UpdatePolicyRequest](xref:titleid.playfabapi.com.admin.authentication.updatepolicy#updatepolicyrequest).[Statements](xref:titleid.playfabapi.com.admin.authentication.updatepolicy#permissionstatement).[ApiConditions](xref:titleid.playfabapi.com.admin.authentication.updatepolicy#apicondition)
* Esta característica sigue parcialmente en beta y no se recomienda activarla (todavía; ¡próximamente!)

### Nuevos eventos de PlayStream

* [player\_receipt\_validation](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/Player/player-receipt-validation)

### Cambios específicos de UnitySDK

* Ahora es posible especificar encabezados adicionales que se insertan en una solicitud de API (esto es necesario para las llamadas de inicio de sesión cifradas de la sección anterior).

### Cambios específicos de UnityEditorExtensions

* Se corrigió un problema de compilación con Unity 5.6.

## 170406

Fecha: 6 de abril de 2017

### Revisión para el complemento de notificaciones push de Unity para Android

* Se corrigió un error de bloqueo en Android 7.0+.
* Se corrigió la falta de compatibilidad con el icono grande (Large Icon) en Android (Lollipop+).
* Se corrigió la compatibilidad con el icono pequeño (Small Icon) en Android 7.0+ (ahora admite \_transparent.png).

## 170403

Fecha: 3 de abril de 2017

### Cambios en la API

* **Métodos de marcadores de Client y Server:** los métodos Get-Leaderboard (como client.[GetLeaderboard](xref:titleid.playfabapi.com.client.playerdatamanagement.getleaderboard)) incorporaron anteriormente los nuevos parámetros no anulables Version y UseSpecificVersion. El requisito de que no fueran anulables suponía un cambio importante en la API. Hemos actualizado estas propiedades para que sean totalmente opcionales.
* **Client API:** el campo Items de [GetPurchaseResult](xref:titleid.playfabapi.com.client.playeritemmanagement.getpurchase#getpurchaseresult) está en desuso: esta parte del resultado suele ser incorrecta o estar incompleta. Con el tiempo se reemplazará por un parámetro totalmente funcional.

### Nuevos eventos de PlayStream

* `player_display_name_filtered`

~~**Cambios específicos de Unreal:**~~ (**ACTUALIZADO**: este SDK está en desuso. Para el nuevo SDK de Unreal, consulte [UnrealMarketplaceSDK](https://www.unrealengine.com/marketplace/playfab-SDK))

* ~~UnrealCppSdk: se corrigió un problema por el que la configuración de PlayFab, como TitleId, se perdía al publicar una compilación.
  Ambos SDK se probaron y se comprobó que funcionan con Unreal 4.15~~

### Cambios específicos de JavaSDK

* [JavaSDK](https://github.com/PlayFab/JavaSDK)
  * Se reestructuraron la estructura de carpetas y las pruebas de [JavaSDK](https://github.com/PlayFab/JavaSDK).
  * La estructura interna de carpetas del repositorio cambió un poco para adaptarse a los procedimientos recomendados de Maven.
  * Las dependencias ahora se controlan con Maven y ya no se incluyen con el SDK.
  * Se convirtieron nuestras pruebas automatizadas internas a la línea de comandos de Maven.
  * Nuestro SDK no está disponible en Maven Central, ya que ese esfuerzo se ha estancado. Por el momento no hay una fecha estimada de finalización.

### Cambios específicos de UnitySDK

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * Se actualizó a la 5.6.0 la versión interna de Unity para probar y compilar los asset bundles. Nuestro SDK de Unity sigue siendo compatible con todas las versiones de Unity desde la 4.7 hasta la 5.6.
  * Se corrigió un problema de compilación con `UnityEditorExtensions` en Unity 5.6.

## 170223

Fecha: 22 de febrero de 2017

### Cambios en la API

* Los marcadores de PlayFab ahora almacenan una URL de avatar para cada jugador. Se puede usar para hacer referencia a una imagen del jugador en las entradas de los marcadores.
* Todas las API de marcadores ahora pueden obtener una versión específica del marcador. Esto es para los títulos configurados para usar marcadores que se restablecen (Resetting Leaderboards).
* Las entradas de los marcadores ahora contienen el [PlayerProfile](xref:titleid.playfabapi.com.client.accountmanagement.getplayerprofile#playerprofilemodel), que se puede usar para mostrar marcadores más detallados sin llamadas adicionales a la API
* PlayFab ahora puede autenticar clientes mediante Windows Hello y validar recibos de la Tienda Windows

### Nuevas API

```text theme={null}
- [Client/UpdateAvatarUrl](xref:titleid.playfabapi.com.client.accountmanagement.updateavatarurl)
- `Client/RegisterWithWindowsHello`<!-- [Client/RegisterWithWindowsHello](xref:titleid.playfabapi.com.client.authentication.registerwithwindowshello) -->
- `Client/GetWindowsHelloChallenge`<!-- [Client/GetWindowsHelloChallenge](xref:titleid.playfabapi.com.client.authentication.getwindowshellochallenge) -->
- `Client/LoginWithWindowsHello`<!-- [Client/LoginWithWindowsHello](xref:titleid.playfabapi.com.client.authentication.loginwithwindowshello) -->
- `Client/LinkWindowsHello`<!-- [Client/LinkWindowsHello](xref:titleid.playfabapi.com.client.accountmanagement.linkwindowshello) -->
- `Client/UnlinkWindowsHello`<!-- [Client/UnlinkWindowsHello](xref:titleid.playfabapi.com.client.accountmanagement.unlinkwindowshello) -->
- [Client/ValidateWindowsStoreReceipt](xref:titleid.playfabapi.com.client.platformspecificmethods.validatewindowsstorereceipt)
- [Server/SetFriendTags](xref:titleid.playfabapi.com.server.friendlistmanagement.setfriendtags)
```

### Nuevos eventos de PlayStream

* [player\_changed\_avatar](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/PlayerIdentity/player-changed-avatar)

### Cambios específicos de WindowsSDK

* Se agregaron algunas comprobaciones de null que faltaban en el serializador JSON.

### Todos los SDK

* Adiciones menores al formato de [testTitleData](https://github.com/PlayFab/SDKGenerator/blob/master/JenkinsConsoleUtility/testTitleData.md). Solo se aplica a los proyectos Example-Test que se incluyen con los SDK.

## 170130

Fecha: 29 de enero de 2017

### Cambios importantes

* Se cambió la estructura de carpetas de [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK) y [NodeSDK](https://github.com/PlayFab/NodeSDK) con la versión principal de hoy. Esto puede provocar algunas conexiones rotas en su proyecto al actualizar. (Los nombres y el contenido de los archivos no cambiaron. Ahora existen nuevos archivos de **TypeScript**, que antes no existían).

### Cambios en la API

* Se agregó documentación aclaratoria a las API de CDN. En concreto, se menciona que la CDN no forma parte de nuestro servicio gratuito.
* Correcciones del inicio de sesión de Google (entrada de blog pendiente).

### Nuevos eventos de PlayStream

* `developer_logged_in`
* `developer_registered`
* [studio\_created](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/DeveloperIdentity/studio-created)
* [studio\_user\_added](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/DeveloperIdentity/studio-user-added)
* [studio\_user\_invited](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/DeveloperIdentity/studio-user-invited)
* [studio\_user\_removed](https://learn.microsoft.com/en-us/gaming/playfab/api-references/events/DeveloperIdentity/studio-user-removed)

### Cambios específicos de JavaScriptSDK

* [JavaScriptSDK](https://github.com/PlayFab/JavaScriptSDK)
  * ¡Día de lanzamiento de una actualización importante! El número de versión se actualizó a 1.0.
  * ¡Integración con TypeScript!
  * Limpieza del repositorio: separación de los archivos del SDK de los archivos de ejemplo.
  * Se convirtió nuestro proyecto de ejemplo a TypeScript.
  * ¡Consulte [nuestro blog](https://blog.playfab.com/blog/typescript/)!

### Cambios específicos de NodeSDK

* [NodeSDK](https://github.com/PlayFab/NodeSDK)
  * ¡Día de lanzamiento de una actualización importante! El número de versión se actualizó a 1.0
  * ¡Integración con TypeScript!
  * Se convirtió nuestro proyecto de ejemplo a TypeScript
  * ¡Consulte [nuestro blog](https://blog.playfab.com/blog/typescript/)!

### Ejemplos de CloudScript

* Lanzamiento de un nuevo repositorio de ejemplos.
* ¡Integración con TypeScript!
* ¡Consulte [nuestro blog](https://blog.playfab.com/blog/typescript/)!
* ¡Y el [nuevo repositorio](https://github.com/PlayFab/SdkTestingCloudScript)!
* Ampliaremos este repositorio con el tiempo.

### Cambios específicos de UnitySDK

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * Se corrigió un problema por el que **JsonWrapper** no funcionaba según lo esperado en todos los casos.
  * Consulte nuestra publicación del foro para obtener más detalles: [https://community.playfab.com/questions/7599/cloudscript-getplayercombinedinfo-little-problem.html](https://community.playfab.com/questions/7599/cloudscript-getplayercombinedinfo-little-problem.html)
  * Se quitaron todas las siguientes clases contenedoras en desuso en favor de `PlayFab.Json.JsonWrapper`:
    * `PlayFab.Json.JsonConvert` (use `PlayFab.Json.JsonWrapper`)
    * `PlayFab.Json.SimpleJson` (use `PlayFab.Json.JsonWrapper` o `PlayFab.Json.PlayFabSimpleJson`)
    * `PlayFab.SimpleJson` (use `PlayFab.Json.JsonWrapper` o `PlayFab.Json.PlayFabSimpleJson`)
  * Repetimos una nota de [160627](https://learn.microsoft.com/en-us/gaming/playfab/release-notes/2016#160627): `UnityEngine.SimpleJson` es un espacio de nombres vacío en `UnityEngine.dll`, por lo que es necesario que no usemos ese identificador.

### Unity Editor Extensions

* Se resolvió un problema por el que el panel de PlayFab se recargaba indefinidamente si su cuenta no podía ver ningún estudio.
* Se resolvió un problema por el que `PlayFabSharedSettings` (Scriptable Object) no se guardaba correctamente si elegía el título desde el panel de PlayFab.

## 170109

Fecha: 8 de enero de 2017

### Cambios importantes

* Se quitaron las bibliotecas de las versiones anteriores de WindowsSDK y deben volver a crearse en Visual Studio. Esas bibliotecas nunca funcionaron en vs2015, por lo que se recomienda encarecidamente actualizar al WindowsSDK más reciente, publicado la semana pasada.

### Cambios en la API

* Se corrigieron errores tipográficos en la documentación.

### Todos los SDK

* [Nuevas guías de introducción](../index.yml)

### Cambios específicos de SDKGenerator

* [SDKGenerator](https://github.com/PlayFab/SDKGenerator)
  * El script de compilación de [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK) no era coherente con el de los demás SDK. Simplificamos los comandos de [SDKGenerator](https://github.com/PlayFab/SDKGenerator) que compilan [ActionScriptSDK](https://github.com/PlayFab/ActionScriptSDK) para que coincidan con los de otros SDK. (Sin cambios en el propio SDK).

### Cambios específicos de UnitySdk

* [UnitySdk](https://github.com/PlayFab/UnitySDK)
  * Algunos elementos públicos de PlayFabSettings incorporaron etiquetas Obsolete: `PlayFabSettings.PlayFabSharedSettings` `PlayFabSettings.DefaultPlayFabApiUrl` `PlayFabSettings.GetSharedSettingsObject()` `PlayFabSettings.ProductionEnvironmentUrl`

Se convertirán en privados tras un período de transición.

### Cambios específicos de WindowsSDK

* Se aplicó BFG al repositorio de GitHub y se quitaron todos los archivos grandes del historial. Elimine su clon o bifurcación y vuelva a crearlo para que su historial esté limpio.

## 170102

Fecha: 1 de enero de 2017

### Cambios en la API

* `Client/GetUserCombinedInfo` pasó a estar completamente obsoleto y lo quitamos del SDK y de la documentación.

### Cambios específicos de Cocos2d-xSDK

* [Cocos2d-xSDK](https://github.com/PlayFab/Cocos2d-xSDK)
  * Se corrigió un bloqueo cuando una API de PlayFab devuelve una respuesta no válida.
  * Se resolvieron algunas advertencias del compilador.
  * Se agregaron pruebas unitarias para las funciones de devolución de llamada lambda en nuestro proyecto de ejemplo de pruebas.

### Cambios específicos de UnitySDK

* [UnitySDK](https://github.com/PlayFab/UnitySDK)
  * Actualizamos internamente a Unity 5.5, y nuestros archivos **.unitypackage** se compilan con esta versión

  * Como siempre, seguimos admitiendo *todas las versiones de Unity 4.7 y posteriores*.

  * Se agregaron constructores estáticos a muchas clases estáticas para consolidar la secuencia de inicialización en el compilador **Mono2x**. Esto debería resolver algunos de los problemas de `PlayFabSharedSettings` que hemos visto en iOS.

  * **IDFA/ADID** ahora funcionará correctamente con Unity 5.6 beta.

  * **PROBLEMA CONOCIDO:** las compilaciones de Unity 5.6 beta no funcionan en **Windows Server** (**OS**), lo que incluye el hospedaje de servidores de juegos de PlayFab. Póngase en contacto con Unity si esto le afecta.

### Cambios específicos de WindowsSDK

* ¡Día de lanzamiento de una actualización importante!
* Entrada de blog: [Windows SDK Update Released](https://api.playfab.com/blog/windows-SDK-update-released)
* Guía de actualización: [PlayFab WindowsSdk v0.x -> v1.x Upgrade guide](https://github.com/PlayFab/WindowsSdk/blob/master/UpgradeGuide.md)


## Related topics

- [Notas de la versión de PlayFab 2017](https://docs.xbox.com/es/services/playfab/release-notes/2017.md)
- [Notas de la versión de PlayFab de 2018](https://docs.xbox.com/es/announcements/playfab/2018.md)
