Update when deeplink appid and bundle id are collected (#8801)

update ga metrics collection for deeplink. It now only also collect the event right before the validation to reduce noise in impact tracking.

![build.yaml badge]

If you need help, consider asking for help on [Discord].

[build.yaml badge]: https://github.com/flutter/devtools/actions/workflows/build.yaml/badge.svg
diff --git a/packages/devtools_app/lib/src/screens/deep_link_validation/deep_links_controller.dart b/packages/devtools_app/lib/src/screens/deep_link_validation/deep_links_controller.dart
index 4bfac2d..79e17a5 100644
--- a/packages/devtools_app/lib/src/screens/deep_link_validation/deep_links_controller.dart
+++ b/packages/devtools_app/lib/src/screens/deep_link_validation/deep_links_controller.dart
@@ -531,6 +531,14 @@
     Map<String, List<Path>> iosDomainPaths = {};
     try {
       if (currentAppLinkSettings != null) {
+        ga.impression(
+          gac.deeplink,
+          gac.AnalyzeFlutterProject.androidValidateDomain.name,
+          screenMetricsProvider:
+              () => DeepLinkScreenMetrics(
+                androidAppId: currentAppLinkSettings!.applicationId,
+              ),
+        );
         final androidResult = await deepLinksService.validateAndroidDomain(
           domains: domains,
           applicationId: applicationId,
@@ -542,6 +550,14 @@
       }
       if (FeatureFlags.deepLinkIosCheck &&
           currentUniversalLinkSettings != null) {
+        ga.impression(
+          gac.deeplink,
+          gac.AnalyzeFlutterProject.iosValidateDomain.name,
+          screenMetricsProvider:
+              () => DeepLinkScreenMetrics(
+                iosBundleId: currentUniversalLinkSettings!.bundleIdentifier,
+              ),
+        );
         final iosResult = await deepLinksService.validateIosDomain(
           bundleId: bundleId,
           teamId: teamId,
diff --git a/packages/devtools_app/lib/src/shared/analytics/constants/_deep_links_constants.dart b/packages/devtools_app/lib/src/shared/analytics/constants/_deep_links_constants.dart
index d109046..5df4b2a 100644
--- a/packages/devtools_app/lib/src/shared/analytics/constants/_deep_links_constants.dart
+++ b/packages/devtools_app/lib/src/shared/analytics/constants/_deep_links_constants.dart
@@ -32,6 +32,12 @@
   /// iOS Universal Links settings are loaded.
   iosUniversalLinkSettingsLoaded,
 
+  /// Validate the host name of Android App Links
+  androidValidateDomain,
+
+  /// Validate the associated domain of iOS Universal Links
+  iosValidateDomain,
+
   /// App Links are loaded and there is at least one link.
   flutterHasAppLinks,