diff --git a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx index a28ea79b8..5411c18be 100644 --- a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx +++ b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx @@ -84,14 +84,14 @@ export default () => { const updatePropositions = () => { Optimize.updatePropositions(decisionScopes); - console.log('Updated Propositions'); + console.log('Updated Proposition for decisionScopes:', decisionScopes); }; const getPropositions = async () => { const propositions: Map = await Optimize.getPropositions(decisionScopes); - console.log(propositions); if (propositions) { + console.log("get propositions", JSON.stringify(Object.fromEntries(propositions), null, 2)); setTextProposition(propositions.get(decisionScopeText.getName())); setImageProposition(propositions.get(decisionScopeImage.getName())); setHtmlProposition(propositions.get(decisionScopeHtml.getName())); @@ -118,6 +118,54 @@ export default () => { }, }); + const multipleOffersDisplayed = async () => { + const propositionsMap: Map = await Optimize.getPropositions(decisionScopes); + const offerPairs: Array<{proposition: Proposition, offerId: string}> = []; + + propositionsMap.forEach((proposition: Proposition) => { + if (proposition && proposition.items) { + proposition.items.forEach((offer) => { + offerPairs.push({ + proposition: proposition, + offerId: offer.id + }); + }); + } + }); + + console.log('Extracted offer pairs:', offerPairs); + + if (offerPairs.length > 0) { + Optimize.displayed(offerPairs); + console.log(`Called multipleOffersDisplayed with ${offerPairs.length} offers`); + } else { + console.log('No offers found to display'); + } + }; + + const generateDisplayInteractionXdmForMultipleOffers = async () => { + const propositionsMap: Map = await Optimize.getPropositions(decisionScopes); + const offerPairs: Array<{proposition: Proposition, offerId: string}> = []; + + propositionsMap.forEach((proposition: Proposition) => { + if (proposition && proposition.items) { + proposition.items.forEach((offer) => { + offerPairs.push({ + proposition: proposition, + offerId: offer.id + }); + }); + } + }); + + const xdm = await Optimize.generateDisplayInteractionXdm(offerPairs); + if (xdm) { + console.log('Generated Display Interaction XDM for Multiple Offers:', JSON.stringify(xdm, null, 2)); + } else { + console.log('Error in generating Display interaction XDM for multiple offers.'); + } + }; + const renderTargetOffer = () => { if (targetProposition?.items) { if (targetProposition.items[0].format === TARGET_OFFER_TYPE_JSON) { @@ -338,6 +386,18 @@ export default () => { onPress={clearCachedProposition} /> + +