Analiza użycia za pomocą usługi Application Insights

Które funkcje aplikacji internetowej lub mobilnej są najbardziej popularne? Czy użytkownicy osiągają swoje cele w aplikacji? Czy wypadają w określonych punktach i czy wracają później? Usługa Application Insights pomaga uzyskać zaawansowany wgląd w sposób, w jaki użytkownicy korzystają z aplikacji. Za każdym razem, gdy aktualizujesz aplikację, możesz ocenić, jak dobrze działa ona dla użytkowników. Dzięki tej wiedzy możesz podejmować decyzje oparte na danych dotyczące następnego cyklu programowania.

Wysyłanie danych telemetrycznych z aplikacji

Najlepsze środowisko jest uzyskiwane przez zainstalowanie usługi Application Insights zarówno w kodzie serwera aplikacji, jak i na stronach internetowych. Składniki klienta i serwera aplikacji wysyłają dane telemetryczne z powrotem do Azure Portal na potrzeby analizy.

  1. Kod serwera: Zainstaluj odpowiedni moduł dla ASP.NET, azure, Java, Node.jslub inną aplikację.

  2. Kod strony internetowej: Użyj zestawu SDK języka JavaScript do zbierania danych ze stron internetowych. Zobacz Wprowadzenie do zestawu SDK języka JavaScript.

    Uwaga

    31 marca 2025 r. zostanie zakończone świadczenie pomocy technicznej dla pozyskiwania klucza instrumentacji. Pozyskiwanie klucza instrumentacji będzie nadal działać, ale nie będziemy już zapewniać aktualizacji ani obsługi funkcji. Przejście do parametrów połączenia w celu skorzystania z nowych możliwości.

    Aby dowiedzieć się więcej o zaawansowanych konfiguracjach monitorowania witryn internetowych, zapoznaj się z artykułem dokumentacji zestawu SDK języka JavaScript.

  3. Kod aplikacji mobilnej: Użyj zestawu SDK centrum aplikacji, aby zbierać zdarzenia z aplikacji. Następnie wyślij kopie tych zdarzeń do usługi Application Insights w celu analizy, postępując zgodnie z tym przewodnikiem.

  4. Pobieranie danych telemetrycznych: Uruchom projekt w trybie debugowania przez kilka minut. Następnie poszukaj wyników w okienku Przegląd w usłudze Application Insights.

    Opublikuj aplikację, aby monitorować wydajność aplikacji i dowiedzieć się, co użytkownicy robią z aplikacją.

Eksplorowanie danych demograficznych i statystyk użycia

Dowiedz się, kiedy użytkownicy korzystają z twojej aplikacji i jakie strony są najbardziej zainteresowane. Możesz również dowiedzieć się, gdzie znajdują się użytkownicy, oraz jakie przeglądarki i systemy operacyjne używają.

Raporty Użytkownicy i sesje filtrować dane według stron lub zdarzeń niestandardowych. Raporty segmentować dane według właściwości, takich jak lokalizacja, środowisko i strona. Możesz również dodać własne filtry.

Zrzut ekranu przedstawiający kartę Użytkownicy z wykresem słupkowym.

Szczegółowe informacje po prawej stronie wskazują interesujące wzorce w zestawie danych.

  • Raport Użytkownicy zlicza unikatowych użytkowników, którzy uzyskują dostęp do stron w wybranych okresach. W przypadku aplikacji internetowych użytkownicy są liczone przy użyciu plików cookie. Jeśli ktoś uzyskuje dostęp do witryny za pomocą różnych przeglądarek lub komputerów klienckich lub czyści pliki cookie, są liczone więcej niż raz.
  • Raport Sesje przedstawia liczbę sesji użytkowników, które uzyskują dostęp do witryny. Sesja reprezentuje okres aktywności zainicjowany przez użytkownika i kończy się okresem braku aktywności przekraczającej pół godziny.

Aby uzyskać więcej informacji na temat narzędzi Użytkownicy, Sesje i Zdarzenia, zobacz Użytkownicy, sesje i analiza zdarzeń w usłudze Application Insights.

Przechowywanie: Ilu użytkowników wraca?

Przechowywanie pomaga zrozumieć, jak często użytkownicy wracają do korzystania z aplikacji na podstawie kohort użytkowników, którzy wykonali jakieś działania biznesowe w określonym przedziale czasu. Możesz:

  • Dowiedz się, jakie konkretne funkcje powodują, że użytkownicy wracają więcej niż inni.
  • Formułuj hipotezy oparte na rzeczywistych danych użytkownika.
  • Ustal, czy przechowywanie jest problemem w produkcie.

Zrzut ekranu przedstawiający skoroszyt Przechowywania, w którym są wyświetlane informacje o tym, jak często użytkownicy wracają do korzystania z aplikacji.

Możesz użyć kontrolek przechowywania u góry, aby zdefiniować określone zdarzenia i zakresy czasu w celu obliczenia przechowywania. Wykres w środku przedstawia wizualną reprezentację całkowitego procentu przechowywania według określonego zakresu czasu. Wykres na dole reprezentuje indywidualne przechowywanie w określonym przedziale czasu. Ten poziom szczegółowości pozwala zrozumieć, co robią użytkownicy i co może mieć wpływ na zwracanie użytkowników na bardziej szczegółowy stopień szczegółowości.

