Personalização de catálogo de itens

Esse tutorial mostra como:

  • personalizar o catálogo usando atributos criados do seu lado (para parceiros que usam o Pay Station Access Token para autorizar os usuários)
  • especificar as regras de validação de usuário em um JSON schema e adicionar atributos ao usuário no lado Xsolla (para parceiros que usam o Xsolla Login para autorizar usuários)
  • criar regra de exibição de catálogo
  • obter o catálogo de itens para um usuário com valores de atributos diferentes
Observação
Esse tutorial não cobre a configuração de promoções personalizadas. Você pode configurar promoções especializadas da mesma maneira que a personalização de catálogos de itens ao usar o Xsolla Login para autorizar os usuários.

Pré-requisitos

Antes de começar, certifique-se de que:

  • Você criou um catálogo de itens de jogo ou chaves de jogo, para o qual a personalização será configurada.
  • Você explorou a seção User attributes (para parceiros que usam o Xsolla Login para autorizar os usuários).
  • Você adicionou usuários nas configurações do seu projeto Login na seção User database > Users, para os quais você pode adicionar atributos (para parceiros que usam o Xsolla Login para autorizar usuários).

Personalização usando Pay Station Access Token para autorizar usuários

Se você usa um Pay Station Access Token para autorizar usuários, você pode passar atributos ao obter o token. Nesse caso, faça o seguinte para configurar a personalização:

  1. Crie atributos no seu sistema.
  2. Adicione atributos aos usuários no seu sistema.
  3. Implemente uma lógica para atualizar os valores de atributo quando eles forem alterados para um usuário no jogo.
  4. Crie regras de exibição de catálogo com seus atributos.
  5. Passe os atributos ao obter o Pay Station Access Token.
  6. Use o token recebido nos métodos para solicitar o catálogo de itens.

Personalização usando o Xsolla Login para autorizar usuários

Se você usa o Xsolla Login para autorizar usuários, você precisa:

  1. Criar um JSON schema para os atributos de usuário no lad da Xsolla e especificar os atributos dentro dele (opcional).

Observação
Você pode:
  • Criar um JSON schema para os atributos de usuário e somente passar os atributos especificados nesse JSON schema. Para fazer isso, no JSON schema, especifique false no objeto additionalProperties. Os atributos especificados são validados automaticamente.
  • Criar um JSON schema para os atributos do usuário e passe ambos os atributos especificados no JSON schema e os atributos adicionais não mencionados no JSON schema. Para fazer isso, no JSON schema, especifique true no objeto additionalProperties. Os atributos especificados no JSON schema são validados automaticamente.
  • Não criar um JSON schema para os atributos do usuário. Nesse caso, você pode passar qualquer atributo e a validação de atributos não é realizada.
Para a personalização do catálogo de itens, recomendamos que você especifique os atributos e os tipos deles no JSON schema dentro do objeto de properties para garantir que as chaves de atributoe valores sejam validados automaticamente.

  1. Adicione atributos aos usuários e atualize os valores de atributo usando a Login API.
  2. Crie regras de exibição de catálogo com os atributos criados.
  3. Implemente a obtenção do JWT de um usuário. Você pode encontrar uma lista de métodos para obter o JWT nesse exemplo.
  4. Use o token recebido nos métodos para solicitar o catálogo de itens.

Há diversas maneiras de adicionar atributos a um usuário:

  1. Use esses métodos para adicionar atributos a um usuário e atualize os valores do atributo. Para personalizar o catálogo, é necessário manter os valores de atributo atualizados: atualize os valores de atributo na Xsolla quando eles forem alterados para o usuário no jogo.

  1. Exemplo: um usuário atinge um novo nível, conclui uma missão ou faz uma compra.

  1. Você pode atualizar os valores de ambos atributos únicos e atributos múltiplos simultaneamente. A exceção são os atributos especificados como obrigatórios no JSON schema — sem especificar os valores de atributo obrigatórios, você não poderá chamar os métodos API de atualização de atributo.
