Is your feature request related to a problem? Please describe.
Summary
We are migrating from AWSPinpointAnalyticsPlugin to AmplifyKinesisClient (v2.54.0) as recommended by the Pinpoint end-of-support docs. The Kinesis client handles transport well (batching, caching, retries), but there is no replacement for the enrichment layer that Pinpoint provided automatically.
What's missing
When using AWSPinpointAnalyticsPlugin, every event was automatically enriched with:
- Device metadata (make, model, OS, locale, timezone)
- Application metadata (app ID, version, SDK version, Cognito pool ID)
- Client identity (persistent client ID, Cognito identity ID)
- Session lifecycle (start/stop/pause/resume tied to app foreground/background state)
- Structured event envelope (the JSON format delivered to S3 via Pinpoint event streaming)
AmplifyKinesisClient provides none of this. It accepts raw Data and sends it to a stream. Our downstream pipelines depend on the Pinpoint event envelope structure. Migrating currently requires manually reimplementing all of the above, including the session state machine (SessionClient.swift, PinpointSession.swift) from InternalAWSPinpoint.
Environment
Amplify Swift 2.54.1
Affects: iOS and Android
Describe the solution you'd like
Request
Provide a higher-level analytics plugin for Kinesis that replicates Pinpoint's event enrichment and session tracking. The logic already exists in InternalAWSPinpoint. Decoupling it from the Pinpoint API transport and making it usable with AmplifyKinesisClient would make the migration practical.
Describe alternatives you've considered
Manually reimplementing Pinpoint's device metadata collection, session state machine, endpoint tracking, and event envelope construction in our app's analytics provider. This works but is a significant effort for every Pinpoint customer migrating to Kinesis, and duplicates logic that already exists in InternalAWSPinpoint (SessionClient.swift, PinpointSession.swift). Ideally this logic would be decoupled from the Pinpoint API transport and made reusable with AmplifyKinesisClient.
Is the feature request related to any of the existing Amplify categories?
Analytics
Additional context
Related to Pinpoint - Kinesis migration
Is your feature request related to a problem? Please describe.
Summary
We are migrating from AWSPinpointAnalyticsPlugin to AmplifyKinesisClient (v2.54.0) as recommended by the Pinpoint end-of-support docs. The Kinesis client handles transport well (batching, caching, retries), but there is no replacement for the enrichment layer that Pinpoint provided automatically.
What's missing
When using AWSPinpointAnalyticsPlugin, every event was automatically enriched with:
AmplifyKinesisClient provides none of this. It accepts raw Data and sends it to a stream. Our downstream pipelines depend on the Pinpoint event envelope structure. Migrating currently requires manually reimplementing all of the above, including the session state machine (SessionClient.swift, PinpointSession.swift) from InternalAWSPinpoint.
Environment
Amplify Swift 2.54.1
Affects: iOS and Android
Describe the solution you'd like
Request
Provide a higher-level analytics plugin for Kinesis that replicates Pinpoint's event enrichment and session tracking. The logic already exists in InternalAWSPinpoint. Decoupling it from the Pinpoint API transport and making it usable with AmplifyKinesisClient would make the migration practical.
Describe alternatives you've considered
Manually reimplementing Pinpoint's device metadata collection, session state machine, endpoint tracking, and event envelope construction in our app's analytics provider. This works but is a significant effort for every Pinpoint customer migrating to Kinesis, and duplicates logic that already exists in InternalAWSPinpoint (SessionClient.swift, PinpointSession.swift). Ideally this logic would be decoupled from the Pinpoint API transport and made reusable with AmplifyKinesisClient.
Is the feature request related to any of the existing Amplify categories?
Analytics
Additional context
Related to Pinpoint - Kinesis migration