Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Důležité
Visual Studio App Center bylo vyřazeno 31. března 2025 s výjimkou funkcí Analýzy a diagnostiky, které se budou dál podporovat až do 30. června 2026. Další informace.
App Center Analytics vám pomůže pochopit chování uživatelů a zapojení zákazníků a zlepšit tak vaši aplikaci. Sada SDK automaticky zaznamenává počet relací a vlastnosti zařízení, jako je model, verze operačního systému atd. Můžete definovat vlastní události pro měření věcí, které jsou pro vás důležité. Všechny zachycené informace jsou k dispozici na portálu App Center, abyste mohli analyzovat data.
Pokud jste ještě nenastavili sadu SDK ve své aplikaci, postupujte podle části Začínáme s WPF/WinForms nebo UPW/WinUI ( na základě vaší platformy).
Pokyny na této stránce fungují pro UPW (včetně Xamarin.Forms a WinUI), WPF a WinForms.
Informace o relacích a zařízeních
Jakmile do aplikace přidáte analýzu App Center a spustíte sadu SDK, automaticky bude sledovat relace a vlastnosti zařízení, jako je verze operačního systému, model atd.
Poznámka:
U aplikací WinUI může být počet relací nižší než u aplikací pro UWP, a to vzhledem ke specifikům jejich životního cyklu.
Kód země
Sada SDK automaticky neoznamuje kód země. Pokud ji chcete ručně nahlásit, můžete postupovat podle pokynů pro níže uvedené platformy.
Univerzální platforma Windows (UWP)
- Ujistěte se, že pro aplikaci povolíte funkci umístění .
- Získejte ověřovací klíč map Bing.
- Před voláním
AppCenter.Start(... typeof(Analytics) ...);použijte následující kód na libovolném místě . JakoBingMapsToken, použijte klíč získaný v kroku 2.
private static async Task SetCountryCode()
{
// The following country code is used only as a fallback for the main implementation.
// This fallback country code doesn't reflect the physical device location, but rather the
// country that corresponds to the culture it uses.
var countryCode = new GeographicRegion().CodeTwoLetter;
var accessStatus = await Geolocator.RequestAccessAsync();
switch (accessStatus)
{
case GeolocationAccessStatus.Allowed:
var geoLocator = new Geolocator
{
DesiredAccuracyInMeters = 100
};
var position = await geoLocator.GetGeopositionAsync();
var myLocation = new BasicGeoposition
{
Longitude = position.Coordinate.Point.Position.Longitude,
Latitude = position.Coordinate.Point.Position.Latitude
};
var pointToReverseGeocode = new Geopoint(myLocation);
MapService.ServiceToken = Constants.BingMapsAuthKey;
var result = await MapLocationFinder.FindLocationsAtAsync(pointToReverseGeocode);
if (result.Status != MapLocationFinderStatus.Success || result.Locations == null || result.Locations.Count == 0)
{
break;
}
// The returned country code is in 3-letter format (ISO 3166-1 alpha-3).
// Below we convert it to ISO 3166-1 alpha-2 (two letter).
var country = result.Locations[0].Address.CountryCode;
countryCode = new GeographicRegion(country).CodeTwoLetter;
break;
case GeolocationAccessStatus.Denied:
AppCenterLog.Info(LogTag, "Geolocation access denied. To set country code in App Center, enable location service in Windows 10.");
break;
case GeolocationAccessStatus.Unspecified:
break;
}
AppCenter.SetCountryCode(countryCode);
}
Poznámka:
Aby se kód země zobrazoval v relacích Analytics, AppCenter.SetCountryCode musí být zavolána před AppCenter.Start.
WPF/WinForms
Vzhledem k tomu, že platformy WPF/WinForms nemají rozhraní API geografické polohy, můžete použít kód země systému.
using System.Globalization;
private static void SetCountryCode()
{
// This fallback country code doesn't reflect the physical device location, but rather the
// country that corresponds to the culture it uses.
var countryCode = RegionInfo.CurrentRegion.TwoLetterISORegionName;
AppCenter.SetCountryCode(countryCode);
}
Poznámka:
Aby se kód země zobrazoval v relacích Analytics, AppCenter.SetCountryCode musí být zavolána před AppCenter.Start.
Vlastní události
Můžete sledovat vlastní události s až 20 vlastnostmi , abyste porozuměli interakci mezi uživateli a aplikací.
Po spuštění sady SDK použijte metodu TrackEvent() ke sledování událostí s příslušnými vlastnostmi. Můžete odeslat až 200 jedinečných názvů událostí. Existuje také maximální limit 256 znaků na název události a 125 znaků na název vlastnosti události a hodnota vlastnosti události.
Analytics.TrackEvent("Video clicked", new Dictionary<string, string> {
{ "Category", "Music" },
{ "FileName", "favorite.avi"}
});
Vlastnosti událostí jsou zcela volitelné – pokud chcete jenom sledovat událost, použijte místo toho tuto ukázku:
Analytics.TrackEvent("Video clicked");
Povolit nebo zakázat App Center Analytics během provozu
Analýzu App Center můžete povolit a zakázat za běhu. Pokud ji zakážete, sada SDK nebude shromažďovat žádné další analytické informace o aplikaci.
Analytics.SetEnabledAsync(false);
Pokud chcete znovu povolit funkci Analytics v App Center, použijte stejnou metodu API, ale jako parametr předejte true.
Analytics.SetEnabledAsync(true);
Toto volání nemusíte čekat, pokud chcete provádět další volání rozhraní API (například IsEnabledAsync) konzistentně.
Stav se zachová v úložišti zařízení napříč spuštěním aplikace.
Kontrola, jestli je povolená analýza App Center
Můžete také zkontrolovat, jestli je povolená analýza App Center nebo ne.
bool isEnabled = await Analytics.IsEnabledAsync();
Správa úvodní relace
Identifikátor relace ve výchozím nastavení závisí na životním cyklu aplikace. Pokud chcete ručně ovládat zahájení nové relace, postupujte podle následujících kroků:
Poznámka:
Věnujte pozornost tomu, že každé volání rozhraní API Analytics.StartSession() vygeneruje novou relaci. Pokud v režimu manuálního sledování relací nebude toto API voláno, všechny odesílané záznamy budou mít hodnotu relace jako null.
Poznámka:
Pamatujte, že po spuštění nové aplikace se identifikátor relace znovu vygeneruje.
- Před spuštěním sady SDK zavolejte následující metodu:
Analytics.EnableManualSessionTracker();
- Pak můžete použít
StartSessionrozhraní API poAppCenter.Start:
Analytics.StartSession();
Velikost místního úložiště
Ve výchozím nastavení sada SDK ukládá všechny protokoly událostí až do 10 MB. Vývojáři můžou pomocí rozhraní API zvětšit velikost úložiště a sada SDK bude uchovávat protokoly, dokud nebude úložiště plné.
Bez přístupu k internetu
Pokud není k dispozici žádné síťové připojení, ukládá SDK do místního úložiště až 10 MB protokolů. Jakmile je úložiště plné, sada SDK začne zahodit staré protokoly, aby se uvolnilo místo pro nové protokoly. Jakmile zařízení získá přístup k internetu, sada SDK odešle protokoly v dávce 50 nebo po každých 6 sekundách.
Seskupování protokolů událostí
App Center SDK nahraje protokoly v dávce po 50 a pokud SDK nemá 50 protokolů k odeslání, protokoly budou odeslány po 6 sekundách. Paralelně se odesílají maximálně tři dávky.
Logika opakování a zpětného vypnutí
Sada App Center SDK podporuje opakované pokusy o obnovení při obnovitelných chybách sítě. Níže je logika opakování:
- Maximálně 3 pokusy na žádost
- Každý požadavek má svůj vlastní počítač stavu opakování.
- Všechny přenosové kanály jsou deaktivovány (až do dalšího procesu aplikace) poté, co jeden požadavek vyčerpá všechny své opakované pokusy.
Logika ústupu
- 50% randomizace, první opakování mezi 5 s a 10 s, druhé opakování mezi 2,5 a 5 minutami, poslední opakování mezi 10 a 20 minutami.
- Pokud se síťový přepínač přepne ze stavu vypnuto do stavu zapnuto (nebo z wi-fi na stav mobilní zařízení), stavy opakování se resetují a žádosti se budou opakovat okamžitě.