Skip to main content
O SDK React Native da Solomon permite rastrear os mesmos 8 eventos de funil do SDK web, enviando dados idênticos para o backend — sem necessidade de qualquer alteração no servidor. Ele foi projetado para funcionar tanto em projetos bare React Native quanto em Expo managed workflow. A inicialização do SDK requer os mesmos parâmetros do SDK web, com algumas adições específicas para mobile.
string
É o ID de 20 caracteres que a loja possui na Solomon.
boolean
Parâmetro opcional para ativar os logs de debug no console.
boolean
Parâmetro opcional para ativar o envio desses eventos para o pixel.
A funcionalidade de atribuição só irá funcionar se os eventos forem enviados para o pixel.
string
Parâmetro opcional com o Bundle ID do app (ex: com.suaempresa.app). Usado no campo current_domain dos eventos de atribuição.
StorageAdapter
Parâmetro opcional para substituir o AsyncStorage padrão por um adapter customizado (ex: MMKV). A interface exige três métodos: getItem, setItem e removeItem, todos retornando Promise.

Instalação

1
Instale o pacote do SDK e a dependência obrigatória de storage.
Terminal
2
Opcionalmente, instale as dependências nativas para telemetria completa do device.
Terminal
Essas dependências são opcionais. Sem elas o SDK funciona normalmente, mas campos como device_id, device_model, connection_type e install_referrer serão preenchidos com valores padrão.
3
No iOS, instale os pods nativos.
Terminal
Para Expo managed workflow, adicione os config plugins no app.json para cada dependência opcional instalada:
app.json

Inicialização

O padrão recomendado é criar um contexto React para disponibilizar o SDK em toda a aplicação.
1
Crie o contexto e o provider do SDK.
SolomonContext.tsx
2
Envolva a aplicação com o provider.
App.tsx

Rastreamento de telas

Para o SDK saber qual tela o usuário está visualizando, a configuração pode ser feita manualmente ou utilizando React Navigation.

Manualmente

Chame setScreenName sempre que o usuário navegar para uma nova tela.
ProductScreen.tsx

Com React Navigation

Se você usa React Navigation, o hook useSolomonScreenTracking atualiza o nome da tela automaticamente via setScreenName. O disparo de VIEW_PAGE continua sendo responsabilidade de cada tela.
App.tsx
Para que a detecção de pontos de contato funcione corretamente, o SDK precisa ler os deep links — URLs que abrem o app diretamente (ex: https://sualoja.com/produto?utm_source=google&utm_medium=cpc). Você pode configurar manualmente ou utilizar o hook disponibilizado dentro do pacote.

Manualmente

App.tsx

Com o hook

App.tsx
Os parâmetros de UTM extraídos de deep links são persistidos no device e enviados em todos os eventos subsequentes, até que um novo deep link com UTMs diferentes seja recebido.

Disparando eventos

A chamada track funciona de forma idêntica ao SDK web. Os mesmos 8 tipos de evento estão disponíveis.
1
Dispare o evento de visualização de página.
2
Dispare eventos com payload e aliases.
Os campos disponíveis em aliases são: email, phone, user_id, customer_id, cart_token e order_id.
A chamada track é assíncrona. O monitoramento de erros deve ser feito por meio do console, com a opção debug ativada na configuração do SDK.

Storage customizado

Por padrão, o SDK utiliza AsyncStorage para persistir dados. Se você preferir usar uma solução mais performática como o MMKV, basta passar um adapter customizado na inicialização.