Skip to main content

Tiendas y ventas (Economy heredado)

Las API de Economy v1 están en modo de mantenimiento y no recibirán nuevas características, solo correcciones de errores. Las API v1 se mantendrán en el futuro previsible. Consulte la información general de Economy v2 para obtener más información sobre la próxima versión de PlayFab Economy.
En PlayFab, las tiendas se basan en catálogos y monedas. Su catálogo principal debería definir todos los elementos de su juego y asignarles precios en las monedas que haya creado. Las tiendas deberían definir subconjuntos de los elementos de su catálogo y ponerlos a la venta a precios específicos que pueden ser diferentes de los precios del catálogo. Una tienda le permite destacar un conjunto específico de elementos y ponerlos a disposición a precios específicos durante un período de tiempo determinado. Este tutorial ilustra los procedimientos recomendados para definir tiendas basadas en moneda virtual y dinero real.

Requisitos

  • Familiaridad con el Game Manager de PlayFab.
  • Debe haber definido una o varias monedas virtuales. El último ejemplo de este tutorial usa:
    • SP (Silver Pieces)
    • GP (Gold Pieces).
  • Debe tener un catálogo principal con uno o varios elementos definidos.
    • El primer ejemplo usa varios elementos o lotes, similares a los descritos en el tutorial de tablas de botín.
    • El segundo ejemplo de este tutorial usa pociones de salud pequeñas, medianas y grandes.

Procedimientos recomendados

Los precios del catálogo deberían ser fijos a largo plazo: definen el precio real de un elemento. Las tiendas deberían ser temporales, agregándose y quitándose según sus estrategias de LiveOps.
Espere obtener la mayor parte de sus ingresos rotando tiendas y moviendo elementos dentro y fuera de las tiendas activas.
  • Precios: los precios definidos en el catálogo deberían definirse como el precio normal de un elemento. Las tiendas le permiten definir un precio de oferta temporal para un elemento, utilizando la táctica minorista habitual. De forma alternativa, las tiendas pueden proporcionar un precio temporal para un elemento que normalmente no está disponible para la venta.
  • Costo cero: si el costo de un elemento en una moneda concreta no está establecido (null) o es cero, no se puede comprar con esa moneda, tanto en catálogos como en tiendas. El costo cero le permite hacer que los elementos estén disponibles exclusivamente para monedas gratuitas, o exclusivamente para monedas premium, dejando en blanco las entradas de las demás monedas o restableciéndolas a cero.
  • Dinero real: la moneda RM está disponible en todos los catálogos y tiendas. RM es una clave de moneda restringida que indica solo transacciones con dinero real. Solo debería cobrar RM por elementos de valor significativo, o por lotes/contenedores con moneda premium.
  • Los precios son excluyentes: si se definen dos precios en un elemento, el elemento se puede comprar por uno u otro. No es posible exigir dos monedas para un único elemento.

Definición de una tienda con dinero real

En su Game Manager:
  • Vaya a su título.
  • Seleccione Economy en el menú de la izquierda.
  • En la pestaña Catalogs, seleccione su catálogo principal y seleccione Stores.
  • Seleccione el botón New Store.
En el ejemplo de las tablas de botín, creamos un lote de botín de 11 elementos. Para este ejemplo, pondremos a disposición tres lotes similares en una tienda con dinero real.
Cualquier elemento puede venderse por dinero real, pero un procedimiento recomendado es que solo estén disponibles directamente elementos o lotes valiosos específicos.
La captura de pantalla siguiente muestra una nueva tienda completa, que contiene tres lotes de elementos disponibles por dinero real. Los detalles para completar compras con dinero real se tratan en nuestro tutorial avanzado, procesamiento de pagos sin recibo.

Procedimientos recomendados para tiendas con dinero real

La forma de usar el dinero real depende en gran medida del diseño específico de su juego. La compra directa de elementos del juego es válida, pero menos habitual. Lo más habitual es que su juego permita comprar una moneda virtual premium con dinero real. Puede rotar varias tiendas con diferentes proporciones de moneda premium a dinero real.
La conclusión principal es: asegúrese de que sus jugadores puedan darle dinero siempre.

Definición de una tienda con moneda virtual

Entremos en los detalles concretos y el código para comprar elementos del juego con moneda virtual. Los pasos iniciales son casi idénticos a los del ejemplo anterior:
  1. Cree tres elementos nuevos: pociones de salud pequeña, mediana y grande con un precio en moneda gratuita y un precio en moneda premium.
  2. Cree una tienda nueva con los elementos en venta.