Aby uzyskać więcej informacji na temat skoroszytu przechowywania, zobacz Analiza przechowywania użytkowników dla aplikacji internetowych za pomocą usługi Application Insights.

Niestandardowe zdarzenia biznesowe

Aby zrozumieć interakcje użytkowników w aplikacji, wstaw wiersze kodu w celu rejestrowania zdarzeń niestandardowych. Te zdarzenia śledzą różne akcje użytkownika, takie jak wybór przycisku lub ważne wydarzenia biznesowe, takie jak zakupy lub zwycięstwa w grze.

Do zbierania zdarzeń niestandardowych można również użyć wtyczki Autocollection analizy kliknięć .

W niektórych przypadkach widoki stron mogą reprezentować przydatne zdarzenia, ale ogólnie nie są prawdziwe. Użytkownik może otworzyć stronę produktu bez zakupu produktu.

W przypadku określonych zdarzeń biznesowych możesz wykresować postęp użytkowników w witrynie. Możesz dowiedzieć się, jakie są ich preferencje dotyczące różnych opcji i gdzie wypadają lub mają trudności. Dzięki tej wiedzy możesz podejmować świadome decyzje dotyczące priorytetów na liście prac programistycznych.

Zdarzenia mogą być rejestrowane po stronie klienta aplikacji:

      appInsights.trackEvent({name: "incrementCount"});

Lub zdarzenia mogą być rejestrowane po stronie serwera:

    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");

Wartości właściwości można dołączyć do tych zdarzeń, aby można było filtrować lub dzielić zdarzenia podczas ich inspekcji w portalu. Standardowy zestaw właściwości jest również dołączany do każdego zdarzenia, takiego jak anonimowy identyfikator użytkownika, który umożliwia śledzenie sekwencji działań poszczególnych użytkowników.

Dowiedz się więcej o zdarzeniach niestandardowych i właściwościach.

Zdarzenia fragmentatora i kostki

W narzędziach Użytkownicy, Sesje i Zdarzenia można podzielić i podzielić zdarzenia niestandardowe według użytkownika, nazwy zdarzenia i właściwości.

Zrzut ekranu przedstawiający kartę Zdarzenia przefiltrowane według elementu AnalyticsItemsOperation i podzielone według identyfikatora AppID.

Za każdym razem, gdy korzystasz z dowolnego środowiska użycia, wybierz ikonę Otwórz ostatnie uruchomienie zapytania , aby wrócić do bazowego zapytania.

Zrzut ekranu przedstawiający okienko Sesja usługi Application Insights w Azure Portal. Wyróżniono ikonę Otwórz ostatnie uruchomienie zapytania.

Następnie możesz zmodyfikować bazowe zapytanie, aby uzyskać informacje, których szukasz.

Oto przykład bazowego zapytania dotyczącego widoków stron. Przejdź dalej i wklej go bezpośrednio do edytora zapytań, aby go przetestować.

// average pageView duration by name
let timeGrain=5m;
let dataset=pageViews
// additional filters can be applied here
| where timestamp > ago(1d)
| where client_Type == "Browser" ;
// calculate average pageView duration for all pageViews
dataset
| summarize avg(duration) by bin(timestamp, timeGrain)
| extend pageView='Overall'
// render result in a chart
| render timechart

Projektowanie telemetrii za pomocą aplikacji

Podczas projektowania każdej funkcji aplikacji zastanów się, w jaki sposób zamierzasz zmierzyć jej sukces z użytkownikami. Zdecyduj, jakie zdarzenia biznesowe chcesz rejestrować, i kod wywołań śledzenia tych zdarzeń do aplikacji od samego początku.

A | Testowanie B

Jeśli nie masz pewności, który wariant funkcji jest bardziej udany, wydaj obie wersje i pozwól różnym użytkownikom na dostęp do każdego wariantu. Zmierz powodzenie każdego wariantu, a następnie przejdź do ujednoliconej wersji.

W tej technice dołączasz unikatowe wartości właściwości do wszystkich danych telemetrycznych wysyłanych przez każdą wersję aplikacji. Można to zrobić, definiując właściwości w aktywnym obiekcie TelemetryContext. Te domyślne właściwości są uwzględniane w każdym komunikacie telemetrii wysyłanym przez aplikację. Obejmuje ona zarówno komunikaty niestandardowe, jak i standardowe dane telemetryczne.

W portalu usługi Application Insights przefiltruj i podziel dane na wartości właściwości, aby można było porównać różne wersje.

Aby wykonać ten krok, skonfiguruj inicjator telemetrii:

    // Telemetry initializer class
    public class MyTelemetryInitializer : ITelemetryInitializer
    {
        // In this example, to differentiate versions, we use the value specified in the AssemblyInfo.cs
        // for ASP.NET apps, or in your project file (.csproj) for the ASP.NET Core apps. Make sure that
        // you set a different assembly version when you deploy your application for A/B testing.
        static readonly string _version = 
            System.Reflection.Assembly.GetExecutingAssembly().GetName().Version.ToString();
            
        public void Initialize(ITelemetry item)
        {
            item.Context.Component.Version = _version;
        }
    }

W przypadku aplikacji ASP.NET Core dodaj nowy inicjator telemetrii do kolekcji usługi Wstrzykiwanie zależności w Program.cs klasie .

using Microsoft.ApplicationInsights.Extensibility;

builder.Services.AddSingleton<ITelemetryInitializer, MyTelemetryInitializer>();

Następne kroki