customerio-sdk-patterns

Compare original and translation side by side

🇺🇸

Original

English
🇨🇳

Translation

Chinese

Customer.io SDK Patterns

Customer.io SDK 模式

Overview

概述

Production-ready patterns for Customer.io SDK usage including type-safe clients, retry logic, event batching, and singleton management.
适用于Customer.io SDK使用的生产就绪模式,包括类型安全客户端、重试逻辑、事件批处理和单例管理。

Prerequisites

前提条件

  • Customer.io SDK installed
  • TypeScript project (recommended)
  • Understanding of async/await patterns
  • 已安装Customer.io SDK
  • TypeScript项目(推荐)
  • 了解async/await模式

Instructions

操作步骤

Step 1: Build a Type-Safe Client

步骤1:构建类型安全客户端

Define TypeScript interfaces for user attributes and event names. Create a typed wrapper that enforces correct attribute types and event name enums.
为用户属性和事件名称定义TypeScript接口。创建一个类型化的包装器,强制使用正确的属性类型和事件名称枚举。

Step 2: Add Retry with Exponential Backoff

步骤2:添加指数退避重试机制

Wrap operations with configurable retry logic that handles transient errors with exponential delay and skips retries on client errors.
使用可配置的重试逻辑包装操作,该逻辑可处理瞬时错误并采用指数延迟,同时跳过客户端错误的重试。

Step 3: Implement Event Queue with Batching

步骤3:实现带批处理的事件队列

Build an event queue that buffers track calls, auto-flushes on size threshold or time interval, and processes in parallel batches.
构建一个事件队列,用于缓冲追踪调用,达到大小阈值或时间间隔时自动刷新,并以并行批处理方式处理。

Step 4: Use Singleton with Lazy Initialization

步骤4:使用带延迟初始化的单例模式

Create a singleton factory that validates credentials and reuses a single TrackClient instance across the application.
For detailed implementation code and patterns, load the reference guide:
Read(${CLAUDE_SKILL_DIR}/references/implementation-guide.md)
创建一个单例工厂,验证凭据并在整个应用中重用单个TrackClient实例。
如需详细的实现代码和模式,请加载参考指南:
Read(${CLAUDE_SKILL_DIR}/references/implementation-guide.md)

Output

输出结果

  • Type-safe Customer.io client with TypeScript interfaces
  • Resilient error handling with configurable retries
  • Event batching for high-volume scenarios
  • Singleton pattern for resource efficiency
  • 带TypeScript接口的类型安全Customer.io客户端
  • 具备可配置重试的弹性错误处理
  • 适用于高并发场景的事件批处理
  • 提升资源效率的单例模式

Error Handling

错误处理

ErrorCauseSolution
Type mismatchInvalid attribute typeUse TypeScript interfaces
Queue overflowToo many eventsIncrease flush frequency
Retry exhaustedPersistent failureCheck network and credentials
错误类型原因解决方案
类型不匹配属性类型无效使用TypeScript接口
队列溢出事件数量过多提高刷新频率
重试耗尽持续失败检查网络和凭据

Resources

资源

Next Steps

下一步

After implementing patterns, proceed to
customerio-primary-workflow
for messaging workflows.
完成模式实施后,继续使用
customerio-primary-workflow
处理消息工作流。

Examples

示例

Basic usage: Apply customerio sdk patterns to a standard project setup with default configuration options.
Advanced scenario: Customize customerio sdk patterns for production environments with multiple constraints and team-specific requirements.
基础用法:将customerio sdk模式应用于采用默认配置选项的标准项目设置。
高级场景:针对具有多约束和团队特定需求的生产环境,自定义customerio sdk模式。