diff --git a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx index a2a4ac3a..0fbce578 100644 --- a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx +++ b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx @@ -15,6 +15,7 @@ import { Optimize, DecisionScope, Proposition, + Offer, } from '@adobe/react-native-aepoptimize'; import {WebView} from 'react-native-webview'; import styles from '../styles/styles'; @@ -73,7 +74,7 @@ export default () => { decisionScopeImage, decisionScopeHtml, decisionScopeJson, - decisionScopeTargetMbox + decisionScopeTargetMbox, ]; const optimizeExtensionVersion = async () => { @@ -105,13 +106,15 @@ 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())); + const propositionObject = Object.fromEntries(propositions); + console.log('propositions', JSON.stringify(propositionObject, null, 2)); } }; @@ -133,6 +136,39 @@ export default () => { }, }); + const multipleOffersDisplayed = async () => { + const propositionsMap: Map = await Optimize.getPropositions(decisionScopes); + const offers: Array = []; + propositionsMap.forEach((proposition: Proposition) => { + if (proposition && proposition.items && proposition.items.length > 0) { + proposition.items.forEach((offer) => { + offers.push(offer); + }); + } + }); + console.log('offers', offers); + Optimize.displayed(offers); + }; + + const multipleOffersGenerateDisplayInteractionXdm = async () => { + const propositionsMap: Map = await Optimize.getPropositions(decisionScopes); + const offers: Array = []; + propositionsMap.forEach((proposition: Proposition) => { + if (proposition && proposition.items && proposition.items.length > 0) { + proposition.items.forEach((offer) => { + offers.push(offer); + }); + } + }); + console.log('offers', offers); + const displayInteractionXdm = await Optimize.generateDisplayInteractionXdm(offers); + if (displayInteractionXdm) { + console.log('displayInteractionXdm', JSON.stringify(displayInteractionXdm, null, 2)); + } else { + console.log('displayInteractionXdm is null'); + } + }; + const renderTargetOffer = () => { if (targetProposition?.items) { if (targetProposition.items[0].format === TARGET_OFFER_TYPE_JSON) { @@ -362,6 +398,18 @@ export default () => { onPress={onPropositionUpdate} /> + +