Artículos virtuales
Cómo funciona
Los artículos virtuales son contenido interno del juego que puede vender a cambio de moneda real y virtual.
Características principales:
- Establecer precios en moneda real y virtual.
- Configurar catálogos con varios niveles.
- Determinar automáticamente la moneda y el país del usuario.
- Limitar el número de artículos disponibles para la compra.
- Limitar el tiempo de visualización de los artículos en la tienda.
- Artículos gratuitos.
Características de la configuración de fijación de precios:
- Un artículo puede tener el precio tanto en moneda real como virtual.
- Puede establecer los precios en varias monedas reales o virtuales. Asegúrese de seleccionar una moneda por defecto en este caso.
- Puede crear un artículo sin especificar su precio en moneda real o virtual. Si dicho artículo se muestra en la tienda, estará disponible para los usuarios de forma gratuita.
Restricciones de configuración de fijación de precios:
- No puede crear un artículo con un valor de precio igual a cero.
Existen 3 tipos de artículos virtuales:
Artículos virtuales consumibles
Un artículo consumible es un artículo del inventario que se se puede tener en grandes cantidades y comprar varias veces. Su cantidad disminuye cuando los usuarios lo consumen.
Características principales:
- Reponer las existencias de artículos en el inventario.
- Almacenar muchas instancias del mismo artículo en el inventario del usuario.
- Puede consumirse desde el lado del cliente.
Por ejemplo: Granadas, balas, etc.
Artículos virtuales no consumibles
Un artículo no consumible es un artículo del inventario que puede acumularse o comprarse una sola vez.
Características principales:
- Los usuarios solo pueden tener una unidad de este artículo en el inventario.
- No se puede retirar del inventario al ser consumido en el lado del cliente. Solo se puede retirar mediante un método del servidor.
Ejemplo: Acceso a una ubicación, estado, aspectos estéticos,
Artículos de duración limitada
Un artículo de duración limitada es una compra única. El usuario tiene que volver a comprarlo cuando expira.
Características principales:
- Se vuelve inactivo cuando expira.
- El usuario vuelve a comprar esta suscripción para activarlo.
Ejemplo:
Para conocer más detalles, consulte la receta artículos de duración limitada.
Limitar el número de artículos disponibles para la compra
Puede limitar la compra de artículos. Por ejemplo, puede limitar:
- el número de artículos por usuario
- artículos de bienvenida que solo están disponibles para la compra una vez
Si el usuario ha alcanzado el límite especificado, el artículo no se mostrará en el catálogo.
Puede mostrar el número máximo disponible de artículos y el número restante de artículos que está disponible para el usuario.
Para establecer un límite de compra al crear un artículo en Cuenta del editor, establezca el conmutador Limit number of times one user can buy this item en la posición On y especifique el número de veces que se puede comprar el artículo.
Puede utilizar los métodos de la subsección Catálogo del grupo de métodos Artículos virtuales y moneda para obtener información sobre los artículos.
En la respuesta, recibirá la siguiente información además de la información sobre el artículo virtual:
- el número máximo de artículos que un usuario puede comprar
- el número restante de artículos disponibles que el usuario puede comprar
Puede obtener más información sobre cómo establecer o actualizar las restricciones en las instrucciones de Límites para el usuario.
Para los usuarios no autorizados, siempre se muestra el número máximo de artículos que pueden comprar. Para mostrar al usuario el número restante de artículos (sujeto al límite actual), transmita los datos de autorización del usuario cuando solicite el catálogo de artículos empleando los métodos de la subsección Catálogo del grupo de métodos Artículos virtuales y moneda virtual.
Para visualizar correctamente el número de artículos que están disponibles para el usuario, es necesario configurar la autenticación.
- json
{
"items": [
{
"sku": "big_rocket",
"name": "Big Rocket",
"groups": [
{
"external_id": "accessory",
"name": "Accessory"
}
],
"attributes": [
{
"external_id": "stack_size",
"name": "Stack size",
"values": [
{
"external_id": "size_e3364991f92e751689a68b96598a5a5a84010b85",
"value": "5"
}
]
}
],
"type": "virtual_good",
"description": "Big Rocket - description",
"image_url": "https://popmedia.blob.core.windows.net/popyourself/male/outfit/male_armor_white_a-01.png",
"is_free": false,
"price": {
"amount": "100.99",
"amount_without_discount": "100.99",
"currency": "USD"
},
"virtual_prices": [
{
"amount": 100,
"sku": "vc_test",
"is_default": true,
"amount_without_discount": 100,
"image_url": "http://image.png",
"name": "SHOTGUN FOR TRUE RAIDERS",
"type": "virtual_currency",
"description": "description"
}
],
"can_be_bought": true,
"inventory_options": {
"consumable": {
"usages_count": 1
},
"expiration_period": {
"type": "day",
"value": 1
}
},
"virtual_item_type": "non_renewing_subscription",
"limits": {
"per_user": {
"total": 5,
"available": 5
},
"per_item": null
},
}
Xsolla garantiza que no se superen los límites e impide que los usuarios adquieran más artículos que los que establece el límite.
Al abrir la interfaz de pago y abonar un artículo, todos los pedidos pendientes de pago con este artículo quedan anulados.
Ejemplo: el usuario puede abrir el formulario de pago de un artículo con restricción de compra en varias pestañas del navegador hasta que el artículo haya sido adquirido. Esto origina automáticamente la creación de varios pedidos para el mismo artículo. Después de comprar un artículo en una pestaña, Xsolla anulará todos los pedidos no abonados con el mismo artículo.
Limitar el tiempo de visualización de los artículos en la tienda
Puede establecer el periodo de visualización de un artículo en la tienda en:- mantener la relevancia del catálogo en un momento determinado, por ejemplo, durante la temporada de ventas navideñas
- crear un artículo por adelantado sin mostrarlo en el catálogo
- estimular a los usuarios para que compren artículos mostrando un temporizador junto al artículo
periods[0].date_from
con la fecha y la hora del inicio del periodo de visualización del artículo en formatoYYYY-MM-DDThh:mm:ss±TMZ
, en el cualTMZ
es el indicador de zona horaria en formato GMThh:mm
.periods[0].date_until
con la fecha y hora del final del periodo de visualización del artículo en formatoYYYY-MM-DDThh:mm:ss±TMZ
, en el cualTMZ
es el indicador de zona horaria en formatohh:mm
GMT. Para no indicar el final del periodo de visualización de un artículo, transmitanull
.
Puede establecer múltiples periodos para mostrar un artículo en la tienda. Para ello, en el método Crear artículo virtual o Actualizar artículo virtual, transmita una matriz de objetos con las fechas de inicio y fin de todos los periodos.
Ejemplo:
"periods": [
{
"date_from": "2022-06-10T14:00:00+03:00",
"date_until": "2022-06-30T14:00:00+03:00"
},
{
"date_from": "2022-07-10T14:00:00+03:00",
"date_until": "2022-07-30T14:00:00+03:00"
},
{
"date_from": "2022-08-10T14:00:00+03:00",
"date_until": "2022-08-30T14:00:00+03:00"
}
]
¿Quién puede utilizarlo?
- Socios que deseen establecer una economía o monetización del juego añadiendo moneda virtual al juego y vendiendo artículos virtuales a cambio de esta moneda.
- Para socios que hayan integrado In-Game Store y deseen establecer un nuevo tipo de producto: artículos virtuales.
Cómo conseguirlo
Flujo de integración
- Configurar artículos virtuales y grupos de artículos virtuales.
- Configurar restricciones regionales y precios regionales.
Configurar artículos virtuales y grupos de artículos virtuales
Para establecer artículos virtuales, hay que configurar grupos de artículos virtuales. Los grupos permiten tener un catálogo multinivel. Los artículos que no tienen un grupo especificado se añaden al grupo
Para establecer artículos virtuales y grupos de artículos virtuales, puede:
Configuración mediante Cuenta del editor
Configuración mediante llamadas API
Utilice las llamadas API de la subsecciónLa autorización básica se utiliza para las llamadas a la API. Introduzca la Authorization:Basic <your_authorization_basic_key>
, en la cual <your_authorization_basic_key>
es el merchant ID:API key codificado según el estándar Base64. Vaya a Cuenta del editor para encontrar estos parámetros:
- Merchant ID se muestra:
- 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>
.
- Clave de API se muestra en la Cuenta del editor solo una vez cuando se crea y debe almacenarse en su servidor. Puede crear una nueva clave en la siguiente sección:
- Company settings > API keys
- Project settings > API keys
Para obtener más información sobre cómo trabajar con claves API, consulte la Referencia de la API.
Recomendaciones clave:
- Guarde la clave de API generada en su servidor. Puede ver la clave de API en la Cuenta del editor solo una vez cuando se crea.
- Mantenga su clave de API en secreto. Proporciona acceso a su cuenta personal y a sus proyectos en Cuenta del editor.
- La clave de API debe almacenarse en su servidor y nunca en archivos binarios o en el front-end.
Si una llamada API que necesita no contiene el parámetro de ruta project_id
, use la clave de API que sea válida en todos los proyectos de la empresa para establecer la autorización.
Utilice las llamadas API de la subsección
Utilice la llamada API external_id
a la llamada
Configurar restricciones regionales y precios regionales
Para establecer restricciones regionales para los artículos virtuales, transmita una matriz de objetos con los identificadores de las regiones en las que el artículo estará disponible a las llamadas- http
"regions": [{
“id”: “123”
}, {
“id”: “456”
}
]
Para establecer precios regionales para artículos virtuales, transmita una matriz de objetos con la configuración de precios regionales a las llamadas API
- http
"regional_prices": [{
“region_id”: “123”,
“country_iso”: “CHN”,
“amount”: 40,
“currency_iso”: “CNY”,
“is_default”: true,
“is_enabled”: true
}
]
¿Has encontrado una errata u otro error de texto? Selecciona el texto y pulsa Ctrl+Intro.