plicflixdevelopers
Entrar Criar conta
Esta página faz parte do roteiro de integração. Ela detalha a fase 4 (formato B: o botão "Entrar com Plicflix"). Para pôr um jogo no plicflix do zero até ele aparecer no catálogo, siga o roteiro em ordem: Comece aqui (fases 1 a 8, com quem faz cada passo).

O botão oficial "Entrar com Plicflix"

O botão pronto para o login com o plicflix no seu site ou app. Basta colar uma tag: ele já vem com o visual oficial e faz o login sozinho (OAuth 2.0 + PKCE, veja OAUTH). O botão é igual em todo jogo, e é por isso que o jogador o reconhece e confia.

Para ver todas as variações ao vivo e copiar o código já preenchido com o seu jogo, use a página Botão oficial deste portal.

Para IAs: siga a seção 1. Se o jogo tem servidor, use href (seção 2.1). Se não tem, use cliente e volta (seção 2.2). A seção 4 dá cada atributo. Não redesenhe o botão. Para um visual próprio, use estilo="proprio" (seção 5).

1. Em dois passos

<!-- 1. o SDK — copie o arquivo para o seu site SEM mudar (https://developers.plicflix.com/sdk/plicflix.js),
        ou carregue da CDN: https://sdk.plicflix.com/plicflix.js -->
<script src="/plicflix.js" defer></script>

<!-- 2. o botão, onde ele deve aparecer -->
<plicflix-entrar href="/api/plicflix/oauth"></plicflix-entrar>

O SDK define o elemento <plicflix-entrar> (o plicflix.js 2.5 ou mais novo). Como é um elemento HTML comum, funciona em qualquer site: HTML puro, React, Vue, Svelte, Angular ou o que o seu motor gerar.

2. Os dois jeitos de fazer o login

2.1 Com servidor (recomendado): href

<plicflix-entrar href="/api/plicflix/oauth"></plicflix-entrar>

O botão vira um link para a sua rota. Ela gera o PKCE e manda o jogador para o plicflix. Na volta, o seu servidor troca o código com a chave pk_ e abre a sessão. As duas rotas prontas, em Node e Go, estão em OAUTH, seção 4.

2.2 Sem servidor: cliente e volta

<plicflix-entrar cliente="seu-slug" volta="https://seujogo.com/"></plicflix-entrar>

<!-- na página de volta -->
<script type="module">
  const r = await Plicflix.voltouDoPlicflix();   // { jogador: { id: "pf_…", nome }, jogo, assinante }
  if (r) iniciarJogo(r.jogador);
</script>
  • No clique: o próprio botão gera o PKCE e vai ao plicflix.
  • volta: precisa estar cadastrado (developers → o jogo → Integração).
  • Limite: o resultado de um cliente público serve para mostrar o nome e guardar o progresso local, nunca para proteger moedas, ranking ou compras (OAUTH, seção 5).

3. Os estilos

estilo como é para quê
destaque (o padrão) a chamada em caixa alta, o logo inteiro, a borda nas cores do plicflix e um reflexo que passa a tela de login do jogo, o lugar de honra
solido preto e sóbrio, o ícone e "Entrar com Plicflix" em texto normal combina com qualquer site, ao lado de outros logins
simples fundo branco e borda fina, o ícone e o texto sites claros e formulários
proprio o seu botão: aparece o que estiver dentro do elemento quando o jogo tem um visual próprio (seção 5)
<plicflix-entrar href="/api/plicflix/oauth"></plicflix-entrar>
<plicflix-entrar href="/api/plicflix/oauth" estilo="solido"></plicflix-entrar>
<plicflix-entrar href="/api/plicflix/oauth" estilo="simples"></plicflix-entrar>

4. Os atributos

atributo valores padrão
href a sua rota de login no servidor —
cliente, volta o slug do jogo e o redirect_uri cadastrado (sem servidor) —
estilo destaque, solido, simples, proprio destaque
tema (só no destaque) escuro (fundo escuro), claro (fundo claro), contorno (só a borda) escuro
tamanho p (40 px), m (48 px), g (58 px) m
forma reto, arredondado, pilula arredondado
largura auto ou 100% auto
texto entrar ("Entrar com"), continuar ("Continuar com"), ligar ("Ligar ao": para ligar uma conta que já existe) entrar
idioma pt-BR, en, es, fr, de, it, ja, ko, ar a língua da página (<html lang>), depois a do navegador
prompt consent: pergunta de novo mesmo se o jogador já autorizou —
rotulo o texto para leitores de tela (no proprio, sempre ponha um) "Entrar com Plicflix" na língua
marca outro endereço para o logo (se o seu img-src não liberar a CDN) https://sdk.plicflix.com/marca/…

Pelo JavaScript, o mesmo elemento sai com Plicflix.botaoEntrar("#onde", { href, estilo, tema, tamanho, forma, largura, texto, idioma, cliente, volta }), que devolve o elemento.

O evento do clique (sem href): antes de sair para o plicflix, o elemento dispara plicflix-entrar, que pode ser cancelado. Com preventDefault(), o seu código cuida do clique, por exemplo para salvar algo antes.

5. O seu próprio botão

<plicflix-entrar href="/api/plicflix/oauth" estilo="proprio" rotulo="Entrar com Plicflix">
  <span class="meu-botao">
    <img src="https://sdk.plicflix.com/marca/plicflix-icone.webp" alt="" width="22" height="22">
    Jogar com a minha conta Plicflix
  </span>
</plicflix-entrar>

O que estiver dentro do elemento aparece do jeito que você estilizou, com o CSS do seu site. O elemento só faz o login, e o botão continua acessível pelo teclado e por leitores de tela.

Ajuste fino dos estilos oficiais: o elemento expõe as partes botao, texto, logo e icone para o seu CSS:

plicflix-entrar::part(botao) { border-radius: 0; }      /* cantos retos */
plicflix-entrar::part(texto) { letter-spacing: .08em; }

Os arquivos da marca, para o seu botão:

arquivo uso
https://sdk.plicflix.com/marca/plicflix-icone.webp o ícone quadrado (o "P"), 192×192
https://sdk.plicflix.com/marca/plicflix-claro.webp o logo para fundo escuro
https://sdk.plicflix.com/marca/plicflix-escuro.webp o logo para fundo claro

6. As regras da marca

  • Use o botão pronto sempre que der. Ajuste só o que as opções oferecem.
  • No seu próprio botão:
    • o nome é sempre "Plicflix";
    • o logo e o ícone vão sem mudanças: sem esticar, recolorir ou cortar;
    • o texto diz claramente que o login é com o plicflix.
  • Dê espaço: deixe pelo menos 12 px livres em volta. No login, ponha o botão junto das outras formas de entrar, com um "ou" no meio.
  • Só para o plicflix: o botão leva sempre ao login do plicflix. Não use para outra ação.
  • Tema certo: em fundo escuro, destaque ou solido. Em fundo claro, simples ou destaque com tema="claro".

7. Detalhes técnicos

  • Estilo isolado (shadow DOM): o CSS do seu site não quebra o botão, e o do botão não vaza no site.
  • CSP:
    • o estilo entra por adoptedStyleSheets, que não precisa de style-src 'unsafe-inline';
    • o logo vem de https://sdk.plicflix.com. Libere essa origem no img-src, ou use marca com uma cópia sua. Se o logo não carregar, o nome aparece escrito no lugar;
    • o script é o seu /plicflix.js (script-src 'self') ou a CDN.
  • Acessibilidade:
    • é um <button> (ou um <a>, com href) de verdade, com aria-label na língua;
    • tem o foco visível;
    • respeita "reduzir movimento" (sem o reflexo).
  • Peso: o elemento está dentro do plicflix.js, sem nenhum arquivo a mais. Só o logo é baixado, uns 35 KB.

Exemplo completo com todos os estilos: sdk/exemplos/botao/index.html (no pacote do SDK).