blob: 80247b1357bd3f9e3d03f53e49ee0df11368c3e1 [file] [log] [blame]
Devon Carewb59f60b2016-10-16 13:23:46 -07001// Copyright (c) 2014, the Dart project authors. Please see the AUTHORS file
2// for details. All rights reserved. Use of this source code is governed by a
3// BSD-style license that can be found in the LICENSE file.
4
5/**
6 * In order to use this library import the `usage_html.dart` file and
7 * instantiate the [AnalyticsHtml] class.
8 *
9 * You'll need to provide a Google Analytics tracking ID, the application name,
10 * and the application version.
11 */
12library usage_html;
13
14import 'dart:html';
15
16import 'src/usage_impl.dart';
17import 'src/usage_impl_html.dart';
18
19export 'usage.dart';
20
21/**
22 * An interface to a Google Analytics session, suitable for use in web apps.
23 *
24 * [analyticsUrl] is an optional replacement for the default Google Analytics
25 * URL (`https://www.google-analytics.com/collect`).
26 */
27class AnalyticsHtml extends AnalyticsImpl {
Kevin Moore40963532017-01-24 15:29:26 -080028 AnalyticsHtml(
29 String trackingId, String applicationName, String applicationVersion,
30 {String analyticsUrl})
31 : super(trackingId, new HtmlPersistentProperties(applicationName),
32 new HtmlPostHandler(),
33 applicationName: applicationName,
34 applicationVersion: applicationVersion,
35 analyticsUrl: analyticsUrl) {
Devon Carewb59f60b2016-10-16 13:23:46 -070036 int screenWidth = window.screen.width;
37 int screenHeight = window.screen.height;
38
39 setSessionValue('sr', '${screenWidth}x$screenHeight');
40 setSessionValue('sd', '${window.screen.pixelDepth}-bits');
41 setSessionValue('ul', window.navigator.language);
42 }
43}