Analýzy používání pomocí nástroje Application InsightsUsage analysis with Application Insights

Které funkce vaší webové nebo mobilní aplikace jsou nejoblíbenější?Which features of your web or mobile app are most popular? Dosáhnou vaši uživatelé své cíle s vaší aplikací?Do your users achieve their goals with your app? Vynechává se konkrétní body a později se vrátí?Do they drop out at particular points, and do they return later? Azure Application Insights pomáhá získat výkonné přehledy o tom, jak uživatelé vaši aplikaci používají.Azure Application Insights helps you gain powerful insights into how people use your app. Pokaždé, když aktualizujete aplikaci, můžete posoudit, jak dobře funguje pro uživatele.Every time you update your app, you can assess how well it works for users. V tomto článku se seznámíte s tím, jak můžete provádět rozhodování o dalších cyklech vývoje na základě dat.With this knowledge, you can make data driven decisions about your next development cycles.

Poslat telemetrii z vaší aplikaceSend telemetry from your app

Nejlepší prostředí získáte instalací Application Insights jak v kódu aplikačního serveru, tak i na webových stránkách.The best experience is obtained by installing Application Insights both in your app server code, and in your web pages. Klientské a serverové součásti vaší aplikace odesílají telemetrii zpátky do Azure Portal k analýze.The client and server components of your app send telemetry back to the Azure portal for analysis.

  1. Serverový kód: Nainstalujte příslušný modul pro ASP.NET, Azure, Java, Node.jsnebo jinou aplikaci.Server code: Install the appropriate module for your ASP.NET, Azure, Java, Node.js, or other app.

  2. Kód webové stránky: Před zavřením přidejte na svou webovou stránku následující skript </head> .Web page code: Add the following script to your web page before the closing </head>. Nahraďte klíč instrumentace příslušnou hodnotou pro váš Application Insights prostředek:Replace instrumentation key with the appropriate value for your Application Insights resource:

    <script type="text/javascript">
    var sdkInstance="appInsightsSDK";window[sdkInstance]="appInsights";var aiName=window[sdkInstance],aisdk=window[aiName]||function(e){function n(e){t[e]=function(){var n=arguments;t.queue.push(function(){t[e].apply(t,n)})}}var t={config:e};t.initialize=!0;var i=document,a=window;setTimeout(function(){var n=i.createElement("script");n.src=e.url||"https://az416426.vo.msecnd.net/scripts/b/ai.2.min.js",i.getElementsByTagName("script")[0].parentNode.appendChild(n)});try{t.cookie=i.cookie}catch(e){}t.queue=[],t.version=2;for(var r=["Event","PageView","Exception","Trace","DependencyData","Metric","PageViewPerformance"];r.length;)n("track"+r.pop());n("startTrackPage"),n("stopTrackPage");var s="Track"+r[0];if(n("start"+s),n("stop"+s),n("setAuthenticatedUserContext"),n("clearAuthenticatedUserContext"),n("flush"),!(!0===e.disableExceptionTracking||e.extensionConfig&&e.extensionConfig.ApplicationInsightsAnalytics&&!0===e.extensionConfig.ApplicationInsightsAnalytics.disableExceptionTracking)){n("_"+(r="onerror"));var o=a[r];a[r]=function(e,n,i,a,s){var c=o&&o(e,n,i,a,s);return!0!==c&&t["_"+r]({message:e,url:n,lineNumber:i,columnNumber:a,error:s}),c},e.autoExceptionInstrumented=!0}return t}(
    {
      instrumentationKey:"INSTRUMENTATION_KEY"
    }
    );window[aiName]=aisdk,aisdk.queue&&0===aisdk.queue.length&&aisdk.trackPageView({});
    </script>
    

    Další informace o pokročilejších konfiguracích pro monitorování webů najdete v referenčním článku o sadě JavaScript SDK.To learn more advanced configurations for monitoring websites, check out the JavaScript SDK reference article.

  3. Kód mobilní aplikace: Pomocí sady App Center SDK můžete shromažďovat události z vaší aplikace a pak tyto události poslat do Application Insights pro účely analýzy pomocí této příručky.Mobile app code: Use the App Center SDK to collect events from your app, then send copies of these events to Application Insights for analysis by following this guide.

  4. Získat telemetrii: Spusťte projekt v režimu ladění po dobu několika minut a potom vyhledejte výsledky v okně Přehled v Application Insights.Get telemetry: Run your project in debug mode for a few minutes, and then look for results in the Overview blade in Application Insights.

    Publikováním aplikace můžete monitorovat výkon vaší aplikace a zjistit, co uživatelé s vaší aplikací dělají.Publish your app to monitor your app's performance and find out what your users are doing with your app.

Zahrnutí ID uživatele a relace do telemetrieInclude user and session ID in your telemetry

Aby bylo možné sledovat uživatele v průběhu času, Application Insights vyžaduje způsob jejich identifikace.To track users over time, Application Insights requires a way to identify them. Jediným nástrojem pro použití, který nevyžaduje ID uživatele nebo ID relace, je nástroj Events.The Events tool is the only Usage tool that does not require a user ID or a session ID.

