Skip to content

Commit 3182032

Browse files
akhiljain1907ishita-gambhir-adobenamArora3112cacheungNaman Arora
authored
Staging to Main for Optimize 7.1.0 release (#516)
* Down merge main into staging (#486) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * Down merge main to staging (#489) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) * Down merge main into staging (#486) (#488) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- --------- * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * update node-version for npm publish workflow (#490) * update node-version for npm publish workflow * update nvmrc --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * sync (#493) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) * Down merge main into staging (#486) (#488) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- --------- * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * update node-version for npm publish workflow (#490) * update node-version for npm publish workflow * update nvmrc --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> Co-authored-by: Ishita Gambhir <igambhir@adobe.com> * [MOB-23595] Upgraded lerna version from 4.0.0 to 8.2.2 (#492) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) * Down merge main into staging (#486) (#488) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- --------- * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * update node-version for npm publish workflow (#490) * update node-version for npm publish workflow * update nvmrc * upgraded lerna version from 4.0.0 to 8.2.2 to fix vulnerabilities in package. * updated lerna.json to include app/* in packages. --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> Co-authored-by: Ishita Gambhir <igambhir@adobe.com> * Optimize: add APIs for displayed and generateDisplayInteractionXdm for multiple offers (#491) * add support for multiple display proposition in Optimize * android api call fix * update api usage, tests, docs * fix UTs * add support for generate display interaction xdm for multiple offers * preserve proposition weak reference * address PR comments * add constants in android * add handleJavascriptMessage in AEPMessaging (#497) * add handleJavascriptMessage in AEPMessaging * fix UTs * fix UTs * clear cache when message lifecycle ends * update docs * add constants * update docs * Revert "add handleJavascriptMessage in AEPMessaging (#497)" (#501) This reverts commit 5cc7329. * Revert "Optimize: add APIs for displayed and generateDisplayInteractionXdm fo…" (#502) This reverts commit e9890d3. * Main to staging (#515) * lerna version upgrade * Down merge main into staging (#486) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * Down merge main to staging (#489) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) * Down merge main into staging (#486) (#488) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- --------- * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * update node-version for npm publish workflow (#490) * update node-version for npm publish workflow * update nvmrc --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * sync (#493) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) * Down merge main into staging (#486) (#488) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- --------- * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * update node-version for npm publish workflow (#490) * update node-version for npm publish workflow * update nvmrc --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> Co-authored-by: Ishita Gambhir <igambhir@adobe.com> * [MOB-23595] Upgraded lerna version from 4.0.0 to 8.2.2 (#492) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- Co-authored-by: Naman Arora <namarora+adobe@adobe.com> * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- Co-authored-by: akhiljain1907 <akhiljain@adobe.com> --------- Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) * Down merge main into staging (#486) (#488) * expo CNG update (#480) * build error optimize read me updated * optimize note added * enable TVOS platform for Edge Bridge enable TVOS platform for Edge Bridge * update app podfile to the latest versions update app podfile to the latest versions * updated optimize read me for build errors * location services updates (#475) * location services updates * places version bump * Expo 52 sample app updated (#471) * expo 52 upgrade android build working * expo 52 ios fixes along with splash screen freeze issue fixes * pod file and yarn lock fixes * updated yarn lock and other copyright comment * added plugin for jetifier configuration * Remove android and ios folders from Git tracking for AEPSampleAppNewArchEnabled * ios and android folder added to git ignore * Revert "added plugin for jetifier configuration" This reverts commit de0ffb2. * added expo prebuild command * read me expo sample app updated --------- * expo simplification doc update (#473) * removed registeration of sdks * Update expo.md with expo to support CNG with static frameworks configuration * addressed review comments and made relevant changes in read me * Added a note for Expo support in Installation Guide. --------- --------- * Content cards tutorial (#482) * docs: 📝 adds content cards tutorial * diff * Content cards tutorial (#483) * docs: 📝 adds content cards tutorial * docs: 📝 adds docs for content card tracking * docs: update ContentCards tutorial to use trackContentCardInteraction methods from PR #477 (#485) --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * update node-version for npm publish workflow (#490) * update node-version for npm publish workflow * update nvmrc * upgraded lerna version from 4.0.0 to 8.2.2 to fix vulnerabilities in package. * updated lerna.json to include app/* in packages. --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> Co-authored-by: Ishita Gambhir <igambhir@adobe.com> --------- Co-authored-by: Ishita Gambhir <igambhir@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: akhiljain1907 <akhiljain@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * remove tutorial doc Tracking info will need to be updated. --------- Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Ishita Gambhir <igambhir@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com> * Feat- Optimize Enhancements (Callback and Batch Tracking) (#513) * Optimize - Update Proposition with callback support (#496) * initial commit for update proposition api enhancement * fixed error on clicking update proposition due to null or undefined callback. * removed redundant code from RCTAEPOptimize.m * fixed callback signature in api call in Optimize.ts and updated tests * used separate callback for success and error case as native android sdk calls success and failure separately. * tests fix and removed callbacklog from testapp * fixed iOS bridge code to call both success and error callbacks and test update * fixed android bridge to use AdobeCallbackWithError to provide error callback with AEPoptimize error response * removed error parameter from createCallBackResponse * changed public api signature to pass onSuccess and onError as functions instead of objects * moved createCallbackResponse method from RCTAEPOptimizeModule to RCTAEPOptimizeUtil * sending propositions map directly instead of sending under response key in successCallback * added type for AEPOptimizeError and returned AEpOptimizeError type in errorCallback * fixed index.js * add displayed and generateDisplayInteractionXDM APIs for multiple offers (#508) * add displayed API for multiple offers * add proposition id to Offer class * add ios impl for displayed api * add generateDisplayInteractionXDM and UTs * fix android build errors * use activity id as unique id for caching * update cache populate and clear logic * fix typos * add exception handling for android data reader util * fix ios bridge * add activity and placement fields to util methods * clean up test app * update documentation --------- Co-authored-by: Ishita Gambhir <igambhir@adobe.com> * Read Me update for update proposition api with callback (#514) * initial commit for update proposition api enhancement * fixed error on clicking update proposition due to null or undefined callback. * removed redundant code from RCTAEPOptimize.m * fixed callback signature in api call in Optimize.ts and updated tests * used separate callback for success and error case as native android sdk calls success and failure separately. * tests fix and removed callbacklog from testapp * fixed iOS bridge code to call both success and error callbacks and test update * fixed android bridge to use AdobeCallbackWithError to provide error callback with AEPoptimize error response * removed error parameter from createCallBackResponse * changed public api signature to pass onSuccess and onError as functions instead of objects * moved createCallbackResponse method from RCTAEPOptimizeModule to RCTAEPOptimizeUtil * sending propositions map directly instead of sending under response key in successCallback * added type for AEPOptimizeError and returned AEpOptimizeError type in errorCallback * fixed index.js * read me update * Version Update for 7.1.0 release (#517) * initial commit for update proposition api enhancement * fixed error on clicking update proposition due to null or undefined callback. * removed redundant code from RCTAEPOptimize.m * fixed callback signature in api call in Optimize.ts and updated tests * used separate callback for success and error case as native android sdk calls success and failure separately. * tests fix and removed callbacklog from testapp * fixed iOS bridge code to call both success and error callbacks and test update * fixed android bridge to use AdobeCallbackWithError to provide error callback with AEPoptimize error response * removed error parameter from createCallBackResponse * changed public api signature to pass onSuccess and onError as functions instead of objects * moved createCallbackResponse method from RCTAEPOptimizeModule to RCTAEPOptimizeUtil * sending propositions map directly instead of sending under response key in successCallback * added type for AEPOptimizeError and returned AEpOptimizeError type in errorCallback * fixed index.js * read me update * bumped optimize package version for 7.1.0 release --------- Co-authored-by: Ishita Gambhir <igambhir@adobe.com> Co-authored-by: namArora3112 <namarora@adobe.com> Co-authored-by: Calise Cheung <cacheung@adobe.com> Co-authored-by: Naman Arora <namarora+adobe@adobe.com> Co-authored-by: Daniel Soffiantini <dsoffiantini@gmail.com>
1 parent 2de6e78 commit 3182032

14 files changed

Lines changed: 829 additions & 32 deletions

File tree

apps/AEPSampleAppNewArchEnabled/app/OptimizeView.tsx

Lines changed: 68 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -15,6 +15,7 @@ import {
1515
Optimize,
1616
DecisionScope,
1717
Proposition,
18+
Offer,
1819
} from '@adobe/react-native-aepoptimize';
1920
import {WebView} from 'react-native-webview';
2021
import styles from '../styles/styles';
@@ -73,7 +74,7 @@ export default () => {
7374
decisionScopeImage,
7475
decisionScopeHtml,
7576
decisionScopeJson,
76-
decisionScopeTargetMbox,
77+
decisionScopeTargetMbox
7778
];
7879

7980
const optimizeExtensionVersion = async () => {
@@ -87,16 +88,33 @@ export default () => {
8788
console.log('Updated Propositions');
8889
};
8990

91+
const testUpdatePropositionsCallback = () => {
92+
console.log('Testing updatePropositions with callback...');
93+
Optimize.updatePropositions(
94+
decisionScopes,
95+
undefined,
96+
undefined,
97+
(response) => {
98+
console.log('Callback received:', response);
99+
},
100+
(error) => {
101+
console.log('Error:', error);
102+
}
103+
);
104+
};
105+
90106
const getPropositions = async () => {
91107
const propositions: Map<string, Proposition> =
92108
await Optimize.getPropositions(decisionScopes);
93-
console.log(propositions);
109+
console.log(propositions.size, ' propositions size');
94110
if (propositions) {
95111
setTextProposition(propositions.get(decisionScopeText.getName()));
96112
setImageProposition(propositions.get(decisionScopeImage.getName()));
97113
setHtmlProposition(propositions.get(decisionScopeHtml.getName()));
98114
setJsonProposition(propositions.get(decisionScopeJson.getName()));
99115
setTargetProposition(propositions.get(decisionScopeTargetMbox.getName()));
116+
const propositionObject = Object.fromEntries(propositions);
117+
console.log('propositions', JSON.stringify(propositionObject, null, 2));
100118
}
101119
};
102120

@@ -118,6 +136,39 @@ export default () => {
118136
},
119137
});
120138

139+
const multipleOffersDisplayed = async () => {
140+
const propositionsMap: Map<string, Proposition> = await Optimize.getPropositions(decisionScopes);
141+
const offers: Array<Offer> = [];
142+
propositionsMap.forEach((proposition: Proposition) => {
143+
if (proposition && proposition.items && proposition.items.length > 0) {
144+
proposition.items.forEach((offer) => {
145+
offers.push(offer);
146+
});
147+
}
148+
});
149+
console.log('offers', offers);
150+
Optimize.displayed(offers);
151+
};
152+
153+
const multipleOffersGenerateDisplayInteractionXdm = async () => {
154+
const propositionsMap: Map<string, Proposition> = await Optimize.getPropositions(decisionScopes);
155+
const offers: Array<Offer> = [];
156+
propositionsMap.forEach((proposition: Proposition) => {
157+
if (proposition && proposition.items && proposition.items.length > 0) {
158+
proposition.items.forEach((offer) => {
159+
offers.push(offer);
160+
});
161+
}
162+
});
163+
console.log('offers', offers);
164+
const displayInteractionXdm = await Optimize.generateDisplayInteractionXdm(offers);
165+
if (displayInteractionXdm) {
166+
console.log('displayInteractionXdm', JSON.stringify(displayInteractionXdm, null, 2));
167+
} else {
168+
console.log('displayInteractionXdm is null');
169+
}
170+
};
171+
121172
const renderTargetOffer = () => {
122173
if (targetProposition?.items) {
123174
if (targetProposition.items[0].format === TARGET_OFFER_TYPE_JSON) {
@@ -329,6 +380,9 @@ export default () => {
329380
<View style={{margin: 5}}>
330381
<Button title="Update Propositions" onPress={updatePropositions} />
331382
</View>
383+
<View style={{margin: 5}}>
384+
<Button title="Test Update Propositions Callback" onPress={testUpdatePropositionsCallback} />
385+
</View>
332386
<View style={{margin: 5}}>
333387
<Button title="Get Propositions" onPress={getPropositions} />
334388
</View>
@@ -344,6 +398,18 @@ export default () => {
344398
onPress={onPropositionUpdate}
345399
/>
346400
</View>
401+
<View style={{margin: 5}}>
402+
<Button
403+
title="Multiple Offers Displayed"
404+
onPress={multipleOffersDisplayed}
405+
/>
406+
</View>
407+
<View style={{margin: 5}}>
408+
<Button
409+
title="Multiple Offers Generate Display Interaction XDM"
410+
onPress={multipleOffersGenerateDisplayInteractionXdm}
411+
/>
412+
</View>
347413
<Text style={{...styles.welcome, fontSize: 20}}>
348414
SDK Version:: {version}
349415
</Text>

packages/optimize/README.md

Lines changed: 89 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -138,20 +138,33 @@ Optimize.onPropositionUpdate({
138138

139139
### updating the propositions:
140140

141-
This API fetches the propositions for the provided DecisionScope list.
141+
This API fetches the propositions for the provided DecisionScope list. The API now supports optional callback parameters for successful response and error handling.
142142

143143
**Syntax**
144144

145145
```typescript
146-
updatePropositions(decisionScopes: Array<DecisionScope>, xdm?: Map<string, any>, data?: Map<string, any>)
146+
updatePropositions(
147+
decisionScopes: Array<DecisionScope>,
148+
xdm?: Map<string, any>,
149+
data?: Map<string, any>,
150+
onSuccess?: (response: Map<string, Proposition>) => void,
151+
onError?: (error: AEPOptimizeError) => void
152+
)
147153
```
148154

155+
**Parameters:**
156+
- `decisionScopes`: Array of decision scopes for which offers need to be updated
157+
- `xdm`: Optional XDM-formatted data to be sent in the personalization query request
158+
- `data`: Optional free-form data to be sent in the personalization query request
159+
- `onSuccess`: Optional callback function called when propositions are successfully updated
160+
- `onError`: Optional callback function called when an error occurs during the update
161+
149162
**Example**
150163

151164
```typescript
152165
const decisionScopeText = new DecisionScope("{DecisionScope name}");
153166
const decisionScopeImage = new DecisionScope("{DecisionScope name}");
154-
const decisionScopeHtml = new DecisionScope("{DecisionScope name{");
167+
const decisionScopeHtml = new DecisionScope("{DecisionScope name}");
155168
const decisionScopeJson = new DecisionScope("{DecisionScope name}");
156169
const decisionScopes = [
157170
decisionScopeText,
@@ -160,7 +173,79 @@ const decisionScopes = [
160173
decisionScopeJson,
161174
];
162175

163-
Optimize.updatePropositions(decisionScopes, null, null);
176+
// Update without callbacks
177+
Optimize.updatePropositions(decisionScopes);
178+
179+
// Update with callbacks
180+
Optimize.updatePropositions(
181+
decisionScopes,
182+
undefined, // xdm parameter
183+
undefined, // data parameter
184+
(response: Map<string, Proposition>) => {
185+
console.log('✅ Propositions updated successfully:', response);
186+
// Handle the updated propositions
187+
},
188+
(error: AEPOptimizeError) => {
189+
console.error('❌ Error updating propositions:', error);
190+
// Handle the error
191+
}
192+
);
193+
```
194+
195+
### Batching display interaction events for multiple Offers:
196+
197+
The Optimize SDK now provides enhanced support for batching display interaction events for multiple Offers. The following APIs are available:
198+
199+
#### displayed
200+
201+
**Syntax**
202+
203+
```typescript
204+
displayed(offers: Array<Offer>)
205+
```
206+
207+
**Example**
208+
209+
```typescript
210+
211+
const propositionsMap: Map<string, Proposition> = await Optimize.getPropositions(decisionScopes);
212+
const offers: Array<Offer> = [];
213+
214+
propositionsMap.forEach((proposition: Proposition) => {
215+
if (proposition && proposition.items && proposition.items.length > 0) {
216+
proposition.items.forEach((offer) => {
217+
offers.push(offer);
218+
});
219+
}
220+
});
221+
222+
Optimize.displayed(offers);
223+
```
224+
225+
#### generateDisplayInteractionXdm
226+
227+
**Syntax**
228+
229+
```typescript
230+
generateDisplayInteractionXdm(offers: Array<Offer>): Promise<Map<string, any>>;
231+
```
232+
233+
**Example**
234+
235+
```typescript
236+
237+
const propositionsMap: Map<string, Proposition> = await Optimize.getPropositions(decisionScopes);
238+
const offers: Array<Offer> = [];
239+
240+
propositionsMap.forEach((proposition: Proposition) => {
241+
if (proposition && proposition.items && proposition.items.length > 0) {
242+
proposition.items.forEach((offer) => {
243+
offers.push(offer);
244+
});
245+
}
246+
});
247+
248+
const displayInteractionXdm = await Optimize.generateDisplayInteractionXdm(offers);
164249
```
165250

166251
---

packages/optimize/__tests__/OptimizeTests.ts

Lines changed: 122 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -51,18 +51,122 @@ describe('Optimize', () => {
5151
});
5252

5353
it('AEPOptimize updateProposition is called', async () => {
54-
const spy = jest.spyOn(NativeModules.AEPOptimize, 'updatePropositions');
55-
let decisionScopes = [new DecisionScope('abcdef')];
54+
let spy = jest.spyOn(NativeModules.AEPOptimize, "updatePropositions");
55+
let decisionScopes = [new DecisionScope("abcdef")];
5656
let xdm = new Map();
5757
let data = new Map();
5858
await Optimize.updatePropositions(decisionScopes, xdm, data);
5959
expect(spy).toHaveBeenCalledWith(
6060
decisionScopes.map((decisionScope) => decisionScope.getName()),
6161
xdm,
62-
data
62+
data,
63+
expect.any(Function),
64+
expect.any(Function)
65+
);
66+
});
67+
68+
it('AEPOptimize updateProposition is called with callback', async () => {
69+
let spy = jest.spyOn(NativeModules.AEPOptimize, "updatePropositions");
70+
let decisionScopes = [new DecisionScope("abcdef")];
71+
let xdm = new Map();
72+
let data = new Map();
73+
const callback = (_propositions: Map<string, Proposition>) => {};
74+
await Optimize.updatePropositions(decisionScopes, xdm, data, callback as any, undefined);
75+
expect(spy).toHaveBeenCalledWith(
76+
decisionScopes.map((decisionScope) => decisionScope.getName()),
77+
xdm,
78+
data,
79+
expect.any(Function),
80+
expect.any(Function)
6381
);
6482
});
6583

84+
it('AEPOptimize updateProposition callback handles successful response', async () => {
85+
const mockResponse = new Map<string, Proposition>();
86+
mockResponse.set('scope1', new Proposition(propositionJson as any));
87+
// Mock the native method to call the callback with mock data
88+
const mockMethod = jest.fn().mockImplementation((...args: any[]) => {
89+
const callback = args[3];
90+
if (typeof callback === 'function') {
91+
callback(mockResponse);
92+
}
93+
});
94+
NativeModules.AEPOptimize.updatePropositions = mockMethod;
95+
let decisionScopes = [new DecisionScope("abcdef")];
96+
let callbackResponse: Map<string, Proposition> | null = null;
97+
const callback = (propositions: Map<string, Proposition>) => {
98+
callbackResponse = propositions;
99+
};
100+
await Optimize.updatePropositions(decisionScopes, undefined, undefined, callback as any, undefined);
101+
expect(callbackResponse).not.toBeNull();
102+
expect(callbackResponse!.get('scope1')).toBeInstanceOf(Proposition);
103+
});
104+
105+
it('AEPOptimize updateProposition callback handles error response', async () => {
106+
// For error, the callback may not be called, or may be called with an empty map or undefined. We'll simulate an empty map.
107+
const mockErrorResponse = new Error('Test error');
108+
// Mock the native method to call the callback with error data
109+
const mockMethod = jest.fn().mockImplementation((...args: any[]) => {
110+
const onError = args[4];
111+
if (typeof onError === 'function') {
112+
onError(mockErrorResponse);
113+
}
114+
});
115+
NativeModules.AEPOptimize.updatePropositions = mockMethod;
116+
let decisionScopes = [new DecisionScope("abcdef")];
117+
let callbackResponse: any = null;
118+
const onError = (error: any) => {
119+
callbackResponse = error;
120+
};
121+
await Optimize.updatePropositions(decisionScopes, undefined, undefined, undefined, onError as any);
122+
expect(callbackResponse).not.toBeNull();
123+
expect(callbackResponse!.message).toBe('Test error');
124+
});
125+
126+
it('AEPOptimize updateProposition calls both success and error callbacks', async () => {
127+
const mockSuccessResponse = new Map<string, Proposition>();
128+
mockSuccessResponse.set('scope1', new Proposition(propositionJson as any));
129+
const mockError = { message: 'Test error', code: 500 };
130+
131+
// Mock the native method to call both callbacks
132+
const mockMethod = jest.fn().mockImplementation((...args: any[]) => {
133+
const onSuccess = args[3];
134+
const onError = args[4];
135+
if (typeof onSuccess === 'function') {
136+
onSuccess(mockSuccessResponse);
137+
}
138+
if (typeof onError === 'function') {
139+
onError(mockError);
140+
}
141+
});
142+
NativeModules.AEPOptimize.updatePropositions = mockMethod;
143+
144+
let successCalled = false;
145+
let errorCalled = false;
146+
let successResponse: Map<string, Proposition> | null = null;
147+
let errorResponse: any = null;
148+
149+
const onSuccess = (propositions: Map<string, Proposition>) => {
150+
successCalled = true;
151+
successResponse = propositions;
152+
};
153+
const onError = (error: any) => {
154+
errorCalled = true;
155+
errorResponse = error;
156+
};
157+
158+
let decisionScopes = [new DecisionScope("abcdef")];
159+
await Optimize.updatePropositions(decisionScopes, undefined, undefined, onSuccess as any, onError as any);
160+
161+
expect(successCalled).toBe(true);
162+
expect(errorCalled).toBe(true);
163+
expect(successResponse).not.toBeNull();
164+
expect(successResponse!.get('scope1')).toBeInstanceOf(Proposition);
165+
expect(errorResponse).toBeDefined();
166+
expect(errorResponse.message).toBe('Test error');
167+
expect(errorResponse.code).toBe(500);
168+
});
169+
66170
it('Test Offer object state', async () => {
67171
const offer = new Offer(offerJson);
68172
//Asserts
@@ -174,4 +278,19 @@ describe('Optimize', () => {
174278
'eyJhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTExMTExMTExMTExMTExMSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExMTExMTExMTExMTExMTEiLCJpdGVtQ291bnQiOjEwfQ=='
175279
);
176280
});
281+
282+
it('Test Optimize.displayed', async () => {
283+
const spy = jest.spyOn(NativeModules.AEPOptimize, 'multipleOffersDisplayed');
284+
const offers = [new Offer(offerJson)];
285+
await Optimize.displayed(offers);
286+
expect(spy).toHaveBeenCalledWith(offers);
287+
});
288+
289+
it('Test Optimize.generateDisplayInteractionXdm', async () => {
290+
const spy = jest.spyOn(NativeModules.AEPOptimize, 'multipleOffersGenerateDisplayInteractionXdm');
291+
const offers = [new Offer(offerJson)];
292+
await Optimize.generateDisplayInteractionXdm(offers);
293+
expect(spy).toHaveBeenCalledWith(offers);
294+
});
295+
177296
});

0 commit comments

Comments
 (0)