blob: 9c76ee689816267e91aec129a3bd867ac0f3519d [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,
Dominick Ngb423ee32018-05-23 06:54:5851 DISMISS_EVENT_AMBIENT_INFOBAR_DISMISSED = 48,
52 DISMISS_EVENT_MAX = 49,
dfalcantaraaada8ca52015-02-19 00:42:3653};
54
dominickn4f6382c42016-07-07 02:41:3955// This enum backs a UMA histogram, so it should be treated as append-only.
dominickn1bd97d32015-08-07 02:29:0956enum UserResponse {
57 USER_RESPONSE_MIN = 0,
58 USER_RESPONSE_NATIVE_APP_ACCEPTED = 1,
59 USER_RESPONSE_WEB_APP_ACCEPTED = 2,
60 USER_RESPONSE_NATIVE_APP_DISMISSED = 3,
61 USER_RESPONSE_WEB_APP_DISMISSED = 4,
62 USER_RESPONSE_NATIVE_APP_IGNORED = 5,
63 USER_RESPONSE_WEB_APP_IGNORED = 6,
64 USER_RESPONSE_MAX = 7,
65};
66
dominickn4f6382c42016-07-07 02:41:3967// This enum backs a UMA histogram, so it should be treated as append-only.
68enum BeforeInstallEvent {
69 BEFORE_INSTALL_EVENT_MIN = 0,
70 BEFORE_INSTALL_EVENT_CREATED = 1,
71 BEFORE_INSTALL_EVENT_COMPLETE = 2,
72 BEFORE_INSTALL_EVENT_NO_ACTION = 3,
73 BEFORE_INSTALL_EVENT_PREVENT_DEFAULT_CALLED = 4,
74 BEFORE_INSTALL_EVENT_PROMPT_CALLED_AFTER_PREVENT_DEFAULT = 5,
75 BEFORE_INSTALL_EVENT_PROMPT_NOT_CALLED_AFTER_PREVENT_DEFAULT = 6,
76 BEFORE_INSTALL_EVENT_MAX = 7,
77};
78
dominickncac362b2016-01-06 08:25:1579extern const char kDismissEventHistogram[];
80extern const char kDisplayEventHistogram[];
81extern const char kInstallEventHistogram[];
82extern const char kMinutesHistogram[];
83extern const char kUserResponseHistogram[];
dominickn4f6382c42016-07-07 02:41:3984extern const char kBeforeInstallEventHistogram[];
dominickndf301a202016-08-16 02:32:2785extern const char kInstallableStatusCodeHistogram[];
Piotr Swigonb08dc1c2017-10-10 08:42:5886extern const char kInstallDisplayModeHistogram[];
dominickncac362b2016-01-06 08:25:1587
dfalcantaraaada8ca52015-02-19 00:42:3688void TrackDismissEvent(int event);
89void TrackDisplayEvent(int event);
90void TrackInstallEvent(int event);
dominickncac362b2016-01-06 08:25:1591void TrackMinutesFromFirstVisitToBannerShown(int minutes);
dominickn1bd97d32015-08-07 02:29:0992void TrackUserResponse(int event);
dominickn4f6382c42016-07-07 02:41:3993void TrackBeforeInstallEvent(int event);
dominickndf301a202016-08-16 02:32:2794void TrackInstallableStatusCode(InstallableStatusCode code);
Piotr Swigonb08dc1c2017-10-10 08:42:5895void TrackInstallDisplayMode(blink::WebDisplayMode display);
dfalcantaraaada8ca52015-02-19 00:42:3696
Nico Weber42c88d62019-02-11 03:09:2597} // namespace banners
dfalcantaraaada8ca52015-02-19 00:42:3698
99#endif // CHROME_BROWSER_BANNERS_APP_BANNER_METRICS_H_