Skip to content

Add flutter_aepoptimize plugin for Adobe Optimize SDK#165

Draft
akhiljain1907 wants to merge 2 commits into
adobe:mainfrom
akhiljain1907:feature/flutter-aepoptimize-plugin
Draft

Add flutter_aepoptimize plugin for Adobe Optimize SDK#165
akhiljain1907 wants to merge 2 commits into
adobe:mainfrom
akhiljain1907:feature/flutter-aepoptimize-plugin

Conversation

@akhiljain1907

Copy link
Copy Markdown
Contributor

Introduces a complete Flutter method-channel plugin wrapping the native AEP Optimize iOS (AEPOptimize ~>5.0) and Android (optimize via BOM 3.x) SDKs. Multiple native API overloads (no-callback, callback, callback+timeout) are consolidated into single Dart methods with optional parameters.

Dart API: Optimize.updatePropositions, getPropositions, onPropositionsUpdate,
clearCachedPropositions. Models: DecisionScope, OptimizeProposition, Offer,
OfferType. Offer tracking: displayed(), tapped(), generateDisplayInteractionXdm(),
generateTapInteractionXdm(). Proposition: generateReferenceXdm().

Includes 636 lines of Dart unit tests covering API invocation, response decoding, model roundtrips, enum conversions, listener callbacks, and edge cases.

Description

Related Issue

Motivation and Context

How Has This Been Tested?

Screenshots (if appropriate):

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

  • I have signed the Adobe Open Source CLA.
  • My code follows the code style of this project.
  • My change requires a change to the documentation.
  • I have updated the documentation accordingly.
  • I have read the CONTRIBUTING document.
  • I have added tests to cover my changes.
  • All new and existing tests passed.

Introduces a complete Flutter method-channel plugin wrapping the native
AEP Optimize iOS (AEPOptimize ~>5.0) and Android (optimize via BOM 3.x)
SDKs. Multiple native API overloads (no-callback, callback, callback+timeout)
are consolidated into single Dart methods with optional parameters.

Dart API: Optimize.updatePropositions, getPropositions, onPropositionsUpdate,
clearCachedPropositions. Models: DecisionScope, OptimizeProposition, Offer,
OfferType. Offer tracking: displayed(), tapped(), generateDisplayInteractionXdm(),
generateTapInteractionXdm(). Proposition: generateReferenceXdm().

Includes 636 lines of Dart unit tests covering API invocation, response
decoding, model roundtrips, enum conversions, listener callbacks, and
edge cases.

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
@akhiljain1907 akhiljain1907 requested review from ashumadobe and navratan-soni and removed request for ashumadobe June 20, 2026 11:29
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant