Pular para o conteúdo principal
O SDK 2.0 autentica com um token de licença. Plataformas nativas também podem usar appId + appKey para autenticação online. A Web nunca deve incorporar appKey no JavaScript do frontend.
Conclua primeiro a Assinatura: vincule os identificadores do app no Console (Bundle ID / nome do pacote / domínio) e ative um plano.

Nativo (Android / iOS / macOS / Windows)

Passe um dos seguintes ao criar o mecanismo: Prioridade: se licenseToken não estiver vazio, o SDK valida esse token localmente e não chama a rede com appId / appKey.
Recomendado (mesma ideia da Web): mantenha appId / appKey no seu servidor, gere um licenseToken de curta duração e entregue-o ao app. Defina platform na requisição assinada para corresponder ao cliente (ios / android / macos / windows). Veja Web → Proxy no servidor abaixo. appId + appKey direto e .lic offline continuam suportados.
iOS / macOS
Android
C++ (Windows)
Alternativa online nas plataformas nativas:
Prefira enviar o .lic offline como asset do app e carregá-lo em runtime em vez de hardcoded no código-fonte. Como obter um: Licença offline abaixo.

Web

O SDK do navegador não tem campos appId / appKey. O mecanismo aceita apenas licenseToken e o verifica localmente. Busque o token no seu servidor antes de init().

Fluxo recomendado

  1. Crie um app no Console, vincule o domínio Web e copie appId / appKey (veja Assinatura)
  2. Mantenha as chaves no seu backend; exponha um endpoint (por exemplo POST /api/facebetter/auth)
  3. Seu backend assina uma requisição para https://facebetter.pixpark.net/facebetter/v2/auth e devolve o corpo bruto da resposta à página
  4. Passe essa string para EngineConfig.licenseToken e, em seguida, chame init()
O demo oficial (demo/web/react) usa o mesmo padrão: frontend em src/fetchLicenseToken.js, proxy do servidor em api/facebetter/auth.js.
Não coloque appKey em um bundle de frontend. Um .lic offline na Web precisa corresponder à origem da página, por exemplo https://app.example.com. O Electron não verifica a origem. Tokens online expiram em minutos — busque um novo antes de criar o mecanismo novamente.

Frontend

Proxy no servidor (exemplo Node)

Armazene FB_APP_ID / FB_APP_KEY em variáveis de ambiente. Coloque isto no Express / Fastify / uma função serverless:
Em outras linguagens, implemente os mesmos passos: montar a string de assinatura → HMAC-SHA256 (hex) → POST ao upstream → entregar o corpo ao frontend. Referência executável: GitHub Demo api/facebetter/auth.js.

Campos da requisição upstream

Em caso de sucesso, o upstream devolve JSON (incluindo um campo token). Você pode encaminhar o texto da resposta como está ou extrair apenas a string token — o SDK aceita os dois.

Licença offline

Baixe um .lic offline na página de credenciais do Console e passe o conteúdo inteiro como licenseToken / license_token. Planos pagos bloqueiam cada identificador salvo. Uma plataforma vazia pode ser preenchida uma vez. Para alterar um valor bloqueado, fale com o suporte. Planos gratuitos podem editar identificadores e baixar a qualquer momento. O arquivo expira 15 dias após o fim da assinatura. Baixar de novo não empurra essa data. Após renovar, baixe um arquivo novo.

Observações

  • Tokens online e licenças offline verificam o identificador do Console: iOS e macOS usam o Bundle ID, Android o nome do pacote, Windows e Linux o nome do executável, e um navegador a origem da página. O Electron não verifica a origem. Uma divergência falha na validação.
  • Não expirada: os recursos seguem o plano de assinatura.
  • Expirada: o mecanismo ainda pode inicializar, mas as capacidades voltam ao plano Free (teste com marca d’água). Após renovar, baixe um arquivo novo no Console.
  • Licenças offline na Web são vinculadas à origem da página. Passe o .lic inteiro como licenseToken.

Eventos do mecanismo

Escute resultados de licença e inicialização via onEngineEvent: