用途:为 Swift/SwiftUI 应用生成基于协议的埋点分析基础设施,让应用代码与具体分析服务解耦,便于替换提供方。
主要能力:生成 AnalyticsService 协议、事件定义 AnalyticsEvent、NoOpAnalytics(测试/隐私模式),以及所选提供方的实现(TelemetryDeckAnalytics、FirebaseAnalytics、MixpanelAnalytics)和 SwiftUI 环境注入键 AnalyticsServiceKey。应用通过协议调用,如 analytics.track(.buttonTapped("subscribe"));切换提供方只需修改一行:let analytics: AnalyticsService = TelemetryDeckAnalytics()。
使用方式:技能在用户要求添加分析、提及 TelemetryDeck/Firebase Analytics/Mixpanel、想跟踪事件或添加遥测、关注隐私友好分析、或想更换提供方时激活。生成前会检测项目上下文与已有分析实现,若发现冲突会询问是扩展现有、替换还是新增提供方;随后通过提问确认提供方、要跟踪的事件(应用生命周期、屏幕浏览、用户操作、错误、自定义事件)和用户属性。文件位置按项目结构选择 Sources/Analytics/、App/Analytics/ 或 Analytics/。
依赖:TelemetryDeck 需 .package(url: "https://github.com/TelemetryDeck/SwiftClient", from: "1.0.0");Firebase 需 .package(url: "https://github.com/firebase/firebase-ios-sdk", from: "10.0.0") 及 GoogleService-Info.plist。
限制:资料未提供具体收费、价格、平台支持范围与效果数据;测试与预览建议使用 NoOpAnalytics(),使跟踪调用变为空操作且不引入外部依赖。