| // Copyright (c) 2015, the Dart project authors. Please see the AUTHORS file | |
| // for details. All rights reserved. Use of this source code is governed by a | |
| // BSD-style license that can be found in the LICENSE file. | |
| part of app; | |
| class Analytics { | |
| static final _UA = 'UA-26406144-17'; | |
| static final _name = 'Observatory'; | |
| static final _version = const String.fromEnvironment('OBS_VER'); | |
| static final _googleAnalytics = new AnalyticsHtml(_UA, _name, _version); | |
| static initialize() { | |
| // We only send screen views. This is allowed without user permission. | |
| // Note, before flipping this to be true we need a UI to allow users to | |
| // control this. | |
| _googleAnalytics.optIn = false; | |
| } | |
| /// Called whenever an Observatory page is viewed. | |
| static Future reportPageView(Uri uri) { | |
| // Only report analytics when running in JavaScript. | |
| if (Utils.runningInJavaScript()) { | |
| // The screen name is the uri's path. e.g. inspect, profile. | |
| final screenName = uri.path; | |
| return _googleAnalytics.sendScreenView(screenName); | |
| } else { | |
| return new Future.value(null); | |
| } | |
| } | |
| } |