Tracking: bắt đầu từ đâu
Toàn bộ đường đi của tracking trong bốn step, các cách làm ở mỗi step và cách chọn cho đúng với team của bạn.
Tracking kiểm các event analytics mà bản QA của app gửi trong lúc chạy flow. Có bốn step, và hầu hết các step có nhiều cách làm. Chọn một cách cho mỗi step; mỗi cách có link tới trang giải thích nó.
Đường đi
| Step | Bạn làm | Kết quả |
|---|---|---|
| 1. Nhận event | Trỏ bản QA vào Astra Scout | Event của app hiện trong run |
| 2. Có catalog | Giữ một danh sách event và rule cho mỗi app | Mọi event được kiểm theo nó |
| 3. Khai báo kiểm tra trong flow | Nói mỗi thao tác phải gửi event nào (assertEvents) | Dấu ✓ hoặc ✕ ngay tại dòng |
| 4. Đọc kết quả | Xem run | Biết cái nào pass, fail hoặc khác nhau |
Step 2 và 3 không bắt buộc cho lần xem đầu tiên: sau step 1, chạy một flow là thấy app gửi gì.
Xem lần đầu
Cài bản QA gửi event về Astra Scout. Step 1 cho biết bản QA cần gì.
Mở cửa sổ Tracking bằng Window → Tracking (
Shift+Cmd+T). Cửa sổ còn trống cho đến khi một run gửi event.
Chạy một flow: Chạy test (
Cmd+R).Trong runner, mở tab Tracking. Tab tóm tắt run mới nhất: kết quả, các con số và issue đầu tiên.

Bấm Mở cửa sổ Tracking… để xem mọi event run đã gửi. Cửa sổ theo run mới nhất.

Tôi nên dùng cách nào?
| Tình huống của bạn | Bắt đầu bằng |
|---|---|
| Tôi chỉ muốn xem app gửi gì | Làm step 1, chạy một flow, mở cửa sổ Tracking (Window → Tracking, Shift+Cmd+T) |
| Team đã có sheet taxonomy | Import… sheet vào catalog |
| Tôi chưa có sheet | Bắt đầu từ catalog mẫu mà workspace mới cho sẵn, hoặc thêm event bằng tay |
| App đã gửi event và tôi không muốn gõ check | Chạy flow một lần, rồi Gán event vào flow… |
| Tôi làm việc trong terminal với AI | Dùng plugin scout: edit-tracking-spec và check-tracking |
| Tôi test cả iOS và Android | Chạy cùng một flow trên cả hai, rồi So sánh iOS ↔ Android… |
Step 1: Nhận event
Bản QA của app phải gửi event về Astra Scout thay vì lên Amplitude. Dev app cấu hình việc này trong bản QA. Tester mở Window > Builds, chọn bản QA rồi bấm Dùng bản này.
| Cách | Hợp với | Trang |
|---|---|---|
Bản QA đọc scoutServerUrl mà Astra Scout đưa vào lúc mở app (iOS) | Một bản QA dùng chung cho mọi tester, simulator và iOS device | Gửi event của bản QA về Astra Scout |
| Bản QA đặt sẵn một địa chỉ cố định | Android, hoặc bản build chỉ dùng trên một máy Mac | Lấy địa chỉ để đặt cố định |
Step 2: Có catalog
Catalog là một file cho mỗi app, tracking-specs/<app>.yaml. Nó liệt kê event, property, giá trị cho phép và rule chung.
| Cách | Hợp với | Trang |
|---|---|---|
| Bắt đầu từ catalog mẫu | Workspace mới. Đã có sẵn tracking-specs/sample.yaml với một event để học | Catalog tracking |
| Import… từ sheet taxonomy (bảng tính liệt kê mọi event và property của team). Import có thể đối chiếu enum (danh sách cố định các giá trị cho phép) đoán với giá trị Amplitude đã lưu (Giá trị từ Amplitude) | Team giữ kế hoạch event trong bảng tính | Import taxonomy của bạn |
| Nhập event bằng tay: + → Event mới… trong chế độ catalog | App nhỏ, hoặc chỉ thêm vài event | Thêm event bằng tay |
| + → Event Amplitude SDK… | Event mà Amplitude SDK tự gửi mà app không cần code (autocapture) | Event Amplitude SDK |
| Thêm vào catalog cho event app đã gửi | App gửi event mà catalog chưa có | Event mà catalog chưa có |
Nhờ AI: skill edit-tracking-spec của plugin, hoặc MCP tool edit_tracking_spec | Người dùng terminal; sửa nhiều chỗ một lúc, đổi tên event ở mọi nơi, import có xem trước | Plugin scout |
Để tạo file catalog mới, chọn File → File mới…, rồi Tracking Catalog: xem Tạo catalog.
Gán event vào flow… (step 3) không đổi catalog: nó ghi vào flow.
Step 3: Khai báo kiểm tra trong flow
Đặt step assertEvents ngay dưới thao tác gửi event, và nêu catalog trong header tracking của flow (flow mẫu của workspace mới đã có tracking: spec: sample).
| Cách | Hợp với | Trang |
|---|---|---|
Tự viết assertEvents | Bạn biết step gửi event nào. Editor gợi ý tên event, property và giá trị từ catalog | Khai báo kiểm tra trong flow |
| Gán event vào flow… sau một run. Thanh xanh trên editor ("Run 14:02 nhận N event, M event chưa có trong flow.") có nút này | App đã gửi đủ event; bạn muốn có check mà không phải gõ | Gán event từ một run |
Hai cách đầu ghi ra cùng một đoạn assertEvents. Cú pháp đầy đủ nằm ở tham chiếu assertEvents.
Step 4: Đọc kết quả
| Cách | Hợp với | Trang |
|---|---|---|
| Trong editor: dấu ✓ ✕ ▲, banner ở dòng fail | Sửa một dòng assertEvents ngay chỗ bạn viết nó | Kết quả trong editor |
| Cửa sổ Tracking (Window → Tracking, hoặc Mở cửa sổ Tracking… trong tab Tracking của runner). Bộ lọc ở dưới: Hiện step của flow, Ẩn event SDK, Chỉ hiện mục có issue, Nhóm, Lọc event | Cả run: mọi event, các issue và rule | Kiểm một run |
| Kết quả từ Amplitude: Kiểm tra trên Amplitude, Tra cứu người dùng… | Xem Amplitude thực sự lưu gì (cần key Amplitude trong Cài đặt → Amplitude) | Kết quả từ Amplitude |
| So sánh iOS ↔ Android… (thanh công cụ của cửa sổ Tracking) | Xem hai app có gửi cùng tracking không | So sánh iOS ↔ Android |
Từ terminal: check_tracking, compare_tracking_runs | AI agent và script | Từ terminal |
Tiếp theo
- Tracking: ghi event, check trong flow, kết quả, Amplitude
- Catalog tracking: event, rule và import
