Skip to main content
Zdarzenia produktowe służą do zapisywania nazwanych akcji użytkowników w aplikacji, takich jak przejście do realizacji zakupu albo zakończenie zakupu. SDK nie nasłuchuje kliknięć i nie zbiera zawartości formularzy. Każde zdarzenie zapisuje twój kod. Zasady liczenia i rodzaje raportów opisuje strona Analityka produktowa.

Przygotuj test

Potrzebujesz aplikacji w Node.js 18 lub nowszym i projektu LogBrew, który możesz odczytywać. Jeśli wysyłasz telemetrię po raz pierwszy, zacznij od szybkiego startu. Oddziel ten test od aktywności klientów. Zainstaluj pakiety w katalogu aplikacji:
Użyj serwerowego klucza wysyłania dla projektu. Trzymaj go w LOGBREW_SERVER_API_KEY, poza systemem kontroli wersji. Nigdy nie umieszczaj klucza serwerowego w pakiecie dla przeglądarki. Token dostępu do konta służy do odczytu wyników. Nie konfiguruje SDK.

Ustal, co oznacza jedno zdarzenie

Zacznij od pytania o produkt. Na przykład: czy użytkownicy wysyłają zamówienie po przejściu do realizacji zakupu? Nadaj każdemu zdarzeniu stałą nazwę, dokładny wyzwalacz i jedno miejsce w aplikacji, które je zapisuje. Nazwy zdarzeń nie mogą się zmieniać między wydaniami ani wersjami językowymi. Nie twórz nazw z adresu e-mail, numeru zamówienia, URL ani tekstu wpisanego przez użytkownika. Używaj właściwości niestandardowych z małym zbiorem zatwierdzonych wartości. Na przykład checkout_mode może mieć wartość guest lub signed_in. Nie dodawaj nowej nazwy zdarzenia dla każdej wartości. Nie wysyłaj zawartości formularzy. Zapisuj każdą akcję biznesową tylko w jednym miejscu. Jeśli tę samą akcję zapisują przeglądarka i serwer, sumy się podwoją.

Użyj właściwego rodzaju aktywności

createProductActionAttributes ustawia w metadanych zdarzenia analyticsSchemaVersion: 1 i analyticsKind: "interaction". Przekazany szablon trasy lub nazwa ekranu ustawia analyticsSurface. Używaj szablonu trasy, takiego jak /orders/:id, a nie konkretnego URL. Nazwa zdarzenia nie ustawia rodzaju. Interakcja o nazwie page_view nadal jest interakcją. Logi, problemy i spany nie są zdarzeniami produktowymi. Inne środowiska uruchomieniowe opisuje strona Integracja SDK.

Ustaw użytkownika i sesję w każdym zdarzeniu

  • Dla zalogowanego użytkownika ustaw context.subject na stałe ID z kind: "user".
  • Dla anonimowego odwiedzającego użyj osobnego ID z kind: "anonymous".
  • Umieść ID sesji aplikacji w context.session.id. Używaj go przez całą sesję.
Nigdy nie używaj jako ID imion i nazwisk, adresów e-mail, adresów IP ani tokenów dostępu. Stałe ID łączy akcje użytkownika. Nie sprawia, że dane są anonimowe. Nie ustawiaj domyślnego użytkownika ani sesji we współdzielonym kliencie serwerowym. Przekazuj podmiot i sesję żądania, które wygenerowało dane zdarzenie. SDK nie tworzy tych ID i nie wykrywa logowania, wylogowania ani zmiany konta. LogBrew nie łączy anonimowego podmiotu z użytkownikiem po zalogowaniu.

Uruchom przykład lokalnie

Zapisz ten przykład jako product-events.mjs. Rejestruje pięć testowych akcji z anonimowych wizyt i logowań dwóch użytkowników. Klient przechowuje tylko wspólny kontekst usługi i wdrożenia. W tym teście automatyczne dostarczanie jest wyłączone.
Uruchom skrypt bez --send. To polecenie nie wysyła żadnego żądania:
Oczekiwany wynik:
Znaczniki wydania i środowiska nie są akcjami produktowymi. Ten wynik pokazuje tylko lokalną kolejkę. Nie pokazuje, że LogBrew otrzymał zdarzenia. Nie wypisuj previewJson() w aplikacji z prawdziwym kontekstem klientów.

Obsłuż logowanie i wylogowanie

  • Przed zalogowaniem wysyłaj z każdym zdarzeniem bieżący anonimowy podmiot.
  • Po zalogowaniu wysyłaj stałe ID użytkownika z rodzajem user.
  • Po wylogowaniu przestań używać kontekstu tego użytkownika. Utwórz nowy anonimowy podmiot zgodnie ze swoją polityką prywatności.
  • Po zmianie konta użyj ID nowego użytkownika.
Przykład zaczyna nową sesję, gdy zmienia się tożsamość. Wybierz własną regułę sesji i stosuj ją do każdego zdarzenia. Kontekst zdarzenia zastępuje dla tego zdarzenia podmiot i sesję klienta. Jeśli zdarzenie pominie jedno z nich, użyje wartości klienta. Dlatego przykład nie ustawia podmiotu ani sesji w kliencie. Dla pracy uruchamianej później zachowaj tożsamość użytkownika, który ją zlecił.

Wyślij raz i odczytaj wyniki

Ustaw klucz serwerowy projektu testowego w zmiennych środowiskowych procesu. Uruchom to polecenie raz:
Każde uruchomienie tworzy nowe ID zdarzeń, więc drugie uruchomienie doda pięć kolejnych zdarzeń. Jeśli proces się nie powiedzie, wynik zawiera kod błędu SDK. Odrzucony klucz daje:
Upewnij się, że klucz wysyłania jest aktywny i należy do projektu testowego. Zalogowanie się na konto nie naprawi klucza SDK. Inne błędy opisują strony Błędy API i Rozwiązywanie problemów. Gdy LogBrew przyjmie paczkę, znajdź zdarzenia na pulpicie:
  1. Otwórz sekcję Analityka.
  2. W polu Projekt wybierz projekt testowy.
  3. W polu Zakres czasu wybierz 24 godziny.
  4. Znajdź 3 nazwy zdarzeń w sekcji Najczęstsze zdarzenia i /checkout w sekcji Najczęstsze miejsca.
Inna aktywność w projekcie zmienia te sumy. Aby dokładnie sprawdzić usługę, wydanie i środowisko, odczytaj przegląd w zalogowanym CLI:
Dla jednego uruchomienia w zakresie bez innej aktywności oczekuj:
  • 5 interakcji, wszystkie z kontekstem sesji, na stronie /checkout.
  • 3 zdarzenia od użytkowników i 2 od anonimowych podmiotów.
  • 2 użytkowników, 2 anonimowe podmioty i 4 sesje.
Liczby unikalnych użytkowników, podmiotów i sesji są przybliżone. Sumy zdarzeń są dokładne w wybranym oknie czasowym. Ten test nie mierzy konwersji ani utrzymania.

Przetestuj zdarzenia w aplikacji

Przenieś wywołania rejestrowania do procedur obsługi w aplikacji. Zachowaj znaczenie, rodzaj i regułę tożsamości każdego zdarzenia. Najpierw testuj na syntetycznych kontach. Lokalny podgląd testuje rejestrowanie. Przyjęta paczka testuje dostarczanie. Żadne z nich nie pokazuje, że wywołanie rejestrowania działa we właściwym miejscu aplikacji.