Observação
  • Passe os valores de atributo reais diretamente ao autorizar o usuário se você usar o método Auth by custom ID. Nesse método, você pode passar uma matriz com os valores atuais de atributos de usuário.
Observação
Recomendamos criar os atributos de servidor que são somente leitura. Para fazer isso, passe os valores de parâmetro “attr_type”: “server” e “read_only”: “true”.

Exemplo de configuração de personalização

Esse exemplo mostra como configurar a personalização de catálogo: o item Conjunto de Cristal Médio é exibido apenas aos usuários que compraram o jogo MyTest Game.

Observação
Os nomes Conjunto de Cristal Médio e MyTestGame são fornecidos apenas como exemplo. Você pode configurar a personalização do catálogo usando os itens e atributos no seu projeto.
As seguintes são consideradas opções parra criar atributos no lado Xsolla (autorização de usuário via Xsolla Login) e no lado do parceiro (autorização via Pay Station Access Token). Para a opção Pay Station Access Token, você pode prosseguir diretamente para a criação da regra de exibição do catálogo.

Criando o schema de atributos

Adicione um JSON schema com atributos correspondendo ao nome do jogo e a quantidade de compras. Para fazer isso, especifique o seguinte no schema:
  • Atributo “game” com o tipo “string” — o nome do jogo que o usuário está comprando. O atributo “game” é marcado como obrigatório. Não é possível chamar os métodos de atualização de atributo se você não passar o atributo “game”.
  • Atributo “purchase_number” com o tipo “integer” — quantidade de compras do usuário.

Exemplo de schema:
Copy
Full screen
Small screen

{
	"$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"
}

Adição de atributos a um usuário

Adicione atributos a um usuário do banco de dados de usuários usando o método Update user’s read-only attributes from server.

No método Update user’s read-only attributes from server, você deve especificar:

  • Token do servidor.
  • Valores de atributo de usuário.
  • user_id — o identificador de usuário especificado nas configurações do seu projeto Login na Conta de Distribuidor na seção User database > Users.
  • publisher_id — ID de Comerciante especificado:
    • Na seção Company settings > Company.
    • No URL na barra de endereços do navegador em qualquer página da Conta de Distribuidor. O URL tem o seguinte formato: https:​//publisher.xsolla.com/<merchant ID>/<Publisher Account section>.
  • publisher_project_id — ID de Projeto que você pode encontrar na sua Conta de Distribuidor próximo ao nome do projeto.
Observação

Os nomes dos parâmetros nos métodos API podem variar entre os diversos produtos:

Obtenha o token do servidor preliminarmente usando o método Generate JWT.


Depois, prossiga ao método Update user’s read-only attributes from the server.

O corpo da solicitação com uma matriz de attributes tem o seguinte formato:

Copy
Full screen
Small screen
{
  "attributes": [
    {
      "key": "game",
      "permission": "private",
      "value": "MyTestGame"
    },
 {   
     "key": "purchase_number",
      "permission": "private",
      "value": "30"
    }

  ],
  "publisher_id": 000000,
  "publisher_project_id": 000000
}

Como resultado de executar a solicitação, o usuário que não tiver nenhum atributo agora tem atributos com os valores especificados:

Criando uma regra de exibição de catálogo

Configure uma regra para exibir o item Conjunto de Cristal Médio somente aos usuários que compraram o MyTestGame.

Para fazer isso:

  1. Na Conta de Distribuidor, vá para Store > Catalog management > Catalog display rules.
  2. Clique em Create rule e preencha os campos obrigatórios:
    1. chave de atributo no campo User attributegame
    2. tipo — string
    3. operador de comparação — equal to
    4. valor — MyTestGame
  1. Especifique o item que deve ser exibido se a condição for cumprida. No exemplo abaixo, o Conjunto de Cristal Médio é exibido para os usuários que possuem o MyTestGame.
  1. Confira a regra, ative-a e salve-a.

