Configuração
A configuração deve ter o seguinte formato com os respectivos valores de propriedades (alguns são obrigatórios, outros são opcionais), estes serão especificados mais adiante neste documento:
const config = {
init: {...},
player: {...},
lookAndFeel: {...},
translations: [...],
assets: {...}
}
1. Inicializar (init <object|obrigatório>))
- serviceUrl
<string|obrigatório>: URL onde os endpoints virão - clientId
<string|obrigatório>: este é o token respectivo para acessar a URL do serviço - playerIdentityToken
<string|obrigatório>: refere-se ao token de identidade do jogador para validar a sessão. Consulte Validar Token de Identidade do Jogador para mais detalhes. - playerLocale
<string|obrigatório>: idioma do jogador. (Usamos o padrão ISO 639-1, que usa códigos de duas letras. Você pode encontrar a lista aqui)
Exemplo:
init: {
serviceUrl: 'https://{unique-client-sub-domain-fe-api}.gamanzaengage.com',
clientId: '8a5cd40a-5e37-45b1-b2e0-9e2fe0921786',
playerIdentityToken: '{playerSessionID|JWT|IdentityToken}',
playerLocale: 'de',
},
2. Jogador (player <object|opcional>))
- name
<string|opcional>: nome do jogador - shippingAddress
<object|opcional>:- city
<string|obrigatório>: nome da cidade do jogador - country
<string|obrigatório>: país do jogador - street
<string|obrigatório>: nome da rua do jogador - streetNumber
<string|obrigatório>: número da rua do jogador - postalCode
<string|obrigatório>: código postal do jogador - houseNameOrNumber
<string|obrigatório>: nome ou número da casa do jogador
- city
- playerPhone:
<string|obrigatório>: número de telefone do jogador - playerEmail:
<string|obrigatório>: email do jogador - countries?:
<string[]|opcional>: países disponíveis para o cliente
Nota: as propriedades shippingAddress e countries são usadas apenas na loja de recompensas, onde o jogador adiciona seu endereço para entrega de recompensas. O formato ISO 3166 deve ser usado. Se nenhum país for especificado, então o menu suspenso mostrará TODOS os países.
Exemplo:
Mostre-me o código!
player: {
name: 'Jogador Teste',
shippingAddress: {
city: 'Alajuela',
country: 'CR',
street: 'Rua Teste',
streetNumber: '23',
postalCode: '211101',
},
countries: ['DE', 'FR', 'IT'],
},
3. Aparência (lookAndFeel <object|opcional>))
O objeto lookAndFeel permite substituir alguns dos estilos e cores padrão do aplicativo.
- Tipografia:
- fontFamily
<string|optional>: o padrão éRoboto, Helvetica, Arial, sans-serif. AfontFamilyespecificada deve estar instalada no computador do jogador para que eles possam vê-la com sucesso.
- fontFamily
- Paleta:
- primária:
- principal
<string|required>: esta cor pode ser adicionada para destacar as seções principais e os ícones nos widgets
- principal
- primária:
Se você não deseja personalizar os widgets, eles vêm com uma cor roxa padrão (#8743FF):



Exemplo com tipografia e cor principal diferentes:
Mostre-me o código!
lookAndFeel: {
typography: {
fontFamily: '"Times New Roman"',
},
palette: {
primary: {
main: '#C10230',
},
},
},



Além disso, se você quiser implementar um tema escuro, tudo o que você precisa fazer é adicionar o mode prop à paleta em lookAndFeel
- Paleta:
- mode:
<string|optional>:lightoudark
- mode:
Exemplo com tema escuro e cor principal:
lookAndFeel: {
...,
palette: {
mode: 'dark',
primary: {
main: '#5e9221',
},
},
},

Você deve ter cuidado especial ao escolher a cor principal para garantir que os ícones e os textos apareçam corretamente.
Recomendamos experimentar várias cores e navegar pelo seu site antes de escolher a final.
Por exemplo, se você usar o branco como a cor principal com o tema escuro, alguns ícones e textos podem ser perdidos
Outras propriedades customizáveis opcionais são cores de plano de fundo e de texto, e cores para as propriedades error, success e warning:
- Paleta:
- plano de fundo:
- padrão
<string|opcional>: este é usado para o plano de fundo principal no corpo - papel
<string|opcional>: este é usado para o plano de fundo na vitrine de recompensas e nos widgets que precisamos destacar
- padrão
- texto:
- primário
<string|opcional>: cor usada para textos primários - secundário
<string|opcional>: cor usada para textos secundários
- primário
- erro:
- principal
<string|opcional>: essa cor é usada para representar elementos da interface que o usuário deve estar ciente
- principal
- aviso:
- principal
<string|opcional>: essa cor é usada para representar ações potencialmente perigosas ou mensagens importantes
- principal
- sucesso:
- principal
<string|opcional>: essa cor é usada para indicar a conclusão bem-sucedida de uma ação acionada pelo usuário
- principal
- plano de fundo:
Exemplo com substituições opcionais:
Mostre-me o código!
lookAndFeel: {
...,
palette: {
...,
primary: {
main: '#1585d9',
},
background: {
default: '#e3f1fb',
paper: '#baddf7',
},
text: {
primary: '#004596',
secondary: '#0362b5',
},
error: {
main: '#e57373',
},
success: {
main: '#81c784',
},
warning: {
main: '#ffb74d',
},
},
}



4. Traduções (traduções <array|opcional>))
Todos os widgets são exibidos em um idioma padrão, que é o Inglês (en). Se você deseja usar outro idioma, você deve especificá-lo e as traduções correspondentes:
- locale
<string|obrigatório>: refere-se ao idioma ao qual as chaves a seguir correspondem (Usamos o padrão ISO 639-1, que usa códigos de duas letras. Você pode encontrar a lista aqui) - chaves
<object|obrigatório>: estas são as chaves atualmente implementadas como traduções,
- Algumas traduções incluem algum texto entre chaves duplas. Eles são usados para interpolar valores dinâmicos nas strings traduzidas, então o texto entre as chaves deve ser deixado como está.
Então, se, por exemplo, você estiver adicionando uma tradução em espanhol, ela deve ficar assim:
congratulationsLevelUp: Você alcançou o nível {{level}} agora.
-
Tenha em mente que existem traduções que são compartilhadas entre vários widgets, por exemplo, a loja de recompensas e as missões estão contidas no widget da barra lateral. E existem traduções genéricas que podem ser usadas em todos os widgets
-
Você pode encontrar a lista completa de chaves na seção de traduções.
-
Certifique-se de usar apenas códigos de duas letras para o local (ISO 639-1)
Exemplo:
traduções: [
{
locale: 'pt-BR',
keys: {
activate: 'Ativar',
activateBooster: 'Ativar Booster',
activatedSuccessfully: 'Ativado com sucesso',
...
tryAgain: 'Tente novamente',
xpPoints: 'Pontos de experiência'
},
},
]
Se você alterar o idioma no navegador, certifique-se de atualizar o local configurado nos widgets.
Você pode fazer isso usando as funções reload ou reloadOne passando a prop newLocale
Consulte Métodos Disponíveis para mais detalhes.
5. Ativos (ativos <object|opcional>)
Este objeto permite que você substitua algumas das imagens padrão nos widgets.
- avatar_image
<string|opcional>: este se refere à imagem do avatar do jogador. O padrão é mostrar a imagem da classificação atual do jogador. Se não houver imagem de classificação, ela recorrer á a esta imagem personalizada.
Imagens padrão:
Avatar
Imagens personalizadas:
assets: {
avatar_image: "https://e7.pngegg.com/pngimages/799/987/png-clipart-computer-icons-avatar-icon-design-avatar-heroes-computer-wallpaper.png",
}
Avatar
6. Exibir
Para exibir corretamente um widget, existem duas propriedades básicas que são sempre necessárias
- class
<string|required>: deve sempre sergamification_widget - data-type
<string|required>: deve sempre ser uma dessas opções:avatarpointsgamification-datareward-shoptokensactive-boostersgamification-mechanicsmy-boosterssidebarbadge-levelmissionstournamentsrank-downgrade-minimum-activity🆕
Exemplos:
<div class="gamification_widget" data-type="avatar"></div>
<div class="gamification_widget" data-type="reward-shop"></div>