Zahajte odesílání ID uživatelů a relací pomocí tohoto procesu.Start sending user and session IDs using this process.

Prozkoumat demografické údaje o využití a statistikyExplore usage demographics and statistics

Zjistěte, kdy lidé používají vaši aplikaci, jaké stránky mají nejvíc zajímat, kde se nacházejí vaši uživatelé, jaké prohlížeče a operační systémy používají.Find out when people use your app, what pages they're most interested in, where your users are located, what browsers and operating systems they use.

Sestavy uživatelé a relace filtrují data podle stránek nebo vlastních událostí a segmentují je podle vlastností, jako je umístění, prostředí a stránka.The Users and Sessions reports filter your data by pages or custom events, and segment them by properties such as location, environment, and page. Můžete také přidat vlastní filtry.You can also add your own filters.

Uživatelé

Přehledy o tom, jaké jsou zajímavé vzory v sadě dat, najdete na pravé straně.Insights on the right point out interesting patterns in the set of data.

  • Sestava Uživatelé vypočítává počet jedinečných uživatelů, kteří přistupují k vašim stránkám v rámci zvolených časových období.The Users report counts the numbers of unique users that access your pages within your chosen time periods. U webových aplikací se uživatelé počítají pomocí souborů cookie.For web apps, users are counted by using cookies. Pokud někdo přistupuje k webu pomocí různých prohlížečů nebo klientských počítačů nebo vymaže své soubory cookie, bude se počítat více než jednou.If someone accesses your site with different browsers or client machines, or clears their cookies, then they will be counted more than once.
  • Sestava relace spočítá počet uživatelských relací, které přistupují k vašemu webu.The Sessions report counts the number of user sessions that access your site. Relace je doba aktivity uživatele, která se ukončila po dobu nečinnosti delší než půl hodiny.A session is a period of activity by a user, terminated by a period of inactivity of more than half an hour.

Další informace o nástrojích uživatelé, relace a událostiMore about the Users, Sessions, and Events tools

Uchování – kolik uživatelů se vrátí?Retention - how many users come back?

Uchovávání vám pomůže pochopit, jak často se uživatelé budou vracet k používání své aplikace, na základě kohorty uživatelů, kteří provedli některé obchodní akce během určitého časového intervalu.Retention helps you understand how often your users return to use their app, based on cohorts of users that performed some business action during a certain time bucket. 

  • Informace o tom, jaké konkrétní funkce způsobí, že se uživatelé budou moci vrátit více než jinéUnderstand what specific features cause users to come back more than others
  • Forma hypotézy založená na datech reálného uživateleForm hypotheses based on real user data
  • Zjistěte, jestli je uchovávání problému v produktu.Determine whether retention is a problem in your product

Uchovávání

Ovládací prvky uchování v horní části umožňují definovat konkrétní události a časový rozsah pro výpočet uchovávání.The retention controls on top allow you to define specific events and time range to calculate retention. Graf uprostřed poskytuje vizuální znázornění celkového procenta uchování v zadaném časovém rozsahu.The graph in the middle gives a visual representation of the overall retention percentage by the time range specified. Graf v dolní části představuje individuální uchování v daném časovém období.The graph on the bottom represents individual retention in a given time period. Tato úroveň podrobností vám umožní pochopit, co dělají vaši uživatelé a co může ovlivnit vracení uživatelů na podrobnější členitost.This level of detail allows you to understand what your users are doing and what might affect returning users on a more detailed granularity.

Další informace o nástroji pro uchovávání informacíMore about the Retention tool

Vlastní obchodní událostiCustom business events

Chcete-li získat jasné informace o tom, co uživatelé s vaší aplikací dělají, je vhodné vložit řádky kódu do protokolu pro vlastní události.To get a clear understanding of what users do with your app, it's useful to insert lines of code to log custom events. Tyto události mohou sledovat cokoli od podrobných uživatelských akcí, jako je například kliknutí na určitá tlačítka, na důležitější obchodní události, jako je například vytvoření nákupu nebo získání hry.These events can track anything from detailed user actions such as clicking specific buttons, to more significant business events such as making a purchase or winning a game.

I když v některých případech mohou zobrazení stránky představovat užitečné události, neplatí obecně.Although in some cases, page views can represent useful events, it isn't true in general. Uživatel může otevřít stránku produktu bez nákupu produktu.A user can open a product page without buying the product.

S konkrétními obchodními událostmi můžete pomocí webu sestavovat průběh vašich uživatelů.With specific business events, you can chart your users' progress through your site. Můžete si najít své předvolby pro různé možnosti a místo jejich vyřazení nebo potíží.You can find out their preferences for different options, and where they drop out or have difficulties. S tímto vědomím se můžete rozhodnout o prioritách v nevyřízených položkách vývoje.With this knowledge, you can make informed decisions about the priorities in your development backlog.

Události se dají protokolovat ze strany klienta aplikace:Events can be logged from the client side of the app:


    appInsights.trackEvent("ExpandDetailTab", {DetailTab: tabName});

