Skip to content

Analytics - Data mismatch between CustomProperties and Pinpoint Attributes  #2850

@fjnoyp

Description

@fjnoyp

Description

When calling Amplify.Analytics.identifyUser or Amplify.Analytics.RecordEvent you can pass in an AnalyticsProperties (in v0) or CustomProperties (in v1) object.

CustomProperties represents attributes as a Map<String, String> but the underlying Pinpoint Endpoint attributes is a Map<String, List<String>>

We solved this issue for Pinpoint Endpoint User attributes by allowing Map<String, List<String>> in the AWSPinpointUserProfile object, but don't allow Map<String, List<String>> for setting Pinpoint Endpoint attribute.

Proposal

Allow the Pinpoint Endpoint attributes field to be set as a Map<String, List<String>> in UserProfile by:

  • Removing the UserProfile.customProperties field
  • Adding UserProfile.attributes of type Map<String, List<String>>
  • Adding UserProfile.metrics of type Map<String, double>

Categories

  • Analytics
  • API (REST)
  • API (GraphQL)
  • Auth
  • Authenticator
  • DataStore
  • Storage

Steps to Reproduce

No response

Screenshots

No response

Platforms

  • iOS
  • Android
  • Web
  • macOS
  • Windows
  • Linux

Flutter Version

3.3.10

Amplify Flutter Version

All

Deployment Method

Amplify CLI

Schema

No response

Metadata

Metadata

Assignees

Labels

analyticsIssues related to the Amplify Analytics Categoryfeature-parityA request for a feature that is fully or partially available on another platform (JS, iOS, Android)feature-requestA request for a new feature or an enhancement to an existing API or category.

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions