Application Insights ile kullanım analizi

Web veya mobil uygulamanızın en popüler özellikleri hangileridir? Kullanıcılarınız kendi hedeflerine uygulamanızla ulaşır mı? Belirli noktalara mı çıkıyorlar ve daha sonra mı geri dönüyorlar? Application Insights , kişilerin uygulamanızı nasıl kullandığı hakkında güçlü içgörüler elde etmenize yardımcı olur. Uygulamanızı her güncelleştirdiğinizde, kullanıcılar için ne kadar iyi çalıştığını değerlendirebilirsiniz. Bu bilgiyle, bir sonraki geliştirme döngüleriniz hakkında veri odaklı kararlar alabilirsiniz.

Uygulamanızdan telemetri gönderme

En iyi deneyim hem uygulama sunucu kodunuz hem de web sayfalarınıza Application Insights yüklenerek elde edilir. Uygulamanızın istemci ve sunucu bileşenleri telemetri verilerini analiz için Azure portal geri gönderir.

  1. Sunucu kodu:ASP.NET, Azure, Java, Node.jsveya başka bir uygulama için uygun modülü yükleyin.

  2. Web sayfası kodu: Web sayfalarından veri toplamak için JavaScript SDK'sını kullanın. Bkz. JavaScript SDK'sını kullanmaya başlama.

    Not

    31 Mart 2025’te izleme anahtarı alımı desteği sona erecektir. İzleme anahtarı alımı çalışmaya devam edecek, ancak artık özellik için güncelleştirmeler veya destek sağlamayacağız. Yeni özelliklerden yararlanmak için bağlantı dizelerine geçiş.

    Web sitelerini izlemeye yönelik daha gelişmiş yapılandırmalar hakkında daha fazla bilgi edinmek için JavaScript SDK başvuru makalesine bakın.

  3. Mobil uygulama kodu: Uygulamanızdan olay toplamak için App Center SDK'sını kullanın. Ardından bu kılavuzu izleyerek bu olayların kopyalarını analiz için Application Insights'a gönderin.

  4. Telemetri alın: Projenizi birkaç dakika boyunca hata ayıklama modunda çalıştırın. Ardından Application Insights'ın Genel Bakış bölmesinde sonuçları arayın.

    Uygulamanızı yayımlayarak uygulamanızın performansını izleyin ve kullanıcılarınızın uygulamanızla ne yaptığını öğrenin.

Kullanım demografik bilgilerini ve istatistiklerini keşfetme

Kullanıcıların uygulamanızı ne zaman kullandığını ve en çok hangi sayfalarla ilgilendiklerini öğrenin. Ayrıca kullanıcılarınızın nerede olduğunu ve hangi tarayıcıları ve işletim sistemlerini kullandıklarını da öğrenebilirsiniz.

Kullanıcılar ve Oturumlar raporları, verilerinizi sayfalara veya özel olaylara göre filtreler. Raporlar verileri konum, ortam ve sayfa gibi özelliklere göre bölümlere ayırır. Kendi filtrelerinizi de ekleyebilirsiniz.

Çubuk grafik içeren Kullanıcılar sekmesini gösteren ekran görüntüsü.

Sağdaki içgörüler, veri kümesindeki ilginç desenleri gösterir.

  • Kullanıcılar raporu, seçtiğiniz zaman aralıkları içinde sayfalarınıza erişen benzersiz kullanıcıların sayısını sayar. Web uygulamaları için kullanıcılar tanımlama bilgileri kullanılarak sayılır. Birisi sitenize farklı tarayıcılar veya istemci makineleriyle erişirse veya tanımlama bilgilerini temizlerse, bunlar birden çok kez sayılır.
  • Oturumlar raporu, sitenize erişen kullanıcı oturumlarının sayısını belirler. Oturum, bir kullanıcı tarafından başlatılan etkinlik süresini temsil eder ve işlem yapılmama süresinin yarım saati aşmasıyla sonuçlanan bir dönemdir.

Kullanıcılar, Oturumlar ve Olaylar araçları hakkında daha fazla bilgi için bkz. Application Insights'ta kullanıcılar, oturumlar ve olay analizi.

Bekletme: Kaç kullanıcı geri döner?

Bekletme, belirli bir zaman aralığı boyunca bazı iş eylemleri gerçekleştiren kullanıcı kohortlarına bağlı olarak kullanıcılarınızın uygulamalarını ne sıklıkta kullanmaya geri döndüğünü anlamanıza yardımcı olur. Şunları yapabilirsiniz:

  • Belirli özelliklerin kullanıcıların diğerlerinden daha fazla geri dönmesine neden olduğunu anlayın.
  • Gerçek kullanıcı verilerini temel alan hipotezler oluşturun.
  • Elde tutmanın ürününüzde sorun olup olmadığını belirleyin.

Kullanıcıların uygulamalarını kullanma sıklıklarıyla ilgili bilgileri görüntüleyen Bekletme çalışma kitabını gösteren ekran görüntüsü.

Bekletmeyi hesaplamak üzere belirli olayları ve zaman aralıklarını tanımlamak için üstte bekletme denetimlerini kullanabilirsiniz. Ortadaki grafik, belirtilen zaman aralığına göre genel saklama yüzdesinin görsel bir gösterimini sağlar. Alttaki grafik, belirli bir zaman aralığındaki bireysel saklamayı temsil eder. Bu ayrıntı düzeyi, kullanıcılarınızın neler yaptığını ve geri dönen kullanıcıları daha ayrıntılı bir ayrıntı düzeyinde nasıl etkileyebileceğini anlamanıza olanak tanır.

Bekletme çalışma kitabı hakkında daha fazla bilgi için bkz. Application Insights ile web uygulamaları için kullanıcı bekletme analizi.

Özel iş olayları

Uygulamanızdaki kullanıcı etkileşimlerini anlamak için özel olayları günlüğe kaydetmek için kod satırları ekleyin. Bu etkinlikler düğme seçimleri gibi çeşitli kullanıcı eylemlerini ya da satın almalar veya oyun zaferleri gibi önemli iş etkinliklerini izler.

Özel olayları toplamak için Click Analytics Otomatik Toplama eklentisini de kullanabilirsiniz.

Bazı durumlarda sayfa görünümleri yararlı olayları temsil edebilir ancak genel olarak doğru değildir. Kullanıcı, ürünü satın almadan ürün sayfasını açabilir.

Belirli iş olaylarıyla, kullanıcılarınızın ilerleme durumunu siteniz üzerinden grafikleyebilirsiniz. Farklı seçenekler için tercihlerini ve nerede bıraktıklarını veya zorluk yaşadıkları yerleri öğrenebilirsiniz. Bu bilgiyle, geliştirme kapsamınızdaki öncelikler hakkında bilinçli kararlar alabilirsiniz.

Olaylar uygulamanın istemci tarafından günlüğe kaydedilebilir:

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

Ya da olaylar sunucu tarafından günlüğe kaydedilebilir:

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

Portalda incelerken olayları filtreleyebileceğiniz veya bölebilmeniz için bu olaylara özellik değerleri ekleyebilirsiniz. Her olaya anonim kullanıcı kimliği gibi, tek bir kullanıcının etkinlik dizisini izlemenizi sağlayan standart bir özellik kümesi de eklenir.

Özel olaylar ve özellikler hakkında daha fazla bilgi edinin.

Dilim ve zar olayları

Kullanıcılar, Oturumlar ve Olaylar araçlarında özel olayları kullanıcıya, olay adına ve özelliklere göre dilimleyebilir ve ayırabilirsiniz.

AnalyticsItemsOperation tarafından filtrelenen ve AppID'ye göre bölünmüş Olaylar sekmesini gösteren ekran görüntüsü.

Herhangi bir kullanım deneyiminde olduğunuzda, temel alınan sorguya geri dönmeniz için Son çalıştırma sorgusunu aç simgesini seçin.

Azure portal Application Insights Oturumu bölmesinin ekran görüntüsü. Son çalıştırma sorgusunu aç simgesi vurgulanır.

Ardından, aradığınız bilgi türünü almak için temel sorguyu değiştirebilirsiniz.

Aşağıda, sayfa görünümleri hakkında temel alınan bir sorgu örneği verilmiştir. Test etmek için doğrudan sorgu düzenleyicisine yapıştırın.

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

Telemetriyi uygulamayla tasarlama

Uygulamanızın her özelliğini tasarlarken, kullanıcılarınızın başarısını nasıl ölçeceğini göz önünde bulundurun. Hangi iş olaylarını kaydetmeniz gerektiğine karar verin ve bu olaylar için izleme çağrılarını en baştan uygulamanıza kodlayın.

A | B testi

Hangi özellik çeşidinin daha başarılı olduğundan emin değilseniz her ikisini de serbest bırakın ve farklı kullanıcıların her bir varyanta erişmesine izin verin. Her bir değişkenin başarısını ölçün ve ardından birleşik bir sürüme geçin.

Bu teknikte, uygulamanızın her sürümü tarafından gönderilen tüm telemetriye benzersiz özellik değerleri eklersiniz. Etkin TelemetryContext içinde özellikleri tanımlayarak bunu yapabilirsiniz. Bu varsayılan özellikler, uygulama tarafından gönderilen her telemetri iletisine eklenir. Hem özel iletileri hem de standart telemetriyi içerir.

Application Insights portalında, farklı sürümleri karşılaştırabilmeniz için verilerinizi özellik değerlerine göre filtreleyin ve bölün.

Bu adımı gerçekleştirmek için bir telemetri başlatıcısı ayarlayın:

    // 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;
        }
    }

ASP.NET Core uygulamalar için, sınıfındaki Bağımlılık Ekleme hizmeti koleksiyonuna yeni bir telemetri başlatıcısı Program.cs ekleyin.

using Microsoft.ApplicationInsights.Extensibility;

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

Sonraki adımlar