Nebo na straně serveru:Or from the server side:

    var tc = new Microsoft.ApplicationInsights.TelemetryClient();
    tc.TrackEvent("CreatedAccount", new Dictionary<string,string> {"AccountType":account.Type}, null);
    ...
    tc.TrackEvent("AddedItemToCart", new Dictionary<string,string> {"Item":item.Name}, null);
    ...
    tc.TrackEvent("CompletedPurchase");

K těmto událostem můžete přiřadit hodnoty vlastností, abyste mohli události filtrovat nebo rozdělit při jejich kontrole na portálu.You can attach property values to these events, so that you can filter or split the events when you inspect them in the portal. Kromě toho je ke každé události připojená standardní sada vlastností, jako je například anonymní ID uživatele, což vám umožňuje sledovat posloupnost aktivit jednotlivých uživatelů.In addition, a standard set of properties is attached to each event, such as anonymous user ID, which allows you to trace the sequence of activities of an individual user.

Přečtěte si další informace o vlastních událostech a vlastnostech.Learn more about custom events and properties.

Události řezů a kostekSlice and dice events

V nástrojích uživatelé, relace a události můžete rozřezat a indexovat vlastní události podle uživatele, názvu události a vlastností.In the Users, Sessions, and Events tools, you can slice and dice custom events by user, event name, and properties. UživateléUsers

Návrh telemetrie s aplikacíDesign the telemetry with the app

Když navrhujete jednotlivé funkce aplikace, zvažte, jak budete měřit úspěch s vašimi uživateli.When you are designing each feature of your app, consider how you are going to measure its success with your users. Rozhodněte, jaké obchodní události potřebujete zaznamenat, a zaznamenejte volání sledování těchto událostí do vaší aplikace od začátku.Decide what business events you need to record, and code the tracking calls for those events into your app from the start.

A | B testováníA | B Testing

Pokud si nejste jisti, kterou variantu funkce bude možné považovat za úspěšnou, vyžádejte si obě z nich, aby každý z nich měl přístup k různým uživatelům.If you don't know which variant of a feature will be more successful, release both of them, making each accessible to different users. Změřte úspěšnost jednotlivých a potom přejděte na sjednocenou verzi.Measure the success of each, and then move to a unified version.

Pro tuto techniku připojíte jedinečné hodnoty vlastností ke všem telemetriem, které jsou odesílány každou verzí vaší aplikace.For this technique, you attach distinct property values to all the telemetry that is sent by each version of your app. To lze provést definováním vlastností v aktivním TelemetryContext.You can do that by defining properties in the active TelemetryContext. Tyto výchozí vlastnosti jsou přidány do každé zprávy telemetrie, kterou aplikace odesílá – ne pouze vlastní zprávy, ale také standardní telemetrii.These default properties are added to every telemetry message that the application sends - not just your custom messages, but the standard telemetry as well.

Na portálu Application Insights vyfiltrujte a rozdělte data podle hodnot vlastností, aby bylo možné porovnat různé verze.In the Application Insights portal, filter and split your data on the property values, so as to compare the different versions.

K tomu je potřeba nastavit inicializátor telemetrie:To do this, set up a telemetry initializer:

Aplikace v ASP.NETASP.NET apps

    // Telemetry initializer class
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        public void Initialize(ITelemetry item)
            {
                var itemProperties = item as ISupportProperties;
                if (itemProperties != null && !itemProperties.Properties.ContainsKey("AppVersion"))
                {
                    itemProperties.Properties["AppVersion"] = "v2.1";
                }
            }
    }

V inicializátoru webové aplikace, jako je například Global.asax.cs:In the web app initializer such as Global.asax.cs:


    protected void Application_Start()
    {
        // ...
        TelemetryConfiguration.Active.TelemetryInitializers
         .Add(new MyTelemetryInitializer());
    }

Aplikace ASP.NET CoreASP.NET Core apps

Poznámka

Přidání inicializátoru pomocí ApplicationInsights.config nebo použití TelemetryConfiguration.Active není pro ASP.NET Core aplikace platné.Adding initializer using ApplicationInsights.config or using TelemetryConfiguration.Active is not valid for ASP.NET Core applications.

U ASP.NET Corech aplikací je přidání nového TelemetryInitializer provedeno přidáním do kontejneru vkládání závislostí, jak je znázorněno níže.For ASP.NET Core applications, adding a new TelemetryInitializer is done by adding it to the Dependency Injection container, as shown below. To se provádí v ConfigureServices metodě vaší Startup.cs třídy.This is done in ConfigureServices method of your Startup.cs class.

 using Microsoft.ApplicationInsights.Extensibility;
 using CustomInitializer.Telemetry;
 public void ConfigureServices(IServiceCollection services)
{
    services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();
}

Všechny nové TelemetryClients automaticky přidají hodnotu vlastnosti, kterou zadáte.All new TelemetryClients automatically add the property value you specify. Jednotlivé události telemetrie můžou přepsat výchozí hodnoty.Individual telemetry events can override the default values.

Další krokyNext steps