| // 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_ |