Oito SDK para um contrato congelado. Android, iOS, Flutter, Kotlin Multiplatform, React Native, Unity, .NET MAUI e Electron falam todos o mesmo protocolo de transmissão, portanto um produto publicado em quatro plataformas reporta de uma só maneira.
Funciona sem ligação. Os ecrãs ficam em fila no disco e sobrevivem a fechar a aplicação, a uma falha e a quinze dias sem rede. As sessões que mais importam são precisamente as que um SDK ingénuo perde.
Não conta duas vezes. Cada evento leva um identificador emitido uma vez e reenviado sem alteração, portanto um lote repetido é reconhecido em vez de contado duas vezes. Uma fila sem ligação sem isso inventa dados em vez de os salvar.
Sobrevive a um relógio errado. Cada lote regista quando foi esvaziado, portanto um dispositivo posto na próxima terça não reporta a próxima terça.
Erros com pilhas, e se foram fatais. O suficiente para ver uma má versão nos números e não nas análises.
O teu sítio e a tua aplicação numa conta. Um início de sessão, uma fatura, e a mesma janela de sessão nos dois, portanto «uma sessão» significa a mesma coisa no par.