From 3e0b37712dec17edede5e1d5343f9d760a3882c5 Mon Sep 17 00:00:00 2001 From: akhiljain1907 Date: Wed, 25 Jun 2025 15:18:03 +0530 Subject: [PATCH 01/16] initial commit for update proposition api enhancement --- .../app/OptimizeView.tsx | 30 +++++-- .../app/_layout.tsx | 2 +- packages/optimize/__tests__/OptimizeTests.ts | 85 ++++++++++++++++++- .../optimize/RCTAEPOptimizeModule.java | 56 +++++++++++- packages/optimize/ios/src/RCTAEPOptimize.m | 83 +++++++++++++++--- packages/optimize/src/Optimize.ts | 42 ++++++++- 6 files changed, 272 insertions(+), 26 deletions(-) diff --git a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx index a28ea79b8..c89332b99 100644 --- a/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx +++ b/apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx @@ -53,6 +53,7 @@ export default () => { const [htmlProposition, setHtmlProposition] = useState(); const [jsonProposition, setJsonProposition] = useState(); const [targetProposition, setTargetProposition] = useState(); + const [callbackLog, setCallbackLog] = useState(''); const decisionScopeText = new DecisionScope( 'eyJ4ZG06YWN0aXZpdHlJZCI6Inhjb3JlOm9mZmVyLWFjdGl2aXR5OjE0MWM4NTg2MmRiMDQ4YzkiLCJ4ZG06cGxhY2VtZW50SWQiOiJ4Y29yZTpvZmZlci1wbGFjZW1lbnQ6MTQxYzZkNWQzOGYwNDg5NyJ9', @@ -66,13 +67,9 @@ export default () => { const decisionScopeJson = new DecisionScope( 'eyJ4ZG06YWN0aXZpdHlJZCI6Inhjb3JlOm9mZmVyLWFjdGl2aXR5OjE0MWM4NTg2MmRiMDQ4YzkiLCJ4ZG06cGxhY2VtZW50SWQiOiJ4Y29yZTpvZmZlci1wbGFjZW1lbnQ6MTQxYzZkN2VjOTZmOTg2ZCJ9', ); - const decisionScopeTargetMbox = new DecisionScope('demoLoc3'); + const decisionScopeTargetMbox = new DecisionScope('akhil-test-mbox'); const decisionScopes = [ - decisionScopeText, - decisionScopeImage, - decisionScopeHtml, - decisionScopeJson, decisionScopeTargetMbox, ]; @@ -87,6 +84,21 @@ export default () => { console.log('Updated Propositions'); }; + const testUpdatePropositionsCallback = () => { + console.log('Testing updatePropositions with callback...'); + setCallbackLog('Waiting for callback...'); + + Optimize.updatePropositions( + decisionScopes, + undefined, + undefined, + (response) => { + console.log('Callback received:', response); + setCallbackLog(JSON.stringify(response, null, 2)); + } + ); + }; + const getPropositions = async () => { const propositions: Map = await Optimize.getPropositions(decisionScopes); @@ -102,6 +114,7 @@ export default () => { const clearCachedProposition = () => { Optimize.clearCachedPropositions(); + setCallbackLog(''); console.log('Proposition cache cleared'); }; @@ -329,6 +342,9 @@ export default () => {