Outline for survey implementation (#27305)

diff --git a/dev/docs/assets/api_survey.js b/dev/docs/assets/api_survey.js
new file mode 100644
index 0000000..98e094e
--- /dev/null
+++ b/dev/docs/assets/api_survey.js
@@ -0,0 +1,25 @@
+window.ApiSurveyDocs = function(apiPages) {
+  var url = window.location.href;
+  var fragments = url.split('/');
+  if (fragments == null || fragments.length == 0) {
+    return;
+  }
+  var classFragment = fragments[fragments.length -1];
+  if (classFragment == null) {
+    return;
+  }
+  var apiDocClassFragments = classFragment.split('-');
+  if (apiDocClassFragments.length != 2) {
+    return;
+  }
+  var apiDocClass = apiDocClassFragments[0];
+  if (url == null || apiPages.indexOf(apiDocClass) == -1) {
+    return;
+  }
+  scriptElement = document.createElement('script');
+  scriptElement.setAttribute('src', 'https://www.google.com/insights/consumersurveys/async_survey?site=sygvgfetfwmwm7isniaym3m6f4');
+  document.head.appendChild(scriptElement);
+}
+scriptElement = document.createElement('script');
+scriptElement.setAttribute('src', 'https://storage.googleapis.com/flutter-dashboard.appspot.com/api_survey/api_survey_docs.html');
+document.head.appendChild(scriptElement);
diff --git a/dev/docs/survey.html b/dev/docs/survey.html
index 096e19b..4fec193 100644
--- a/dev/docs/survey.html
+++ b/dev/docs/survey.html
@@ -1,3 +1,4 @@
 <script async="" defer=""
   src="//www.google.com/insights/consumersurveys/async_survey?site=i2bdmo2dzky7fqws25nicgx5f4">
 </script>
+<script async="" defer="" src="../assets/api_survey.js"></script>