blob: 273a627a8c68da0886f0a793b8af32a114e74137 [file] [log] [blame]
// Copyright 2012 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
#ifndef IOS_CHROME_BROWSER_FIRST_RUN_FIRST_RUN_METRICS_H_
#define IOS_CHROME_BROWSER_FIRST_RUN_FIRST_RUN_METRICS_H_
@protocol FirstRunMetricsDelegate
// A callback function to whichever object is keeping track of whether
// a user has attempted to sign in during First Run Sign-in flow.
- (void)setSignInAttempted;
@end
namespace first_run {
// The different First Run Chrome Login outcomes for users.
enum SignInStatus {
// User skipped sign in by clicking on Skip at the first opportunity.
SIGNIN_SKIPPED_QUICK,
// User signed in to Chrome successfully at First Run.
SIGNIN_SUCCESSFUL,
// User attempted to sign in, but gave up by clicking on Skip after trying.
SIGNIN_SKIPPED_GIVEUP,
// SSO account exists and user skipped sign in by clicking on Skip at the
// first opportunity.
HAS_SSO_ACCOUNT_SIGNIN_SKIPPED_QUICK,
// SSO account exists and user signed in to Chrome successfully at First Run.
HAS_SSO_ACCOUNT_SIGNIN_SUCCESSFUL,
// SSO account exists and user attempted to sign in, but gave up by clicking
// on Skip after trying.
HAS_SSO_ACCOUNT_SIGNIN_SKIPPED_GIVEUP,
// Number of First Run states.
SIGNIN_SIZE
};
// Starting with iOS 6, Mobile Safari supports Smart App Banners which
// can direct users into AppStore to download another app and then launches
// the freshly installed app. This UMA histogram tracks the number of
// Chrome application launched for the first time (First Run) as the
// result of -openURL: call by another application. Note that there is no
// 100%-sure way of telling if a launch is due to Smart App Banners.
enum ExternalLaunch {
// Chrome was launched for the first time from Mobile Safari and there is
// sufficient evidence (e.g. via URL parameters) that it was the result of
// a Smart App Banner.
LAUNCH_BY_SMARTAPPBANNER,
// Chrome was launched for the first time from Mobile Safari, but there is
// not sufficient indicator to show that it was launched as a result of a
// click on Smart App Banner.
LAUNCH_BY_MOBILESAFARI,
// Chrome was launch for the first time by some other applications.
LAUNCH_BY_OTHERS,
// Number of ways that Chrome was launched for the first time.
LAUNCH_SIZE
};
} // namespace first_run
#endif // IOS_CHROME_BROWSER_FIRST_RUN_FIRST_RUN_METRICS_H_