Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(ats): add ODP integration #455

Merged
merged 116 commits into from
Oct 21, 2022
Merged

feat(ats): add ODP integration #455

merged 116 commits into from
Oct 21, 2022

Conversation

jaeopt
Copy link
Collaborator

@jaeopt jaeopt commented Apr 19, 2022

Summary

This PR adds a support for Optimizely Data Platform (ODP) integration to Full Stack. With this extension, clients may not need to pre-determine and include user segments in attributes. SDK can fetch user segments from the ODP server for the current user.

  • Add a new public API to OptimizelyUserContext (fetchQualifiedSegments).
  • Add a ODP server interface (segments and events).
  • Add a new audience type (qualified).
  • Add VuidManager and support vuid-based decisions before userId is available.

Test plan

  • Tests for OptimizelyUserContext new APIs.
  • Tests for odpManager.
  • Tests for new audience type (qualified).
  • Tests for vuid persistence and vuid-based decisions.

Issues

  • FSSDK-8413

Copy link
Contributor

@yasirfolio3 yasirfolio3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Overall looks good, just some minor changes suggested.

Sources/ODP/OdpSegmentManager.swift Outdated Show resolved Hide resolved
Tests/TestData/odp/decide_audience_segments.json Outdated Show resolved Hide resolved
Sources/ODP/ZaiusGraphQLApiManager.swift Outdated Show resolved Hide resolved
Sources/ODP/OdpEventManager.swift Outdated Show resolved Hide resolved
Sources/ODP/OdpEventManager.swift Outdated Show resolved Hide resolved
Sources/ODP/OdpEventManager.swift Outdated Show resolved Hide resolved
Tests/OptimizelyTests-Common/OdpManagerTests.swift Outdated Show resolved Hide resolved
yasirfolio3
yasirfolio3 previously approved these changes Oct 3, 2022
Copy link
Contributor

@yasirfolio3 yasirfolio3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Contributor

@yasirfolio3 yasirfolio3 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@jaeopt jaeopt merged commit 2fcbc11 into master Oct 21, 2022
@jaeopt jaeopt deleted the jae/ats branch October 21, 2022 16:49
@jaeopt jaeopt changed the title feat: add ODP integration feat(odp): add ODP integration Oct 28, 2022
@jaeopt jaeopt changed the title feat(odp): add ODP integration feat(ats): add ODP integration Oct 28, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

6 participants