[Testly] ✅ Conversion recorded for homepage-hero-test[Testly] ❌ API ERROR: Failed to track impression. Status: 401[Testly] ❌ TRACKING BLOCKED: Missing critical IDs for experiment "my-test"
Recomendação: Sempre ative em desenvolvimento e desative em produção para não poluir o console dos usuários.
Tipo:string Padrão: URL do projeto Supabase do Testly Descrição: URL customizada do projeto Supabase. Útil apenas se você estiver usando uma instância self-hosted do Testly.
Tipo:boolean Padrão:true Descrição: Registra automaticamente uma impressão quando useExperiment é executado pela primeira vez para um usuário em uma sessão.
Tipo:(log: object) => void Padrão:undefined Descrição: Callback personalizado para cada chamada de API. Recebe um objeto com detalhes da requisição. Útil para integrar com seu sistema de observabilidade.
<TestlyProvider apiKey="YOUR_API_KEY" config={{ onLog: (log) => { console.table(log); // ou envie para seu sistema de logs myLogger.track('testly_api_call', log); } }}>
Estrutura do objeto log:
{ method: 'GET' | 'POST', url: string, status: number, timestamp: number, body?: object, // apenas em POSTs response: object}
interface TestlyConfig { /** * Chave de API do Testly (obrigatória, passada diretamente na prop apiKey) */ apiKey: string; /** * URL do projeto Supabase. Não precisa configurar na maioria dos casos. */ supabaseUrl?: string; /** * Ativa logs detalhados no console * @default false */ debug?: boolean; /** * Registra impressão automaticamente no primeiro render do useExperiment * @default true */ autoTrackImpressions?: boolean; /** * Previne registrar o mesmo tipo de conversão mais de uma vez * @default true */ dedupConversions?: boolean; /** * Callback chamado a cada requisição à API (para observabilidade) */ onLog?: (log: any) => void;}