Flutter SDK - Rastreando telas e views
Com analytics habilitado (o padrão), o tracker captura toques, deslizes, mudanças de viewport e eventos de input por conta própria. As telas e as views individuais são reportadas por dois widgets exportados.
Telas
Section titled TelasAdicione ORNavigatorObserver ao navigator do seu app para registrar as transições de rota:
import 'package:openreplay/openreplay.dart';
MaterialApp(
navigatorObservers: [ORNavigatorObserver()],
// ...
)
Pushes, pops, substituições e remoções são todos reportados. Uma rota é nomeada por route.settings.name; uma rota sem nome usa como alternativa a sua posição na pilha (route/2), então rotas nomeadas geram timelines muito mais legíveis.
Views rastreadas
Section titled Views rastreadasEnvolva qualquer widget em ORTrackedView para reportá-lo como uma view nomeada e observável. Um evento de visibilidade é emitido quando ele é montado e quando é desmontado, e o seu nome é usado como rótulo para os toques que acontecem dentro dele.
screenName: String— título da tela ou da funcionalidadeviewName: String— nome da view rastreada
import 'package:openreplay/openreplay.dart';
ORTrackedView(
screenName: 'Checkout',
viewName: 'Pay button',
child: ElevatedButton(onPressed: _pay, child: const Text('Pay')),
)
Toques
Section titled ToquesToques e deslizes são capturados por meio da rota global do pointer router, então o tracker enxerga todos os eventos de ponteiro sem nunca competir na gesture arena — ele não consegue “engolir” um toque de que o seu app precisava. Um ponteiro que percorre mais de 10 pixels lógicos é registrado como um deslize, com a sua direção dominante; qualquer movimento menor é registrado como um clique.
Os rótulos dos toques vêm do hit-testing do texto sob o ponteiro, ou do ORTrackedView que o envolve.
Tem dúvidas?
Section titled Tem dúvidas?Se você tiver qualquer dúvida sobre este processo, fale com a gente no nosso Slack.