SRGSSR/srganalytics-apple

Migrate TC_UNIQUEID from SDK v4.x to SDK v5.x

Closed this issue · 1 comments

pyby commented

Issue type

Incorrect behavior

Description of the problem

SRG data analytics request to have the same value to link events together, for events before and after the migration.

From TagCommander SDK v4.x to v5, the unique id property name changed. the value used by data analytics is TC_UNIQUEID payload property from the SDK v4.x. No more property with this name in SDK v5 payload.

The current version 5.4.2 introduced ServerSide method useLegacyUniqueIDForAnonymousID().
But it's set TC_UNIQUEID value to context.user.consistent_anonymous_id payload property.

Since the launch, no request to use context.user.consistent_anonymous_id and context.device.sdk_id is the value use by data analytics to link events together.

Play SRG project tried a first patch to set TC_UNIQUEID value in both context.device.sdk_id and context.user.consistent_anonymous_id.

What the SDK can offer to manage it itself, so that every SRG applications can have the same behavior, and not implement their own solutions?

Issue created to have a better understanding of the Commanders Act SDK and what the SDK offer:
CommandersAct/iOSV5#13

Environment information

The simulator is a valid device as well. If all versions or devices seem to be affected, simply enter 'Any'

  • Library version: 9.0.0 and 9.0.1
  • iOS / tvOS version: Any
  • Device: Any

Reproducibility

Always reproducible

Steps to reproduce

  1. Run Demo app with version 8.2.0. TC SDK v4 creates a TC UNIQUE ID value (a UUID stored in UserDefault).
  2. Run Demo app with version 9.0.1, with TC SDK v5.x.

Both context.device.sdk_id and context.user.consistent_anonymous_id have a a new UUID shared in the payload.

For installed application with SDK 8.2.0 (and before), we expect to have the same UUID with TC SDK V5.

pyby commented

From Commanders Act discussion CommandersAct/iOSV5#13 (comment), the migration is not under the SDK control as:

TC_UNIQUEID was outdated by the SDK_ID for a long time.