Skip to main content
Gunakan peristiwa produk untuk merekam aksi pengguna yang diberi nama di aplikasi Anda, seperti membuka checkout atau menyelesaikan pembelian. SDK tidak memasang listener klik dan tidak mengumpulkan isi formulir. Kode Anda sendiri yang merekam setiap peristiwa. Untuk aturan penghitungan dan jenis laporan, lihat Analitik produk.

Siapkan pengujian

Gunakan aplikasi Node.js 18 atau yang lebih baru dan proyek LogBrew yang bisa Anda baca. Jika Anda belum pernah mengirim telemetri, mulai dengan panduan Mulai cepat. Pisahkan pengujian ini dari aktivitas pelanggan. Instal paket di direktori aplikasi:
Gunakan kunci ingest server untuk proyek. Simpan kunci itu di LOGBREW_SERVER_API_KEY, di luar source control. Jangan pernah memasukkan kunci server ke bundle browser. Token akses akun dipakai untuk membaca hasil. Token itu tidak mengonfigurasi SDK.

Tentukan arti satu peristiwa

Mulai dengan pertanyaan produk. Misalnya: apakah pengguna mengirim checkout setelah membukanya? Beri setiap peristiwa nama tetap, pemicu yang tepat, dan satu tempat di aplikasi yang merekamnya. Jaga agar nama peristiwa tetap stabil di semua rilis dan bahasa. Jangan membentuk nama dari alamat email, nomor pesanan, URL, atau teks yang dimasukkan pengguna. Gunakan properti kustom dengan sekumpulan kecil nilai yang disetujui. Misalnya, checkout_mode bisa bernilai guest atau signed_in. Jangan tambahkan nama peristiwa baru untuk setiap nilai. Jangan kirim isi formulir. Rekam setiap aksi bisnis di satu tempat saja. Jika browser dan server sama-sama merekam aksi yang sama, totalnya menjadi dua kali lipat.

Gunakan jenis aktivitas yang benar

createProductActionAttributes mengisi analyticsSchemaVersion: 1 dan analyticsKind: "interaction" di metadata peristiwa. Template rute atau nama layarnya mengisi analyticsSurface. Gunakan template rute, seperti /orders/:id, bukan URL konkret. Nama peristiwa tidak menentukan jenis. Interaksi yang bernama page_view tetap interaksi. Log, masalah, dan span bukan peristiwa produk. Untuk runtime lain, lihat Integrasi SDK.

Tetapkan pengguna dan sesi di setiap peristiwa

  • Untuk pengguna yang sudah masuk, isi context.subject dengan ID stabil dan kind: "user".
  • Untuk pengunjung anonim, gunakan ID terpisah dengan kind: "anonymous".
  • Masukkan ID sesi aplikasi ke context.session.id. Pakai ulang ID itu selama satu sesi penuh.
Jangan pernah memakai nama, alamat email, alamat IP, atau token akses sebagai ID. ID stabil menghubungkan aksi dari satu pengguna. ID itu tidak membuat data menjadi anonim. Jangan tetapkan pengguna atau sesi default di klien server yang dipakai bersama. Teruskan subjek dan sesi dari permintaan yang menghasilkan setiap peristiwa. SDK tidak membuat ID ini dan tidak mendeteksi login, logout, atau pergantian akun. LogBrew tidak menggabungkan subjek anonim ke pengguna setelah login.

Jalankan contoh secara lokal

Simpan contoh ini sebagai product-events.mjs. Contoh ini merekam lima aksi uji dari kunjungan anonim, login, dan dua pengguna. Klien hanya menyimpan konteks layanan dan deployment yang dipakai bersama. Pengiriman otomatis dimatikan untuk pengujian ini.
Jalankan skrip tanpa --send. Perintah ini tidak mengirim permintaan:
Output yang diharapkan:
Penanda rilis dan lingkungan bukan aksi produk. Hasil ini hanya menunjukkan antrean lokal. Hasil ini tidak menunjukkan bahwa LogBrew sudah menerima peristiwa. Jangan cetak previewJson() di aplikasi yang berisi konteks pelanggan sungguhan.

Tangani login dan logout

  • Sebelum login, kirim subjek anonim saat ini bersama setiap peristiwa.
  • Setelah login, kirim ID stabil pengguna dengan jenis user.
  • Saat logout, berhenti memakai konteks pengguna itu. Buat subjek anonim baru sesuai kebijakan privasi Anda.
  • Saat akun berganti, gunakan ID pengguna yang baru.
Contoh ini memulai sesi baru saat identitas berubah. Pilih aturan sesi Anda sendiri dan terapkan ke setiap peristiwa. Konteks peristiwa menggantikan subjek dan sesi klien untuk peristiwa itu. Jika peristiwa tidak menyertakan salah satunya, peristiwa memakai nilai dari klien. Karena itu, contoh ini tidak menetapkan subjek atau sesi di klien. Untuk pekerjaan yang berjalan belakangan, pertahankan identitas pengguna yang memulainya.

Kirim sekali dan baca hasilnya

Simpan kunci server proyek uji di variabel lingkungan proses. Jalankan perintah ini sekali:
Setiap kali dijalankan, skrip membuat ID peristiwa baru, jadi menjalankannya lagi menambahkan lima peristiwa. Jika proses gagal, output berisi kode error SDK. Kunci yang ditolak menghasilkan:
Pastikan kunci ingest aktif dan milik proyek uji. Masuk ke akun Anda tidak memperbaiki kunci SDK. Lihat Error API dan Mengatasi kendala untuk kegagalan lain. Setelah LogBrew menerima batch, temukan peristiwa di dasbor:
  1. Buka Analitik.
  2. Di Proyek, pilih proyek uji.
  3. Di Rentang waktu, pilih 24 jam.
  4. Temukan 3 nama peristiwa di Peristiwa teratas dan /checkout di Halaman dan layar teratas.
Aktivitas lain di proyek mengubah total ini. Untuk pemeriksaan layanan, rilis, dan lingkungan yang tepat, baca ikhtisar dengan CLI yang sudah masuk:
Jika skrip dijalankan sekali dalam rentang waktu yang sebelumnya kosong, hasil yang diharapkan:
  • 5 interaksi, semuanya dengan konteks sesi, di halaman /checkout.
  • 3 peristiwa dari pengguna dan 2 dari subjek anonim.
  • 2 pengguna, 2 subjek anonim, dan 4 sesi.
Jumlah pengguna, subjek, dan sesi yang unik adalah perkiraan. Total peristiwa dihitung persis dalam rentang waktu yang dipilih. Pengujian ini tidak mengukur konversi atau retensi.

Uji peristiwa di aplikasi Anda

Pindahkan panggilan perekaman ke handler aplikasi. Pertahankan arti, jenis, dan aturan identitas setiap peristiwa. Uji dengan akun sintetis terlebih dahulu. Pratinjau lokal menguji perekaman. Batch yang diterima menguji pengiriman. Keduanya tidak menunjukkan bahwa panggilan perekaman berjalan di titik yang benar di aplikasi Anda.