Obtenção do Token

Obtenção do Xsolla Login JWT

Obtenha um token para um usuário ao qual você adicionou o atributo game com o valor MyTestGame.
Você pode obter o Xsolla Login JWT após a autorização bem-sucedida do usuário no lado do cliente ou do servidor sem o envolvimento do usuário. Para fazer isso, use um dos seguintes métodos de autorização Xsolla Login:

Obtenção do Pay Station Access Token

Obtenha o Pay Station Access Token com o atributo necessário. Para fazer isso, você precisa passar “game”: “MyTestGame” no objeto attributes no método Create token.

Exemplo de corpo de solicitação:

Copy
Full screen
Small screen

{
  "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"
    }
  }
}

Obtendo o catálogo de itens

Para obter o catálogo de itens, chame o método Get virtual items list, usando ou o Xsolla Login User JWT ou o Pay Station Access Token para a autorização.

Obter o catálogo de itens usando o Xsolla Login JWT

Obtenha o catálogo de itens usando o token do usuário a qual você adicionou o atributo game com o valor MyTestGame. Para fazer isso, especifique o seguinte no método Get virtual items list:

  • o JWT do usuário obtido no cabeçalho de autorização
  • o ID do Projeto na Conta de Distribuidor como parâmetro de trajeto

A resposta inclui três itens:

  • Chave do Império
  • Pacote de cristais pequeno
  • Conjunto de Cristal Médio, para o qual a regra de personalização foi configurada


Você pode testar a resposta ao obter o catálogo de itens se o valor do atributo não corresponder ao especificado na regra. Para testar, você pode passar os atributos diretamente ao obter o token usando o método Auth by custom ID.
Observação
Esse método só pode ser usado com usuários autorizados pelo método Auth by custom ID.
Obtenha o JWT do usuário usando o método Auth by custom ID e passe o atributo gamecom o valor OtherGame na matriz attributes:
Copy
Full screen
Small screen
"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
  }
]

O método Get virtual items list com o token obtido retorna dois itens: Chave do Império e Pacote de cristais pequeno. O Conjunto de Cristal Médio, que possui uma regra de personalização aplicado a ele, não é incluso na resposta.


Como comparação, agora passe o atributo game com o valor MyTestGame.

Essa é a matriz attributes no método Auth by custom ID para o usuário com o jogo MyTestGame:

Copy
Full screen
Small screen

"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 o token obtido ao solicitar o catálogo de itens no método Get virtual items list.

Como resultado, o Conjunto de Cristal Médio será incluído na resposta:

Obtendo o catálogo de itens usando o Pay Station Access Token

Para obter o catálogo de itens personalizado, você precisa especificar o seguinte no método Get virtual items list:

A resposta inclui três itens:

  • Chave do Império
  • Pacote de cristais pequeno
  • Conjunto de Cristal Médio, para o qual a regra de personalização foi configurada


Você pode testar a resposta ao obter o catálogo de itens se o usuário não possui o atributo game com o valor MyTestGame.

Quando você receber o Pay Station Access Token, exclua o objeto attributes e solicite o catálogo de itens novamente usando o método de lista Get virtual items. Agora, a resposta não incluirá o Conjunto de Cristal Médio.

Este artigo foi útil?
Obrigado!
Podemos melhorar alguma coisa? Mensagem
Que pena ouvir isso
Explique porque este artigo não foi útil para você. Mensagem
Obrigado pelo seu feedback!
Avaliaremos sua mensagem e a usaremos para melhorar sua experiência.
Última atualização: 3 de Outubro de 2024

Encontrou um erro de texto ou digitação? Selecione o texto e pressione Ctrl+Enter.

Relatar um problema
Nós sempre avaliamos nossos conteúdos. Seu feedback nos ajuda a melhorá-los.
Forneça um e-mail para que possamos responder
Obrigado pelo seu feedback!