Compra de varios elementos en una sola compra

Para comprar un único elemento con moneda virtual, use el método PurchaseItem, como se describe en nuestro inicio rápido de tiendas. Este tutorial cubre la compra de varios elementos en una sola compra. Su primer paso en este proceso debería ser obtener la tienda y mostrarla al usuario.
La devolución de llamada LogSuccess de este ejemplo recibe un GetStoreItemsResult que contiene una descripción completa de todos los elementos de la tienda, sus precios de tienda y cualquier metadato contenido en la propia tienda.

Procedimientos recomendados para mostrar tiendas

Los juegos con tiendas deberían llamar a su catálogo principal y almacenarlo en caché mediante el método GetCatalogItems. Puede mostrar tanto el precio del catálogo como el precio de la tienda, junto con un 10 % de DESCUENTO o una decoración de bonificación similar junto a los elementos en venta.
Es más probable que los jugadores compren elementos en oferta, especialmente si la oferta es por tiempo limitado.
En este punto, es responsabilidad de su código de interfaz gráfica presentar al usuario la oportunidad de seleccionar qué elementos desea comprar y cuántos.
  • Entre su juego y PlayFab, los pasos restantes son varias llamadas de API independientes, pero puede hacer que la secuencia de varias llamadas sea invisible para el jugador.
  • Recopile toda la información sobre la compra por adelantado y realice la secuencia completa de llamadas después de recopilar todas las entradas del jugador.
Durante el proceso de selección de elementos, debe permitir que el usuario seleccione qué moneda desea gastar en estos elementos. En este ejemplo, todos los elementos tienen costos en SP y GP, lo que significa que el usuario puede elegir qué moneda gastar.
El resultado de la API StartPurchase del ejemplo de código anterior contiene una lista de PaymentOptions. Cada opción de pago contiene la Currency, el Price y el ProviderName que se pueden usar para realizar la compra.

Restricciones

Solo se permite una moneda virtual en una sola compra. Todos los elementos seleccionados deben poder comprarse con una única moneda. La moneda debe especificarse en la llamada, lo que es importante cuando hay varias monedas posibles. La secuencia fallará si hay elementos en la solicitud sin los costos correspondientes en la moneda seleccionada. El ProviderName también debe especificarse en la llamada. Para las compras con dinero real, el nombre del proveedor es quien se usa para financiar la compra, como Facebook, PayPal o Steam. Para las compras con moneda virtual, será una cadena basada en el identificador de su título. El ProviderName puede obtenerse del campo PaymentOptions del StartPurchaseResult, tal como se describe en la nota anterior.
Para las compras con moneda virtual, el ProviderName de su título es una cadena construida a partir de la palabra “Title” concatenada con el equivalente decimal de su TitleId hexadecimal. Por ejemplo, “Title123456”.

Procedimientos recomendados para mostrar los elementos de la tienda

Evite confundir a su jugador asegurándose de que todos los elementos de una tienda tengan opciones coherentes. Los elementos de dinero real deberían estar en una tienda separada de los elementos de moneda virtual premium, y a su vez separados de los elementos de moneda virtual gratuita. Si una única tienda permite varias monedas, entonces todos los elementos de esa tienda deberían usar de forma coherente el mismo conjunto de monedas. Cree tantas tiendas como necesite para ofrecer una experiencia de cliente fluida.
Por último, una vez que la compra esté completamente definida, puede completar el proceso, como se muestra a continuación.

Procedimientos recomendados para gestionar los resultados de error de la API

Cualquier llamada de API individual puede fallar por muchas razones. Los dispositivos inalámbricos, como los teléfonos, a menudo pueden tener conectividad intermitente, y cualquier llamada por Internet puede fallar debido a una latencia aleatoria. Cada llamada debería comprobar varias condiciones de error. Debería anular la operación si la respuesta muestra que la solicitud no es válida (por ejemplo, no se pueden comprar varios elementos con una única moneda). Podría haber problemas con el diseño de su tienda. Si la respuesta indica un error de conectividad, puede volver a intentarlo con un retraso de retirada exponencial.

Conclusión

Las tiendas son un gran mecanismo para animar a sus jugadores a comprar elementos. Las tiendas funcionan con cualquier tipo de moneda virtual. Las tiendas también pueden funcionar con dinero real a través de un conjunto alternativo de métodos de API. Para obtener más información sobre las compras con dinero real, consulte Procesamiento de pagos sin recibo. Para un uso avanzado de las tiendas, consulte el tutorial Tiendas personalizadas para segmentos de jugadores.
Última modificación el 28 de agosto de 2026