Pular para o conteúdo principal
Versão: Guardian v0.1.0

Configuração do Provider

Opção A: Provider + Hook (Recomendado)​

Envolva a raiz do seu aplicativo com GuardianProvider. Isso inicializa o SDK e o expõe a todos os componentes filhos via hook useGuardian.

App.tsx
import { GuardianProvider } from '@surtai/guardian-rn';

export default function App() {
return (
<GuardianProvider
environment="production"
collectLocation={true}
>
<Navigation />
</GuardianProvider>
);
}

O SDK não guarda uma chave de API. O contexto de cliente e de transação vem de um JWT de curta duração que o seu backend gera. Veja Verificar Transações para mais detalhes.

Props do Provider​

PropTipoPadrãoDescrição
environment'production' | 'sandbox''production'Ambiente do backend
logLevel'debug' | 'info' | 'warn' | 'error' | 'none''warn'Verbosidade de log do SDK
collectLocationbooleanfalseHabilitar coleta de GPS (requer permissões)
collectWifiInfobooleanfalseHabilitar detalhes de rede WiFi
collectSimCardInfobooleanfalseHabilitar informações de SIM/operadora (somente Android)
collectCameraInfobooleanfalseHabilitar informações de câmera

Opção B: API Imperativa​

Se preferir não usar o contexto React, chame initialize() diretamente na inicialização do aplicativo:

index.ts
import { GuardianSDK } from '@surtai/guardian-rn';

GuardianSDK.initialize({
environment: 'production',
logLevel: 'warn',
collectLocation: true,
});

Hook useGuardian​

const {
isInitialized, // boolean - true após o SDK estar pronto
verify, // (jwt: string, options?: VerifyOptions) => Promise<VerificationResult>
collect, // (jwt?: string, options?: CollectOptions) => Promise<CollectResult>
} = useGuardian();
aviso

useGuardian() deve ser chamado dentro de um <GuardianProvider>. Chamá-lo fora gera um erro.

Solução de Problemas​

ErroCausaSolução
not_initializedverify() chamado antes do SDK estar prontoUse GuardianProvider ou chame initialize() na inicialização
Erro no hook useGuardianHook usado fora do providerEnvolva a árvore de componentes com <GuardianProvider>
invalid_jwtJWT ausente, malformado ou rejeitadoGaranta que seu backend gere um JWT novo a cada chamada e o passe para verify()