Slide 40
Slide 40 text
打ち手
画面遷移イベントの送信
画面を移るたびに画面名を送り、1回の利用の中で画面が移った順を見る
1
GoRouterにobserverを登録する
認証の前と後の2つのGoRouterの observers に
FirebaseAnalyticsObserver を入れる。
画面ごとに送る処理を書かずに、遷移のたびに送る
2
クエリを外して、パスだけで照合する
パラメータが違っても同じ画面として数える
3
パスを日本語の画面名に変える
AppRouteCatalog に登録した日本語の画面名で送る。
登録の無いパスはそのまま送る
©ASSIGN Inc. All Rights Reserved
// 1. GoRouter に observer を登録する
return GoRouter(
observers: [
routeObserver,
AnalyticsEvent.observer,
NavigationBreadcrumbObserver(),
ScreenRenderingObserver(),
],
static final observer = FirebaseAnalyticsObserver(
analytics: analytics,
nameExtractor: (settings) {
final path = settings.name;
if (path == null) return settings.name;
// 2. クエリを外して、パスだけで照合する
final purePath = Uri.parse(path).path;
// 3. パスを日本語の画面名に変える
for (final route in AppRouteCatalog.values) {
if (route.path == purePath) {
return route.screenNameJa;
}
}
return settings.name;
},
);
40