blob: 4f5e01ced6cdb2cb2b3e1dd1eff22c71372117ad [file] [log] [blame]
dfalcantaraaada8ca52015-02-19 00:42:361// Copyright 2015 The Chromium Authors. All rights reserved.
2// Use of this source code is governed by a BSD-style license that can be
3// found in the LICENSE file.
4
5#ifndef CHROME_BROWSER_BANNERS_APP_BANNER_METRICS_H_
6#define CHROME_BROWSER_BANNERS_APP_BANNER_METRICS_H_
7
dominickndf301a202016-08-16 02:32:278#include "chrome/browser/installable/installable_logging.h"
Dmitry Gozman88ca5a992018-05-18 00:13:339#include "third_party/blink/public/common/manifest/web_display_mode.h"
dominickndf301a202016-08-16 02:32:2710
dfalcantaraaada8ca52015-02-19 00:42:3611namespace banners {
12
dominickn4f6382c42016-07-07 02:41:3913// This enum backs a UMA histogram, so it should be treated as append-only.
dfalcantaraaada8ca52015-02-19 00:42:3614enum DisplayEvent {
15 DISPLAY_EVENT_MIN = 0,
16 DISPLAY_EVENT_BANNER_REQUESTED = 1,
17 DISPLAY_EVENT_BLOCKED_PREVIOUSLY = 2,
18 DISPLAY_EVENT_PROMOTED_TOO_MANY_OTHERS = 3,
19 DISPLAY_EVENT_CREATED = 4,
20 DISPLAY_EVENT_INSTALLED_PREVIOUSLY = 5,
21 DISPLAY_EVENT_IGNORED_PREVIOUSLY = 6,
22 DISPLAY_EVENT_LACKS_SERVICE_WORKER = 7,
23 DISPLAY_EVENT_NOT_VISITED_ENOUGH = 8,
dominickn231b3092015-07-24 22:30:5724 DISPLAY_EVENT_NATIVE_APP_BANNER_REQUESTED = 9,
25 DISPLAY_EVENT_WEB_APP_BANNER_REQUESTED = 10,
26 DISPLAY_EVENT_NATIVE_APP_BANNER_CREATED = 11,
27 DISPLAY_EVENT_WEB_APP_BANNER_CREATED = 12,
28 DISPLAY_EVENT_MAX = 13,
dfalcantaraaada8ca52015-02-19 00:42:3629};
30
dominickn4f6382c42016-07-07 02:41:3931// This enum backs a UMA histogram, so it should be treated as append-only.
dfalcantaraaada8ca52015-02-19 00:42:3632enum InstallEvent {
33 INSTALL_EVENT_MIN = 20,
34 INSTALL_EVENT_NATIVE_APP_INSTALL_TRIGGERED = 21,
35 INSTALL_EVENT_NATIVE_APP_INSTALL_STARTED = 22,
36 INSTALL_EVENT_NATIVE_APP_INSTALL_COMPLETED = 23,
37 INSTALL_EVENT_WEB_APP_INSTALLED = 24,
38 INSTALL_EVENT_MAX = 25,
39};
40
dominickn4f6382c42016-07-07 02:41:3941// This enum backs a UMA histogram, so it should be treated as append-only.
dfalcantaraaada8ca52015-02-19 00:42:3642enum DismissEvent {
43 DISMISS_EVENT_MIN = 40,
44 DISMISS_EVENT_ERROR = 41,
45 DISMISS_EVENT_APP_OPEN = 42,
46 DISMISS_EVENT_BANNER_CLICK = 43,
47 DISMISS_EVENT_BANNER_SWIPE = 44,
48 DISMISS_EVENT_CLOSE_BUTTON = 45,
49 DISMISS_EVENT_INSTALL_TIMEOUT = 46,
50 DISMISS_EVENT_DISMISSED = 47,
51 DISMISS_EVENT_MAX = 48,
52};
53
dominickn4f6382c42016-07-07 02:41:3954// This enum backs a UMA histogram, so it should be treated as append-only.
dominickn1bd97d32015-08-07 02:29:0955enum UserResponse {
56 USER_RESPONSE_MIN = 0,
57 USER_RESPONSE_NATIVE_APP_ACCEPTED = 1,
58 USER_RESPONSE_WEB_APP_ACCEPTED = 2,
59 USER_RESPONSE_NATIVE_APP_DISMISSED = 3,
60 USER_RESPONSE_WEB_APP_DISMISSED = 4,
61 USER_RESPONSE_NATIVE_APP_IGNORED = 5,
62 USER_RESPONSE_WEB_APP_IGNORED = 6,
63 USER_RESPONSE_MAX = 7,
64};
65
dominickn4f6382c42016-07-07 02:41:3966// This enum backs a UMA histogram, so it should be treated as append-only.
67enum BeforeInstallEvent {
68 BEFORE_INSTALL_EVENT_MIN = 0,
69 BEFORE_INSTALL_EVENT_CREATED = 1,
70 BEFORE_INSTALL_EVENT_COMPLETE = 2,
71 BEFORE_INSTALL_EVENT_NO_ACTION = 3,
72 BEFORE_INSTALL_EVENT_PREVENT_DEFAULT_CALLED = 4,
73 BEFORE_INSTALL_EVENT_PROMPT_CALLED_AFTER_PREVENT_DEFAULT = 5,
74 BEFORE_INSTALL_EVENT_PROMPT_NOT_CALLED_AFTER_PREVENT_DEFAULT = 6,
75 BEFORE_INSTALL_EVENT_MAX = 7,
76};
77
dominickncac362b2016-01-06 08:25:1578extern const char kDismissEventHistogram[];
79extern const char kDisplayEventHistogram[];
80extern const char kInstallEventHistogram[];
81extern const char kMinutesHistogram[];
82extern const char kUserResponseHistogram[];
dominickn4f6382c42016-07-07 02:41:3983extern const char kBeforeInstallEventHistogram[];
dominickndf301a202016-08-16 02:32:2784extern const char kInstallableStatusCodeHistogram[];
Piotr Swigonb08dc1c2017-10-10 08:42:5885extern const char kInstallDisplayModeHistogram[];
dominickncac362b2016-01-06 08:25:1586
dfalcantaraaada8ca52015-02-19 00:42:3687void TrackDismissEvent(int event);
88void TrackDisplayEvent(int event);
89void TrackInstallEvent(int event);
dominickncac362b2016-01-06 08:25:1590void TrackMinutesFromFirstVisitToBannerShown(int minutes);
dominickn1bd97d32015-08-07 02:29:0991void TrackUserResponse(int event);
dominickn4f6382c42016-07-07 02:41:3992void TrackBeforeInstallEvent(int event);
dominickndf301a202016-08-16 02:32:2793void TrackInstallableStatusCode(InstallableStatusCode code);
Piotr Swigonb08dc1c2017-10-10 08:42:5894void TrackInstallDisplayMode(blink::WebDisplayMode display);
dfalcantaraaada8ca52015-02-19 00:42:3695
96}; // namespace banners
97
98#endif // CHROME_BROWSER_BANNERS_APP_BANNER_METRICS_H_