adopted-ember-addons / adopted-ember-addons/ember-metrics

Support `options` for segment adapter

未关闭
#201 0 条评论 1 个 reaction 已指派 0 人 在 GitHub 查看
主要语言
TypeScript
星标
367
派生
158
PR 合并指标
30 天内没有已合并 PR

描述

The segment `trackEvent` supports an extra `options` argument. https://segment.com/docs/sources/website/analytics.js/#track

I'd love some way to support this in the segment adapter.

In the meantime I've done something like this in the app where I need it:

```
import SegmentAdapter from 'ember-metrics/metrics-adapters/segment';
import canUseDOM from 'ember-metrics/utils/can-use-dom';
import { compact } from 'ember-metrics/utils/object-transforms';

export default SegmentAdapter.extend({
toStringExtension() {
return 'segment-extended';
},

trackEvent(options = {}) {
const compactedOptions = compact(options);
const { event, segmentOptions } = compactedOptions;

delete compactedOptions.event;
delete compactedOptions.segmentOptions;

if (canUseDOM) {
window.analytics.track(event, compactedOptions, segmentOptions);
}
}
});
```

I'd be happy to add tests and do something like this in the current Segment adapter.

贡献指南

打开贡献指南

调研方向

Read ember-metrics/metrics-adapters/segment and the adapter's existing tests first, then compare its trackEvent behavior with the linked Segment documentation. Add tests covering trackEvent with the extra options argument while preserving existing behavior; done means the test suite verifies the supported call shape.

由索引模型根据 Issue 内容生成。

评估

技术栈
typescript
领域
analytics
Issue 类型
功能
难度
3/5
预计耗时
1-2 天
活跃度
停滞
描述清晰度
基本清楚
新手友好度
42/100

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。