Personalización del catálogo de artículos
Este tutorial muestra cómo:
- personalizar el catálogo usando atributos creados en su lado (para socios que utilizan el Token de acceso a Pay Station para autorizar a los usuarios)
- especificar las reglas de validación de atributos en el esquema JSON y agregar atributos al usuario en el lado de Xsolla (para los socios que utilizan Xsolla Login para autorizar a los usuarios)
- crear una regla de visualización del catálogo
- obtener el catálogo de artículos para un usuario con diferentes valores de atributos
Requisitos previos
Antes de comenzar, asegúrese de que:
- Ha creado un catálogo de artículos internos del juego o claves del juego, para los que se establecerá la personalización.
- Ha explorado la sección User attributes (Atributos de usuario) para los socios que utilizan Xsolla Login para autorizar a los usuarios).
- Ha añadido usuarios en la configuración de su proyecto de Login en la sección User database > Users, para los que puede agregar atributos (para socios que utilizan Xsolla Login para autorizar usuarios).
Personalización mediante el Token de acceso a Pay Station para autorizar a los usuarios
Si utiliza un Token de acceso a Pay Station para autorizar a los usuarios, puede transmitir attributes (atributos) al obtener el token. En este caso, haga lo siguiente para establecer la personalización:
- Crear atributos en su sistema.
- Agregar atributos a los usuarios en su sistema.
- Implementar la lógica de actualización de los valores de atributo cuando cambian para un usuario en el juego.
- Crear una regla de visualización de catálogo con sus atributos.
- Transmitir los atributos cuando obtenga el Token de acceso a Pay Station.
- Utilice el token recibido en los métodos para solicitar el catálogo de artículos.
Personalización a través de Xsolla Login para autorizar a los usuarios
Si emplea Xsolla Login para autorizar a los usuarios, tiene que:
- Crear un esquema JSON para los atributos de usuario en el lado de Xsolla y especificar los atributos dentro de ese esquema (opcional).
- crear un esquema JSON para los atributos de usuario y transmitir solamente los atributos especificados en este esquema JSON. Para ello, en el esquema JSON, especifique
false
en el objetoadditionalProperties
. Los atributos especificados se validan automáticamente. - Cree un esquema JSON para los atributos de usuario y transmita los atributos especificados en el esquema JSON y, también, los atributos adicionales no mencionados en el esquema JSON. Para ello, en el esquema JSON, especifique
true
en el objetoadditionalProperties
. Los atributos especificados en el esquema JSON se validan automáticamente. - No cree un esquema JSON para los atributos de usuario. En este caso, puede transmitir cualquier atributo y no se ejecuta la validación de atributos.
properties
para asegurar que las claves y los valores de los atributos se validen automáticamente.- Agregue atributos a los usuarios y actualice los valores de los atributos mediante Login API.
- Cree reglas de visualización del catálogo con los atributos creados.
- Implemente la obtención del JWT de un usuario. Puede encontrar una lista de métodos para obtener un JWT en este ejemplo.
- Use el token recibido en los métodos para solicitar el catálogo de artículos.
Hay varias formas de agregar atributos a un usuario:
- Use los métodos de actualización de atributos:
- Use estos métodos para agregar atributos a un usuario y actualizar los valores de atributo. Para personalizar el catálogo, se deben mantener actualizados los valores del atributo: actualice los valores de atributo en Xsolla cuando cambien para el usuario en el juego.
- Ejemplo: Un usuario alcanza un nuevo nivel, termina una misión o realiza una compra.
- Puede actualizar los valores de un solo atributo y de varios atributos de forma simultánea. La excepción son los atributos especificados como requeridos en el esquema JSON: si no se especifican los valores de atributo requeridos, no podrá llamar a los métodos API de actualización de atributos.
- Le recomendamos que aplique el método Actualizar atributos de solo lectura del usuario desde el servidor para trabajar con atributos de usuario. Con este método podrá crear atributos cuyos valores no pueden ser modificados por el usuario.
- Si utiliza Web Shop con autenticación mediante ID de usuario, puede transmitir los valores actualizados de los atributos en un webhook tras la autorización del usuario.
- Transmita directamente los valores actualizados de atributo al autorizar al usuario si utiliza el método Auth by custom ID. En este método, puede transmitir una matriz con los valores actuales de los atributos del usuario.
“attr_type”: “server”
y “read_only”: “true”
.Ejemplo de establecimiento de la personalización
Este ejemplo muestra cómo establecer la personalización del catálogo: el artículo Paquete de cristales mediano solo se muestra a los usuarios que han comprado el juego MyTestGame.
Crear el esquema de atributos
Agregue un esquema JSON con los atributos correspondientes al nombre del juego y al número total de compras. Para ello, especifique en el esquema lo siguiente:- Atributo
“game”
con el tipo“string”
: el nombre del juego que compra el usuario. El atributo“game”
está definido como obligatorio. No podrá llamar a los métodos de actualización de atributos si no transmite el atributo“game”
. Atributo
“purchase_number”
con el tipo“integer”
: número de compras del usuario.
- json
{
"$schema": "https://json-schema.org/draft/2020-12/schema",
"title": "Example",
"description": "JSON Schema description.",
"properties": {
"game": {
"description": "Name of the game played by a user.",
"type": "string"
},
"purchase_number": {
"description": "The number of purchases the user made.",
"type": "integer"
}
},
"additionalProperties": false,
"required": [
"game"
],
"type": "object"
}
Agregar atributos a un usuario
Agregue atributos a un usuario desde la base de datos de usuarios usando el método Update user’s read-only attributes from server (Actualizar atributos del usuario de solo lectura desde el servidor).
En el método Update user’s read-only attributes from the server debe especificar:
- Token de servidor.
- Valores de atributo de usuario.
user_id
: el identificador de usuario especificado en la configuración de su proyecto de Login en la Cuenta del editor, en la sección User database > Users.publisher_id
: ID de comerciante especificado:- En la sección Company settings > Company.
- En la URL de la barra de direcciones del navegador de cualquier página de Cuenta del editor. La URL tiene el siguiente formato:
https://publisher.xsolla.com/<merchant ID>/<Publisher Account section>
.
publisher_project_id
: ID del proyecto que puede encontrar en su Cuenta del editor junto al nombre del proyecto.
Los nombres de los parámetros de los métodos API pueden variar en función de los diferentes productos:
- project_id: ID del proyecto cuando funcione con la API IGS API.
- publisher_project_id: ID del proyecto en Cuenta del editor cuando funcione con la API Login API.
- projectId: ID del proyecto de Login en Cuenta del editor cuando funcione con la API Login API.
Obtenga previamente el token de servidor usando el método Generate JWT.
Después, proceda a usar el método Update user’s read-only attributes from the server (Actualizar los atributos de solo lectura del usuario desde el servidor).
El cuerpo de la solicitud con una matriz de
- json
{
"attributes": [
{
"key": "game",
"permission": "private",
"value": "MyTestGame"
},
{
"key": "purchase_number",
"permission": "private",
"value": "30"
}
],
"publisher_id": 000000,
"publisher_project_id": 000000
}
A raíz de la ejecución de la solicitud, el usuario que no tiene ningún atributo, ahora tiene atributos con los valores especificados:
Creación de una regla de visualización de catálogos
Establezca una regla para mostrar el artículo Paquete de cristales mediano solo a los usuarios que hayan comprado el juego MyTestGame.
Para ello:
- En Cuenta del editor, vaya a Store > Catalog management > Catalog display rules.
- Haga clic en Create rule y rellene los campos obligatorios:
- clave del atributo en el campo User attribute -
game
- tipo -
string
- operador de comparación -
equal to
- valor -
MyTestGame
- clave del atributo en el campo User attribute -
- Especifique el artículo que debe mostrarse si se cumple la condición. En el siguiente ejemplo, se muestra el Paquete de cristales mediano para los usuarios que poseen el juego MyTestGame.
- Verifiquee la regla, actívela y guárdela.
Obtener el token
Obtener el JWT de Xsolla Login.
Obtenga un token para un usuario al que haya añadido el atributo delgame
con el valor MyTestGame
.Puede obtener el JWT de Xsolla Login después de una autorización satisfactoria del usuario en el lado del cliente o del servidor sin la participación del usuario. Para ello, utilice uno de los siguientes métodos de autorización de Xsolla Login:
- Autenticación mediante nombre de usuario y contraseña
- Autenticación mediante proveedor de red social
- Autenticación sin contraseña vía correo electrónico
- Autenticación sin contraseña vía número de teléfono
- Autenticación mediante ID de dispositivo
- Autenticación mediante ID personalizado
- y otros métodos para obtener el token de usuario del grupo de métodos JWT o OAuth 2.0
Obtener Token de acceso a Pay Station
Consiga el Token de acceso a Pay Station con el atributo requerido. Para ello, debe transmitir “game”: “MyTestGame”
en el objeto
Ejemplo de cuerpo de solicitud:
- json
{
"settings": {
"currency": "USD",
"language": "en",
"project_id": 000001,
"ui": {
"size": "medium"
}
},
"user": {
"email": {
"value": "email@example.com"
},
"id": {
"value": "user_2"
},
"name": {
"value": "John Smith"
},
"attributes": {
"game": "MyTestGame"
}
}
}
Obtención del catálogo de artículos
Para obtener el catálogo de artículos, llame al método Obtener lista de artículos virtuales, usando el JWT de usuario de Xsolla Login o el token de acceso a Pay Station para implementar la autorización.Obtención del catálogo de artículos mediante el JWT de Xsolla Login
Obtenga el catálogo usando el token del usuario al que añadió el atributo del game
con el valor MyTestGame
. Para ello, especifique lo siguiente en el método Obtener lista de artículos virtuales:
- el JWT de usuario obtenido en el encabezado de la autorización
- el ID del proyecto en la Cuenta del editor como parámetro de ruta
La respuesta incluye tres artículos:
- Clave del Imperio
- Paquete de cristales pequeño
- Paquete de cristales mediano, para los cuales la regla de personalización no está configurada
Puede probar la respuesta al obtener el catálogo de artículos si el valor del atributo no coincide con el especificado en la regla. Para las pruebas, puede transmitir los atributos directamente al obtener el token usando el método Auth by custom ID.
game
con el valor OtherGame
en la matriz de - json
"attributes": [
{
"attr_type": "server",
"key": "game",
"permission": "private",
"value": "OtherGame",
"read_only": true
},
{
"attr_type": "server",
"key": "purchase_number",
"permission": "private",
"value": "30",
"read_only": true
}
]
El método Obtener lista de artículos virtuales con el token obtenido devuelve dos artículos: Clave del Imperio y Paquete de cristales pequeño. El Paquete de cristales mediano, al que se le ha aplicado una regla de personalización, no se incluye en la respuesta.
Para hacer una comparación, transmita ahora el atributo del game
con el valor MyTestGame
.
Esta es la matriz de MyTestGame
:
- json
"attributes": [
{
"attr_type": "server",
"key": "game",
"permission": "private",
"value": "MyTestGame",
"read_only": true
},
{
"attr_type": "server",
"key": "purchase_number",
"permission": "private",
"value": "30",
"read_only": true
}
]
Especifique el token obtenido cuando solicite el catálogo de artículos en el método Obtener lista de artículos virtuales.
Como consecuencia, el Paquete de cristales mediano se incluye en la respuesta:
Obtener el catálogo de artículos mediante el Token de acceso a Pay Station
Para obtener el catálogo de artículos personalizados, debe especificar lo siguiente en el método Obtener lista de artículos virtuales:
- el Token de acceso a Pay Station obtenido en el encabezado de la autorización
- el ID del proyecto en Cuenta del editor como parámetro de ruta
La respuesta incluye tres artículos:
- Clave del Imperio
- Paquete de cristales pequeño
- Paquete de cristales mediano, para los cuales la regla de personalización no está configurada
Puede probar la respuesta cuando obtenga el catálogo de artículos si el usuario no tiene el atributo de game
con el valor MyTestGame
.
Cuando reciba el Token de acceso a Pay Station, elimine el objeto
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.