Skip to main content

Requisitos

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

React 16.8+

Hooks são necessários para o SDK funcionar

Node.js 14+

Para gerenciamento de pacotes

API Key

Encontrada em configurações

Instalar o Pacote

Escolha seu gerenciador de pacotes preferido:
npm install @testlyjs/react

Configurar o Provider

O TestlyProvider deve envolver toda a sua aplicação. Ele gerencia o estado dos experimentos e se comunica com a API do Testly.
src/App.tsx
import { TestlyProvider } from '@testlyjs/react';

function App() {
  return (
    <TestlyProvider apiKey={import.meta.env.VITE_TESTLY_API_KEY}>
      {/* Sua aplicação */}
    </TestlyProvider>
  );
}

export default App;
Criar arquivo .env:
.env
VITE_TESTLY_API_KEY=sua_api_key_aqui
ImportanteSempre use variáveis de ambiente para armazenar sua API Key. Nunca faça commit dela no código!

Configuração do Provider

O TestlyProvider aceita as seguintes props:
PropTipoObrigatórioDescrição
apiKeystring✅ SimSua chave de API do Testly
configobject❌ NãoOpções de configuração

Opções de Configuração

<TestlyProvider 
  apiKey="YOUR_API_KEY"
  config={{
    debug: boolean,              // Ativa logs detalhados (padrão: false)
    dedupConversions: boolean,   // Previne conversões duplicadas (padrão: true)
    baseUrl: string,             // URL customizada da API (opcional)
  }}
>

Exemplo com Debug

<TestlyProvider 
  apiKey={process.env.NEXT_PUBLIC_TESTLY_API_KEY}
  config={{
    debug: process.env.NODE_ENV === 'development',
    dedupConversions: true
  }}
>
  <App />
</TestlyProvider>
RecomendadoAtive debug: true em desenvolvimento para facilitar troubleshooting!

Verificar a Instalação

Para garantir que tudo está funcionando, crie um componente de teste:
components/TestInstallation.tsx
'use client'; // Se estiver usando Next.js App Router

import { useExperiment } from '@testly/react';

export function TestInstallation() {
  const { variant, loading, error } = useExperiment('test-installation');

  if (loading) return <div>Carregando...</div>;
  if (error) return <div>Erro: {error.message}</div>;

  return (
    <div>
      <p>✅ Testly instalado com sucesso!</p>
      <p>Variante: {variant}</p>
    </div>
  );
}
Você verá um erro porque o experimento test-installation ainda não existe. Isso é esperado! Vá para o dashboard e crie seu primeiro experimento.

Configurar .gitignore

Adicione suas variáveis de ambiente ao .gitignore:
.gitignore
# Variáveis de ambiente
.env
.env.local
.env*.local

# Logs
npm-debug.log*
yarn-debug.log*
yarn-error.log*

TypeScript

O Testly SDK já vem com tipos TypeScript incluídos. Nenhuma configuração adicional é necessária!
import { TestlyProvider, useExperiment, useConversion } from '@testly/react';

// Todos os tipos estão disponíveis automaticamente
const { variant, loading, error, convert } = useExperiment('my-experiment');
Se você quiser tipos personalizados:
interface ExperimentVariants {
  'my-experiment': 'control' | 'variant-b' | 'variant-c';
}

const { variant } = useExperiment<ExperimentVariants['my-experiment']>('my-experiment');
// variant agora tem autocomplete com os valores possíveis

Próximos Passos

1

Obter API Key

Acesse o dashboard e copie sua API Key
2

Criar primeiro experimento

No dashboard, crie um experimento de teste com 2 variantes
3

Implementar useExperiment

Siga o guia useExperiment para usar o hook
4

Testar conversões

Aprenda a rastrear eventos com useConversion

Troubleshooting

Solução: Certifique-se de que instalou o pacote:
npm install @testly/react
E que reiniciou o servidor de desenvolvimento após a instalação.
Solução: Verifique se sua variável de ambiente está configurada:
  1. Crie o arquivo .env ou .env.local
  2. Adicione: NEXT_PUBLIC_TESTLY_API_KEY=sua_chave
  3. Reinicie o servidor de desenvolvimento
Next.js: Variáveis devem começar com NEXT_PUBLIC_ Vite: Variáveis devem começar com VITE_
Checklist:
  • ✅ Arquivo .env está na raiz do projeto?
  • ✅ Variável começa com o prefixo correto? (NEXT_PUBLIC_ ou VITE_)
  • ✅ Reiniciou o servidor após criar o arquivo?
  • ✅ Não tem espaços ao redor do =?
# ✅ Correto
NEXT_PUBLIC_TESTLY_API_KEY=abc123

# ❌ Errado (tem espaços)
NEXT_PUBLIC_TESTLY_API_KEY = abc123
Solução: Se estiver usando Next.js App Router, adicione 'use client' no topo do arquivo:
'use client';

import { useExperiment } from '@testly/react';

export function MyComponent() {
  // ...
}
Componentes que usam hooks React precisam ser Client Components.
Solução: Verifique seu tsconfig.json:
tsconfig.json
{
  "compilerOptions": {
    "moduleResolution": "node",
    "esModuleInterop": true,
    "skipLibCheck": true
  }
}
Se o problema persistir, tente:
rm -rf node_modules package-lock.json
npm install

Suporte

Precisa de ajuda com a instalação?