From 9fbbf980aefe0605857df5ea0d9fb8a183a964c8 Mon Sep 17 00:00:00 2001 From: Ishita Gambhir Date: Thu, 7 Aug 2025 23:55:20 +0530 Subject: [PATCH 01/13] add displayed API for multiple offers --- .../app/OptimizeView.tsx | 39 ++++++++++-- .../app/_layout.tsx | 5 +- .../optimize/RCTAEPOptimizeModule.java | 62 +++++++++++++++++++ packages/optimize/src/Optimize.ts | 7 ++- 4 files changed, 105 insertions(+), 8 deletions(-) diff --git a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx index a28ea79b8..6d29e4515 100644 --- a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx +++ b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx @@ -67,13 +67,19 @@ export default () => { 'eyJ4ZG06YWN0aXZpdHlJZCI6Inhjb3JlOm9mZmVyLWFjdGl2aXR5OjE0MWM4NTg2MmRiMDQ4YzkiLCJ4ZG06cGxhY2VtZW50SWQiOiJ4Y29yZTpvZmZlci1wbGFjZW1lbnQ6MTQxYzZkN2VjOTZmOTg2ZCJ9', ); const decisionScopeTargetMbox = new DecisionScope('demoLoc3'); + const decistionScopeTest = new DecisionScope('ishita-test'); + const decisisionScopeODE = new DecisionScope('eyJ4ZG06YWN0aXZpdHlJZCI6ImRwczpvZmZlci1hY3Rpdml0eToxOWEyYzMyYzQ4MzliNmRjIiwieGRtOnBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjE4ZTBlZTA0OTRkZDE3YzQifQ=='); + const decistionScopeTest2 = new DecisionScope('akhil-test-mbox'); const decisionScopes = [ - decisionScopeText, - decisionScopeImage, - decisionScopeHtml, - decisionScopeJson, - decisionScopeTargetMbox, + // decisionScopeText, + // decisionScopeImage, + // decisionScopeHtml, + // decisionScopeJson, + // decisionScopeTargetMbox, + decistionScopeTest, + decisisionScopeODE, + decistionScopeTest2 ]; const optimizeExtensionVersion = async () => { @@ -90,13 +96,14 @@ export default () => { const getPropositions = async () => { const propositions: Map = await Optimize.getPropositions(decisionScopes); - console.log(propositions); + console.log(propositions.size, ' propositions size'); if (propositions) { setTextProposition(propositions.get(decisionScopeText.getName())); setImageProposition(propositions.get(decisionScopeImage.getName())); setHtmlProposition(propositions.get(decisionScopeHtml.getName())); setJsonProposition(propositions.get(decisionScopeJson.getName())); setTargetProposition(propositions.get(decisionScopeTargetMbox.getName())); + console.log('propositions', propositions); } }; @@ -118,6 +125,20 @@ export default () => { }, }); + const multipleOffersDisplayed = async () => { + const propositionsMap: Map = await Optimize.getPropositions(decisionScopes); + const offerIds: Array = []; + propositionsMap.forEach((proposition: Proposition) => { + if (proposition && proposition.items && proposition.items.length > 0) { + proposition.items.forEach((offer) => { + offerIds.push(offer.id); + }); + } + }); + console.log('offerIds', offerIds); + Optimize.displayed(offerIds); + }; + const renderTargetOffer = () => { if (targetProposition?.items) { if (targetProposition.items[0].format === TARGET_OFFER_TYPE_JSON) { @@ -344,6 +365,12 @@ export default () => { onPress={onPropositionUpdate} /> + +