Firebase Analyticsのview
ログを実装するために、該当するWidgetが画面に表示されたタイミングで任意の関数を発火させたい。
公式が出している以下のパッケージを使って実装する visibility_detector | Flutter Package
以下のようなWidgetが用意されているので該当するWidgetを囲む。
VisibilityDetector(
key: Key('Widget') // 必須
onVisibilityChanged: (info) {
info.visibleFraction // どのくらい表示されているか
info.visibleBounds // widgetの位置
if (info.visibileFraction * 100 > 80) {
logView(); //80%以上表示されていたら表示ログを発火させる
}
}
child: Widget()
)
Sliverの場合はSliver専用のWidgetを使う
SliverVisibilityDetector(
key: Key(...)
onVisiblityChanged: (info) {}
sliver: Sliver(),
)