databuckets_event_tracker 1.1.0
databuckets_event_tracker: ^1.1.0 copied to clipboard
Event Tracker SDK
📦 DataBuckets SDK for Flutter/Dart #
Hướng dẫn tích hợp và sử dụng SDK DatabucketsEventTracker để ghi nhận và gửi các sự kiện (events) trong ứng dụng.
🚀 Khởi tạo SDK #
Khi bắt đầu vòng đời của ứng dụng, hãy khởi tạo SDK bằng:
DatabucketsEventTracker.initialize(config);
Với config là một builder như sau:
final config = DatabucketsEventTrackerConfigBuilder(
apiKey: api_key,
baseUrl: base_url,
)
.setFlushThreshold(100) // Gửi khi hàng đợi đạt 100 events
.setMaxEventsStored(1000) // Lưu tối đa 1000 events
.setFlushInterval(10000) // Gửi định kỳ mỗi 10 giây
.setMaxFlushSizeMB(1) // Payload gửi tối đa 1MB
.build();
DatabucketsEventTracker.initialize(config);
🛠️ Các tham số khởi tạo: #
| Tham số | Mô tả | Mặc định |
|---|---|---|
flushThreshold |
Gửi events khi số lượng đạt đến ngưỡng | 500 |
maxEventsStored |
Số event tối đa được lưu trữ | 5000 |
flushInterval |
Thời gian gửi event định kỳ (ms) | 10000 |
maxFlushSizeMB |
Kích thước payload gửi tối đa (MB) | 5 |
🧱 Class Event #
1. Tạo Event #
Event event = await Event.create("purchase_button_click");
2. Public Methods #
setEventParams(Map<String, dynamic> params)
Ghi đè toàn bộ eventParams hiện tại.
addEventParams(Map<String, dynamic> params)
Gộp thêm params vào event, ghi đè key nếu trùng.
addUserProperties(Map<String, dynamic> props)
Gộp thêm các userProperties, ghi đè key nếu trùng.
⚠️ Không có hàm
setUserPropertiescông khai.
Các phương thức có thể được gọi một lần mỗi khi ứng dụng được khởi tạo (ví dụ: trong onCreate()), và các event sau khi khởi tạo sẽ mặc định có:
-
setInstallDay(int installDayMillis) -
setUserPseudoId(String pseudoId) -
setFirstOpenTime(int firstOpenTimeMillis) -
setCommonProperties(Map<String, dynamic> props)
final installDay = DateTime.utc(2025,4,15,13,5,45).millisecondsSinceEpoch;
final firstOpenTime = DateTime.utc(2025,4,17,20,31,3).millisecondsSinceEpoch;
Event.setInstallDay(installDay);
Event.setUserPseudoId('test-user-pseudo-id');
Event.setFirstOpenTime(firstOpenTime);
Event.setCommonProperties({
'level': 1,
'progress': 0.99
});
Event event = await Event.create("purchase_button_click");
event.setEventParams({
"first_time_purchase": true,
"first_time_login": false
});
event.addEventParams({
"product_id": "sku_5678",
"price": 49.99,
"currency": "USD"
});
event.addUserProperties({
"membership_status": "premium",
"last_login_days": 2
});
// Gửi event
DatabucketsEventTracker.addEvent(event);
⏸ Dừng và tiếp tục SDK #
DatabucketsEventTracker.stop(); // Tạm dừng gửi dữ liệu
DatabucketsEventTracker.resume(); // Tiếp tục gửi dữ liệu
⚠️ Khi gọi
stop(), các event vẫn được lưu cục bộ nhưng sẽ không được gửi cho đến khiresume().
✅ Gợi ý: Gọi
stop()khi app chuẩn bị thoát (terminate), ví dụ trongdispose().