Udostępnij za pośrednictwem


App Center Analytics (Apache Cordova)

Ważne

Program Visual Studio App Center ma zostać wycofany 31 marca 2025 r. Mimo że możesz nadal używać programu Visual Studio App Center do momentu jej pełnego wycofania, istnieje kilka zalecanych alternatyw, do których można rozważyć migrację.

Dowiedz się więcej o osiach czasu pomocy technicznej i alternatywach.

Uwaga

Wsparcie dla aplikacji Cordova zakończyło się w kwietniu 2022 r. Więcej informacji można znaleźć w blogu Centrum aplikacji.

Usługa App Center Analytics pomaga zrozumieć zachowanie użytkowników i zaangażowanie klientów w celu ulepszenia aplikacji. Zestaw SDK automatycznie przechwytuje liczbę sesji i właściwości urządzenia, takie jak model, wersja systemu operacyjnego itp. Możesz zdefiniować własne zdarzenia niestandardowe, aby zmierzyć rzeczy, które mają znaczenie dla Ciebie. Wszystkie przechwycone informacje są dostępne w portalu Centrum aplikacji, aby analizować dane.

Jeśli zestaw SDK nie został jeszcze skonfigurowany w aplikacji, postępuj zgodnie z sekcją Wprowadzenie .

Informacje o sesji i urządzeniu

Po dodaniu usługi App Center Analytics do aplikacji i uruchomieniu zestawu SDK będzie automatycznie śledzić sesje i właściwości urządzenia, takie jak wersja systemu operacyjnego, model itp.

Zdarzenia niestandardowe

Możesz śledzić własne zdarzenia niestandardowe z maksymalnie 20 właściwościami , aby zrozumieć interakcję między użytkownikami a aplikacją.

Po uruchomieniu zestawu SDK użyj trackEvent metody , aby śledzić zdarzenia za pomocą właściwości. Można wysłać do 200 odrębnych nazw zdarzeń. Ponadto istnieje maksymalny limit 256 znaków na nazwę zdarzenia i 125 znaków na nazwę właściwości zdarzenia i wartość właściwości zdarzenia.

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}
AppCenter.Analytics.trackEvent('Video clicked', { Category: 'Music', FileName: 'favorite.avi' }, success, error);

Ta funkcja używa trzeciego parametru jako wywołania zwrotnego sukcesu, który zwraca pusty ciąg i czwarty parametr jako wywołanie zwrotne błędów, co zwraca błąd.

Właściwości zdarzeń są całkowicie opcjonalne. Jeśli chcesz tylko śledzić zdarzenie, użyj tego przykładu:

var success = function() {
    console.log("Event tracked");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.trackEvent('Video clicked', success, error);

Włączanie lub wyłączanie usługi App Center Analytics w czasie wykonywania

Możesz włączyć i wyłączyć usługę App Center Analytics w czasie wykonywania. Jeśli ją wyłączysz, zestaw SDK nie będzie już zbierać informacji analitycznych dla aplikacji.

var success = function() {
    console.log("Analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(false, success, error);

Ta funkcja używa drugiego parametru jako wywołania zwrotnego sukcesu, który zwraca pusty ciąg i trzeci parametr jako wywołanie zwrotne błędów, co zwraca błąd. Aby ponownie włączyć usługę App Center Analytics, użyj tego samego interfejsu API, ale przekaż true go jako parametr.

var success = function() {
    console.log("Analytics enabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

Stan jest utrwalany w magazynie urządzenia w ramach uruchamiania aplikacji.

Sprawdzanie, czy usługa App Center Analytics jest włączona

Możesz również sprawdzić, czy usługa App Center Analytics jest włączona.

var success = function(result) {
    console.log("analytics " + (result) ? "enabled" : "disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.isEnabled(success, error);

Ta funkcja używa pierwszego parametru jako wywołania zwrotnego sukcesu, który zwraca boolean i drugi parametr jako wywołanie zwrotne błędów, które zwraca błąd.

Poczekaj, aż js włączy usługę App Center Analytics

W niektórych przypadkach aplikacja może chcieć zapytać użytkowników, czy chcą udostępniać informacje analityczne. W takim przypadku należy zmienić preferencję APPCENTER_ANALYTICS_ENABLE_IN_JStrue na w config.xml

<preference name="APPCENTER_ANALYTICS_ENABLE_IN_JS" value="true" />

Oznacza to, że aby wszystkie informacje, które mają być wysyłane do centrum aplikacji (nawet podstawowe informacje o sesji), deweloper musi najpierw włączyć usługę App Center Analytics wewnątrz aplikacji, dodając następujący wiersz do jego kodu.

var success = function() {
    console.log("analytics disabled");
}

var error = function(error) {
    console.error(error);
}

AppCenter.Analytics.setEnabled(true, success, error);

Rozmiar magazynu lokalnego

Domyślnie zestaw SDK przechowuje do 10 MB dzienników w magazynie.

Brak dostępu do Internetu

Jeśli nie ma żadnej łączności sieciowej, zestaw SDK zapisuje maksymalnie 10 MB dzienników w magazynie lokalnym. Po zapełnieniu magazynu zestaw SDK zacznie odrzucać stare dzienniki, aby zapewnić miejsce na nowe dzienniki. Gdy urządzenie uzyska dostęp do Internetu, zestaw SDK będzie wysyłać dzienniki w partii 50 lub po co 3 sekundy.

Dzienniki zdarzeń przetwarzania wsadowego

Zestaw SDK centrum aplikacji przekazuje dzienniki w partii 50, a jeśli zestaw SDK nie ma 50 dzienników do wysłania, nadal będzie wysyłać dzienniki po 3 sekundach. Może istnieć maksymalnie trzy partie wysyłane równolegle.

Ponów próbę i wycofywanie logiki

Zestaw SDK usługi App Center obsługuje ponawianie prób w przypadku błędów sieci możliwych do odzyskania. Poniżej znajduje się logika ponawiania prób:

  • 3 próbuje maksymalnie na żądanie.
  • Każde żądanie ma własną maszynę stanu ponawiania.
  • Wszystkie kanały transmisji są wyłączone (do następnego procesu aplikacji) po wyczerpaniu wszystkich ponownych prób przez jedno żądanie.

Logika wycofywania

  • 50% losowości, najpierw spróbuj ponownie z zakresu od 5 do 10, ponawianie próby między 2,5 i 5 minut, ostatnia próba z zakresu od 10 do 20 minut.
  • Jeśli sieć wyłącza się do włączonej (lub z sieci wi-fi do urządzeń przenośnych), stany ponawiania prób są resetowane, a żądania są natychmiast ponawiane.