├── .nvmrc
├── .yarnrc.yml
├── apps
├── AEPSampleApp
│ ├── .watchmanconfig
│ ├── jest.config.js
│ ├── types
│ │ └── props.ts
│ ├── .bundle
│ │ └── config
│ ├── app.json
│ ├── tsconfig.json
│ ├── .eslintrc.js
│ ├── android
│ │ ├── app
│ │ │ ├── src
│ │ │ │ ├── main
│ │ │ │ │ ├── res
│ │ │ │ │ │ ├── values
│ │ │ │ │ │ │ ├── strings.xml
│ │ │ │ │ │ │ └── styles.xml
│ │ │ │ │ │ ├── mipmap-hdpi
│ │ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ │ ├── mipmap-mdpi
│ │ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ │ ├── mipmap-xhdpi
│ │ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ │ ├── mipmap-xxhdpi
│ │ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ │ └── mipmap-xxxhdpi
│ │ │ │ │ │ │ ├── ic_launcher.png
│ │ │ │ │ │ │ └── ic_launcher_round.png
│ │ │ │ │ ├── AndroidManifest.xml
│ │ │ │ │ └── java
│ │ │ │ │ │ └── com
│ │ │ │ │ │ └── aepsampleapp
│ │ │ │ │ │ └── MainActivity.kt
│ │ │ │ └── debug
│ │ │ │ │ └── AndroidManifest.xml
│ │ │ ├── debug.keystore
│ │ │ └── proguard-rules.pro
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── settings.gradle
│ │ └── build.gradle
│ ├── ios
│ │ ├── AEPSampleApp
│ │ │ ├── Images.xcassets
│ │ │ │ ├── Contents.json
│ │ │ │ └── AppIcon.appiconset
│ │ │ │ │ └── Contents.json
│ │ │ ├── AppDelegate.h
│ │ │ ├── main.m
│ │ │ └── AppDelegate.mm
│ │ ├── aepsampleapp-Bridging-Header.h
│ │ ├── AEPSampleApp.xcworkspace
│ │ │ ├── contents.xcworkspacedata
│ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── AEPSampleApp.xcodeproj
│ │ │ └── project.xcworkspace
│ │ │ │ └── xcshareddata
│ │ │ │ └── IDEWorkspaceChecks.plist
│ │ ├── .xcode.env
│ │ ├── dummy.swift
│ │ └── AEPSampleAppTests
│ │ │ └── Info.plist
│ ├── babel.config.js
│ ├── .prettierrc.js
│ ├── Gemfile
│ ├── index.js
│ ├── .gitignore
│ └── styles
│ │ └── styles.ts
└── AEPSampleAppNewArchEnabled
│ ├── hooks
│ ├── useColorScheme.ts
│ ├── useColorScheme.web.ts
│ └── useThemeColor.ts
│ ├── jest.config.js
│ ├── types
│ └── props.ts
│ ├── assets
│ ├── images
│ │ ├── icon.png
│ │ ├── splash.png
│ │ ├── favicon.png
│ │ ├── react-logo.png
│ │ ├── adaptive-icon.png
│ │ ├── react-logo@2x.png
│ │ ├── react-logo@3x.png
│ │ └── partial-react-logo.png
│ └── fonts
│ │ └── SpaceMono-Regular.ttf
│ ├── tsconfig.json
│ ├── components
│ ├── __tests__
│ │ ├── ThemedText-test.tsx
│ │ └── __snapshots__
│ │ │ └── ThemedText-test.tsx.snap
│ ├── navigation
│ │ └── TabBarIcon.tsx
│ ├── ThemedView.tsx
│ ├── ExternalLink.tsx
│ ├── HelloWave.tsx
│ ├── Collapsible.tsx
│ └── ThemedText.tsx
│ ├── .gitignore
│ ├── constants
│ └── Colors.ts
│ ├── app
│ └── +not-found.tsx
│ ├── app.json
│ └── styles
│ └── styles.ts
├── packages
├── core
│ ├── android
│ │ ├── README.md
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── src
│ │ ├── models
│ │ │ ├── PrivacyStatus.ts
│ │ │ ├── LogLevel.ts
│ │ │ ├── MobileVisitorAuthenticationState.ts
│ │ │ ├── Event.ts
│ │ │ ├── VisitorID.ts
│ │ │ └── InitOptions.ts
│ │ ├── Signal.ts
│ │ ├── Lifecycle.ts
│ │ └── index.ts
│ ├── ios
│ │ └── src
│ │ │ ├── Core
│ │ │ ├── RCTAEPCore.h
│ │ │ └── RCTAEPCoreDataBridge.h
│ │ │ ├── Signal
│ │ │ ├── RCTAEPSignal.h
│ │ │ └── RCTAEPSignal.m
│ │ │ ├── Identity
│ │ │ └── RCTAEPIdentity.h
│ │ │ └── Lifecycle
│ │ │ ├── RCTAEPLifecycle.h
│ │ │ └── RCTAEPLifecycle.m
│ ├── RCTAEPCore.podspec
│ ├── package.json
│ ├── __tests__
│ │ ├── SignalTests.ts
│ │ └── LifecycleTests.ts
│ └── .npmignore
├── edge
│ ├── android
│ │ ├── README.md
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── ios
│ │ └── src
│ │ │ ├── RCTAEPEdge.h
│ │ │ └── RCTAEPExperienceEventDataBridge.h
│ ├── RCTAEPEdge.podspec
│ ├── src
│ │ ├── index.ts
│ │ └── models
│ │ │ └── EdgeEventHandle.ts
│ ├── package.json
│ └── .npmignore
├── edgebridge
│ ├── android
│ │ ├── README.md
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── adobe
│ │ │ │ └── marketing
│ │ │ │ └── mobile
│ │ │ │ └── reactnative
│ │ │ │ └── edgebridge
│ │ │ │ └── RCTAEPEdgeBridgeModule.java
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── src
│ │ ├── index.ts
│ │ └── EdgeBridge.ts
│ ├── ios
│ │ └── src
│ │ │ ├── RCTAEPEdgeBridge.h
│ │ │ └── RCTAEPEdgeBridge.m
│ ├── RCTAEPEdgeBridge.podspec
│ ├── __tests__
│ │ └── EdgeBridgeTests.ts
│ ├── package.json
│ └── .npmignore
├── edgeconsent
│ ├── android
│ │ ├── README.md
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── src
│ │ └── index.ts
│ ├── ios
│ │ └── src
│ │ │ └── RCTAEPEdgeConsent.h
│ ├── RCTAEPEdgeConsent.podspec
│ ├── package.json
│ └── .npmignore
├── messaging
│ ├── android
│ │ ├── README.md
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── AndroidManifestNew.xml
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── adobe
│ │ │ │ └── marketing
│ │ │ │ └── mobile
│ │ │ │ └── reactnative
│ │ │ │ └── messaging
│ │ │ │ └── RCTAEPMessagingConstants.java
│ │ └── gradle.properties
│ ├── tsconfig.json
│ ├── ios
│ │ └── src
│ │ │ ├── RCTAEPMessaging-Bridging-Header.h
│ │ │ └── RCTAEPMessagingConstants.swift
│ ├── src
│ │ └── models
│ │ │ ├── MessagingEdgeEventType.ts
│ │ │ ├── ScopeDetails.ts
│ │ │ ├── InAppMessage.ts
│ │ │ ├── HTMLProposition.ts
│ │ │ ├── JSONProposition.ts
│ │ │ ├── MessagingPropositionItem.ts
│ │ │ └── PersonalizationSchema.ts
│ ├── RCTAEPMessaging.podspec
│ ├── package.json
│ └── .npmignore
├── optimize
│ ├── android
│ │ ├── README.md
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── src
│ │ │ └── main
│ │ │ │ ├── AndroidManifest.xml
│ │ │ │ └── java
│ │ │ │ └── com
│ │ │ │ └── adobe
│ │ │ │ └── marketing
│ │ │ │ └── mobile
│ │ │ │ └── reactnative
│ │ │ │ └── optimize
│ │ │ │ └── RCTAEPOptimizeConstants.java
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── __tests__
│ │ ├── offer.json
│ │ └── proposition.json
│ ├── RCTAEPOptimize.podspec
│ ├── ios
│ │ └── src
│ │ │ └── RCTAEPOptimize.h
│ ├── src
│ │ ├── models
│ │ │ ├── AdobePropositionCallback.ts
│ │ │ └── AEPOptimizeError.ts
│ │ └── index.ts
│ ├── package.json
│ └── .npmignore
├── userprofile
│ ├── android
│ │ ├── README.md
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── src
│ │ └── index.ts
│ ├── ios
│ │ └── src
│ │ │ └── RCTAEPUserProfile.h
│ ├── RCTAEPUserProfile.podspec
│ ├── package.json
│ └── .npmignore
├── edgeidentity
│ ├── android
│ │ ├── README.md
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── src
│ │ ├── models
│ │ │ ├── AuthenticatedState.ts
│ │ │ └── IdentityItem.ts
│ │ └── index.ts
│ ├── ios
│ │ └── src
│ │ │ ├── RCTAEPEdgeIdentity.h
│ │ │ └── RCTAEPEdgeIdentityDataBridge.h
│ ├── RCTAEPEdgeIdentity.podspec
│ ├── package.json
│ └── .npmignore
├── places
│ ├── android
│ │ ├── .idea
│ │ │ └── .gitignore
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── ios
│ │ └── src
│ │ │ ├── RCTAEPPlaces.h
│ │ │ └── RCTAEPPlacesDataBridge.h
│ ├── RCTAEPPlaces.podspec
│ ├── src
│ │ ├── models
│ │ │ ├── PlacesGeofenceTransitionType.ts
│ │ │ ├── PlacesAuthStatus.ts
│ │ │ ├── PlacesLocation.ts
│ │ │ └── PlacesGeofence.ts
│ │ └── index.ts
│ ├── package.json
│ └── .npmignore
├── campaignclassic
│ ├── android
│ │ ├── gradle
│ │ │ └── wrapper
│ │ │ │ ├── gradle-wrapper.jar
│ │ │ │ └── gradle-wrapper.properties
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── src
│ │ ├── index.ts
│ │ └── models
│ │ │ └── UserInfo.ts
│ ├── ios
│ │ └── src
│ │ │ └── RCTAEPCampaignClassic.h
│ ├── RCTAEPCampaignClassic.podspec
│ ├── package.json
│ └── .npmignore
├── target
│ ├── android
│ │ ├── src
│ │ │ └── main
│ │ │ │ └── AndroidManifest.xml
│ │ └── build.gradle
│ ├── tsconfig.json
│ ├── RCTAEPTarget.podspec
│ ├── ios
│ │ └── src
│ │ │ ├── AEPTargetOrderDataBridge.h
│ │ │ ├── AEPTargetProductDataBridge.h
│ │ │ ├── AEPTargetParametersDataBridge.h
│ │ │ ├── AEPTargetPrefetchObjectDataBridge.h
│ │ │ ├── RCTAEPTarget.h
│ │ │ ├── AEPTargetRequestObjectDataBridge.h
│ │ │ ├── AEPTargetProductDataBridge.m
│ │ │ ├── AEPTargetOrderDataBridge.m
│ │ │ └── AEPTargetPrefetchObjectDataBridge.m
│ ├── src
│ │ ├── models
│ │ │ ├── TargetProduct.ts
│ │ │ ├── TargetPrefetchObject.ts
│ │ │ ├── TargetOrder.ts
│ │ │ └── TargetParameters.ts
│ │ └── index.ts
│ ├── package.json
│ └── .npmignore
└── assurance
│ ├── tsconfig.json
│ ├── android
│ ├── src
│ │ └── main
│ │ │ └── AndroidManifest.xml
│ └── build.gradle
│ ├── src
│ └── index.ts
│ ├── ios
│ └── src
│ │ ├── RCTAEPAssurance.h
│ │ └── RCTAEPAssurance.m
│ ├── RCTAEPAssurance.podspec
│ ├── package.json
│ ├── __tests__
│ └── AssuranceTests.ts
│ └── .npmignore
├── babel.config.js
├── lerna.json
├── docs
└── resources
│ └── xcode c++ flag screenshot.png
├── .swift-format
├── .github
├── ISSUE_TEMPLATE.md
├── ISSUE_TEMPLATE
│ ├── project_task.yml
│ ├── project_epic.yml
│ └── feature_request.yml
└── release-drafter.yml
├── jest.config.js
├── tsconfig.json
└── .npmignore
/.nvmrc:
--------------------------------------------------------------------------------
1 | 18.18.0
2 |
--------------------------------------------------------------------------------
/.yarnrc.yml:
--------------------------------------------------------------------------------
1 | nodeLinker: node-modules
2 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/.watchmanconfig:
--------------------------------------------------------------------------------
1 | {}
2 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'react-native',
3 | };
4 |
--------------------------------------------------------------------------------
/packages/core/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/packages/edge/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/types/props.ts:
--------------------------------------------------------------------------------
1 | export interface NavigationProps {
2 | navigation: any;
3 | }
--------------------------------------------------------------------------------
/packages/edgebridge/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/packages/edgeconsent/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/packages/messaging/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/packages/optimize/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/packages/userprofile/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/.bundle/config:
--------------------------------------------------------------------------------
1 | BUNDLE_PATH: "vendor/bundle"
2 | BUNDLE_FORCE_RUBY_PLATFORM: 1
3 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "AEPSampleApp",
3 | "displayName": "AEPSampleApp"
4 | }
--------------------------------------------------------------------------------
/packages/edgeidentity/android/README.md:
--------------------------------------------------------------------------------
1 | # Setup
2 |
3 | Open `build.gradle` in Android Studio.
4 |
--------------------------------------------------------------------------------
/packages/places/android/.idea/.gitignore:
--------------------------------------------------------------------------------
1 | # Default ignored files
2 | /shelf/
3 | /workspace.xml
4 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "@react-native/typescript-config/tsconfig.json"
3 | }
4 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/hooks/useColorScheme.ts:
--------------------------------------------------------------------------------
1 | export { useColorScheme } from 'react-native';
2 |
--------------------------------------------------------------------------------
/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ['module:metro-react-native-babel-preset'],
3 | };
4 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/.eslintrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | root: true,
3 | extends: '@react-native',
4 | };
5 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | preset: 'react-native',
3 | };
4 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/types/props.ts:
--------------------------------------------------------------------------------
1 | export interface NavigationProps {
2 | navigation: any;
3 | }
--------------------------------------------------------------------------------
/lerna.json:
--------------------------------------------------------------------------------
1 | {
2 | "packages": [
3 | "packages/*",
4 | "apps/*"
5 | ],
6 | "npmClient": "yarn",
7 | "version": "independent"
8 | }
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/values/strings.xml:
--------------------------------------------------------------------------------
1 |
2 | aepsampleapp
3 |
4 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/debug.keystore:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/debug.keystore
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp/Images.xcassets/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "info" : {
3 | "version" : 1,
4 | "author" : "xcode"
5 | }
6 | }
7 |
--------------------------------------------------------------------------------
/docs/resources/xcode c++ flag screenshot.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/docs/resources/xcode c++ flag screenshot.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/babel.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | presets: ['module:@react-native/babel-preset'],
3 | plugins: ['react-native-reanimated/plugin']
4 | };
5 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/aepsampleapp-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | //
2 | // Use this file to import your target's public headers that you would like to expose to Swift.
3 | //
4 |
5 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/icon.png
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/splash.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/splash.png
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/favicon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/favicon.png
--------------------------------------------------------------------------------
/packages/places/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/packages/places/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/react-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/react-logo.png
--------------------------------------------------------------------------------
/packages/optimize/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/packages/optimize/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/adaptive-icon.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/adaptive-icon.png
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/react-logo@2x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/react-logo@2x.png
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/react-logo@3x.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/react-logo@3x.png
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/fonts/SpaceMono-Regular.ttf:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/fonts/SpaceMono-Regular.ttf
--------------------------------------------------------------------------------
/packages/campaignclassic/android/gradle/wrapper/gradle-wrapper.jar:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/packages/campaignclassic/android/gradle/wrapper/gradle-wrapper.jar
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/assets/images/partial-react-logo.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleAppNewArchEnabled/assets/images/partial-react-logo.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/.prettierrc.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | arrowParens: 'avoid',
3 | bracketSameLine: true,
4 | bracketSpacing: false,
5 | singleQuote: true,
6 | trailingComma: 'all',
7 | };
8 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-hdpi/ic_launcher.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-mdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-mdpi/ic_launcher.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png
--------------------------------------------------------------------------------
/packages/messaging/android/src/main/AndroidManifestNew.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/adobe/aepsdk-react-native/HEAD/apps/AEPSampleApp/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png
--------------------------------------------------------------------------------
/packages/edge/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/messaging/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/packages/places/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/target/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
--------------------------------------------------------------------------------
/packages/optimize/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/core/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/edge/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/edgebridge/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/optimize/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/places/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/target/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/assurance/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/edgebridge/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/edgeconsent/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/edgeconsent/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/edgeidentity/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/edgeidentity/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/messaging/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/userprofile/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/userprofile/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/campaignclassic/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
--------------------------------------------------------------------------------
/packages/campaignclassic/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "../../tsconfig.json",
3 | "compilerOptions": {
4 | "noEmit": false,
5 | "rootDir": "./src",
6 | "outDir": "./dist"
7 | },
8 | "exclude": ["__tests__", "dist"]
9 | }
--------------------------------------------------------------------------------
/packages/messaging/android/gradle.properties:
--------------------------------------------------------------------------------
1 | ReactNativeMessaging_kotlinVersion=1.7.0
2 | ReactNativeMessaging_minSdkVersion=21
3 | ReactNativeMessaging_targetSdkVersion=34
4 | ReactNativeMessaging_compileSdk=34
5 | ReactNativeMessaging_ndkversion=21.4.7075529
6 |
--------------------------------------------------------------------------------
/.swift-format:
--------------------------------------------------------------------------------
1 | {
2 | "version": 1,
3 | "lineLength": 100,
4 | "indentation": {
5 | "spaces": 4
6 | },
7 | "maximumBlankLines": 1,
8 | "respectsExistingLineBreaks": true,
9 | "lineBreakBeforeControlFlowKeywords": true,
10 | "lineBreakBeforeEachArgument": true
11 | }
12 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/settings.gradle:
--------------------------------------------------------------------------------
1 | rootProject.name = 'AEPSampleApp'
2 | apply from: file("../node_modules/@react-native-community/cli-platform-android/native_modules.gradle"); applyNativeModulesSettingsGradle(settings)
3 | include ':app'
4 | includeBuild('../node_modules/@react-native/gradle-plugin')
5 |
--------------------------------------------------------------------------------
/packages/places/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Tue May 26 17:09:19 PDT 2020
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0-all.zip
7 |
--------------------------------------------------------------------------------
/packages/optimize/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jun 05 11:02:05 MDT 2019
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0-all.zip
7 |
--------------------------------------------------------------------------------
/packages/campaignclassic/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | #Wed Jun 05 11:02:05 MDT 2019
2 | distributionBase=GRADLE_USER_HOME
3 | distributionPath=wrapper/dists
4 | zipStoreBase=GRADLE_USER_HOME
5 | zipStorePath=wrapper/dists
6 | distributionUrl=https\://services.gradle.org/distributions/gradle-6.0-all.zip
7 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/gradle/wrapper/gradle-wrapper.properties:
--------------------------------------------------------------------------------
1 | distributionBase=GRADLE_USER_HOME
2 | distributionPath=wrapper/dists
3 | distributionUrl=https\://services.gradle.org/distributions/gradle-8.3-all.zip
4 | networkTimeout=10000
5 | validateDistributionUrl=true
6 | zipStoreBase=GRADLE_USER_HOME
7 | zipStorePath=wrapper/dists
8 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp.xcworkspace/contents.xcworkspacedata:
--------------------------------------------------------------------------------
1 |
2 |
4 |
6 |
7 |
9 |
10 |
11 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | IDEDidComputeMac32BitWarning
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "extends": "expo/tsconfig.base",
3 | "compilerOptions": {
4 | "strict": true,
5 | "paths": {
6 | "@/*": [
7 | "./*"
8 | ]
9 | }
10 | },
11 | "include": [
12 | "**/*.ts",
13 | "**/*.tsx",
14 | ".expo/types/**/*.ts",
15 | "expo-env.d.ts"
16 | ]
17 | }
18 |
--------------------------------------------------------------------------------
/packages/assurance/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
7 |
8 |
9 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/res/values/styles.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
8 |
9 |
10 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/__tests__/ThemedText-test.tsx:
--------------------------------------------------------------------------------
1 | import * as React from 'react';
2 | import renderer from 'react-test-renderer';
3 |
4 | import { ThemedText } from '../ThemedText';
5 |
6 | it(`renders correctly`, () => {
7 | const tree = renderer.create(Snapshot test!).toJSON();
8 |
9 | expect(tree).toMatchSnapshot();
10 | });
11 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE.md:
--------------------------------------------------------------------------------
1 | ---
2 | name: Blank issue
3 | labels: task
4 | ---
5 | ## Prerequisites
6 |
7 | - [ ] I have searched in this repository's issues to see if it has already been reported.
8 | - [ ] This is not a Security Disclosure, otherwise please follow the guidelines in [Security Policy](https://github.com/adobe/aepsdk-analytics-android/security/policy).
9 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/Gemfile:
--------------------------------------------------------------------------------
1 | source 'https://rubygems.org'
2 |
3 | # You may use http://rbenv.org/ or https://rvm.io/ to install and use this version
4 | ruby ">= 2.6.10"
5 |
6 | # Cocoapods 1.15 introduced a bug which break the build. We will remove the upper
7 | # bound in the template on Cocoapods with next React Native release.
8 | gem 'cocoapods', '>= 1.13', '< 1.15'
9 | gem 'activesupport', '>= 6.1.7.5', '< 7.1.0'
10 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/debug/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
4 |
5 |
6 |
10 |
11 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/.gitignore:
--------------------------------------------------------------------------------
1 | node_modules/
2 | .expo/
3 | dist/
4 | npm-debug.*
5 | *.jks
6 | *.p8
7 | *.p12
8 | *.key
9 | *.mobileprovision
10 | *.orig.*
11 | web-build/
12 |
13 | # macOS
14 | .DS_Store
15 |
16 | # @generated expo-cli sync-2b81b286409207a5da26e14c78851eb30d8ccbdb
17 | # The following patterns were generated by expo-cli
18 |
19 | expo-env.d.ts
20 | # @end expo-cli
21 |
22 | .idea/*
23 | !/.idea/file_to_keep.xml# Exclude native builds
24 | android/
25 | ios/
26 |
--------------------------------------------------------------------------------
/packages/optimize/__tests__/offer.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "xcore:personalized-offer:2222222222222222",
3 | "etag": "7",
4 | "schema": "https://ns.adobe.com/experience/offer-management/content-component-text",
5 | "data": {
6 | "id": "xcore:personalized-offer:2222222222222222",
7 | "format": "text/plain",
8 | "content": "This is a plain text content!",
9 | "language": ["en-us"],
10 | "characteristics": {
11 | "mobile": "true"
12 | }
13 | },
14 | "score": 1
15 | }
16 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/proguard-rules.pro:
--------------------------------------------------------------------------------
1 | # Add project specific ProGuard rules here.
2 | # By default, the flags in this file are appended to flags specified
3 | # in /usr/local/Cellar/android-sdk/24.3.3/tools/proguard/proguard-android.txt
4 | # You can edit the include path and order by changing the proguardFiles
5 | # directive in build.gradle.
6 | #
7 | # For more details, see
8 | # http://developer.android.com/guide/developing/tools/proguard.html
9 |
10 | # Add any project specific keep options here:
11 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/__tests__/__snapshots__/ThemedText-test.tsx.snap:
--------------------------------------------------------------------------------
1 | // Jest Snapshot v1, https://goo.gl/fbAQLP
2 |
3 | exports[`renders correctly 1`] = `
4 |
22 | Snapshot test!
23 |
24 | `;
25 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/hooks/useColorScheme.web.ts:
--------------------------------------------------------------------------------
1 | // NOTE: The default React Native styling doesn't support server rendering.
2 | // Server rendered styles should not change between the first render of the HTML
3 | // and the first render on the client. Typically, web developers will use CSS media queries
4 | // to render different styles on the client and server, these aren't directly supported in React Native
5 | // but can be achieved using a styling library like Nativewind.
6 | export function useColorScheme() {
7 | return 'light';
8 | }
9 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/navigation/TabBarIcon.tsx:
--------------------------------------------------------------------------------
1 | // You can explore the built-in icon families and icons on the web at https://icons.expo.fyi/
2 |
3 | import Ionicons from '@expo/vector-icons/Ionicons';
4 | import { type IconProps } from '@expo/vector-icons/build/createIconSet';
5 | import { type ComponentProps } from 'react';
6 |
7 | export function TabBarIcon({ style, ...rest }: IconProps['name']>) {
8 | return ;
9 | }
10 |
--------------------------------------------------------------------------------
/packages/core/android/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
3 |
4 |
5 |
8 |
11 |
12 |
13 |
14 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/.xcode.env:
--------------------------------------------------------------------------------
1 | # This `.xcode.env` file is versioned and is used to source the environment
2 | # used when running script phases inside Xcode.
3 | # To customize your local environment, you can create an `.xcode.env.local`
4 | # file that is not versioned.
5 |
6 | # NODE_BINARY variable contains the PATH to the node executable.
7 | #
8 | # Customize the NODE_BINARY variable here.
9 | # For example, to use nvm with brew, add the following line
10 | # . "$(brew --prefix nvm)/nvm.sh" --no-use
11 | export NODE_BINARY=$(command -v node)
12 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/ThemedView.tsx:
--------------------------------------------------------------------------------
1 | import { View, type ViewProps } from 'react-native';
2 |
3 | import { useThemeColor } from '@/hooks/useThemeColor';
4 |
5 | export type ThemedViewProps = ViewProps & {
6 | lightColor?: string;
7 | darkColor?: string;
8 | };
9 |
10 | export function ThemedView({ style, lightColor, darkColor, ...otherProps }: ThemedViewProps) {
11 | const backgroundColor = useThemeColor({ light: lightColor, dark: darkColor }, 'background');
12 |
13 | return ;
14 | }
15 |
--------------------------------------------------------------------------------
/jest.config.js:
--------------------------------------------------------------------------------
1 | module.exports = {
2 | maxConcurrency: 10,
3 | preset: './apps/AEPSampleAppNewArchEnabled/node_modules/react-native/jest-preset.js',
4 | transform: {
5 | '^.+\\.(js)$': '/node_modules/babel-jest',
6 | '\\.(ts|tsx)$': 'ts-jest'
7 | },
8 | setupFiles: ['./tests/jest/setup.ts'],
9 | testMatch: ['**/packages/**/__tests__/*.ts'],
10 | modulePaths: ['node_modules', './apps/AEPSampleAppNewArchEnabled/node_modules'],
11 | testPathIgnorePatterns: ['./packages/template'],
12 | moduleDirectories: ['node_modules', './apps/AEPSampleAppNewArchEnabled/node_modules'],
13 | moduleFileExtensions: ['ts', 'tsx', 'js'],
14 | };
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/project_task.yml:
--------------------------------------------------------------------------------
1 | name: Project task
2 | description: Create an internal task that can be completed as a standalone code change or is part of an epic.
3 | labels: [task]
4 | body:
5 | - type: textarea
6 | attributes:
7 | label: Task description
8 | description: Please provide a summary or the "what" of the task logged.
9 | validations:
10 | required: true
11 |
12 | - type: textarea
13 | attributes:
14 | label: Additional implementation details or code snippet(s)
15 | description: Provide additional information about this task, implementation details or code snippets.
16 | validations:
17 | required: false
18 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | ext {
3 | buildToolsVersion = "34.0.0"
4 | minSdkVersion = 21
5 | compileSdkVersion = 34
6 | targetSdkVersion = 34
7 | ndkVersion = "25.1.8937393"
8 | kotlinVersion = "1.8.0"
9 | }
10 | repositories {
11 | google()
12 | mavenCentral()
13 | }
14 | dependencies {
15 | classpath("com.android.tools.build:gradle")
16 | classpath("com.facebook.react:react-native-gradle-plugin")
17 | classpath("org.jetbrains.kotlin:kotlin-gradle-plugin")
18 | }
19 | }
20 |
21 | apply plugin: "com.facebook.react.rootproject"
22 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/hooks/useThemeColor.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Learn more about light and dark modes:
3 | * https://docs.expo.dev/guides/color-schemes/
4 | */
5 |
6 | import { useColorScheme } from 'react-native';
7 |
8 | import { Colors } from '@/constants/Colors';
9 |
10 | export function useThemeColor(
11 | props: { light?: string; dark?: string },
12 | colorName: keyof typeof Colors.light & keyof typeof Colors.dark
13 | ) {
14 | const theme = useColorScheme() ?? 'light';
15 | const colorFromProps = props[theme];
16 |
17 | if (colorFromProps) {
18 | return colorFromProps;
19 | } else {
20 | return Colors[theme][colorName];
21 | }
22 | }
23 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/dummy.swift:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | import Foundation
13 |
--------------------------------------------------------------------------------
/.github/release-drafter.yml:
--------------------------------------------------------------------------------
1 | #
2 | # Copyright 2024 Adobe. All rights reserved.
3 | # This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | # you may not use this file except in compliance with the License. You may obtain a copy
5 | # of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | #
7 | # Unless required by applicable law or agreed to in writing, software distributed under
8 | # the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | # OF ANY KIND, either express or implied. See the License for the specific language
10 | # governing permissions and limitations under the License.
11 | #
12 |
13 | template: |
14 | ## What’s Changed
15 |
16 | $CHANGES
--------------------------------------------------------------------------------
/packages/edgeconsent/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import Consent from './Consent';
14 |
15 | export { Consent };
16 |
--------------------------------------------------------------------------------
/packages/edgebridge/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import EdgeBridge from './EdgeBridge';
14 |
15 | export { EdgeBridge };
16 |
--------------------------------------------------------------------------------
/packages/userprofile/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import UserProfile from './UserProfile';
14 |
15 | export { UserProfile };
16 |
--------------------------------------------------------------------------------
/packages/assurance/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import Assurance from './Assurance';
14 |
15 | export {
16 | // Native modules
17 | Assurance
18 | };
19 |
--------------------------------------------------------------------------------
/packages/assurance/ios/src/RCTAEPAssurance.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 |
14 | @interface RCTAEPAssurance : NSObject
15 | @end
16 |
--------------------------------------------------------------------------------
/packages/core/src/models/PrivacyStatus.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | export enum PrivacyStatus {
14 | OPT_IN = 'OPT_IN',
15 | OPT_OUT = 'OPT_OUT',
16 | UNKNOWN = 'UNKNOWN'
17 | }
18 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp/AppDelegate.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 |
15 | @interface AppDelegate : RCTAppDelegate
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/packages/core/src/models/LogLevel.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | export enum LogLevel {
14 | ERROR = 'ERROR',
15 | WARNING = 'WARNING',
16 | DEBUG = 'DEBUG',
17 | VERBOSE = 'VERBOSE'
18 | }
19 |
--------------------------------------------------------------------------------
/tsconfig.json:
--------------------------------------------------------------------------------
1 | {
2 | "compilerOptions": {
3 | "noEmit": true,
4 | "target": "es2016",
5 | "module": "commonjs",
6 | "declaration": true,
7 | "importHelpers": true,
8 | "jsx": "react-native",
9 | "sourceMap": true,
10 | "strict": true,
11 | "noUnusedLocals": true,
12 | "noUnusedParameters": true,
13 | "noImplicitReturns": true,
14 | "noFallthroughCasesInSwitch": true,
15 | "moduleResolution": "node",
16 | "skipLibCheck": true,
17 | "experimentalDecorators": true,
18 | "emitDecoratorMetadata": true,
19 | "esModuleInterop": true,
20 | "lib": ["es2015", "es2016", "esnext"],
21 | "strictNullChecks": true,
22 | "resolveJsonModule": true,
23 | "noImplicitAny": false
24 | },
25 | "exclude": ["node_modules", "**/*.spec.ts"]
26 | }
27 |
--------------------------------------------------------------------------------
/packages/messaging/ios/src/RCTAEPMessaging-Bridging-Header.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | #import
14 | #import
15 | #import
16 |
--------------------------------------------------------------------------------
/packages/edge/ios/src/RCTAEPEdge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 |
15 | @interface RCTAEPEdge : NSObject
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/packages/places/ios/src/RCTAEPPlaces.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import
14 | #import
15 |
16 | @interface RCTAEPPlaces : NSObject
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/packages/core/ios/src/Core/RCTAEPCore.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 |
14 | #import
15 | #import
16 |
17 | @interface RCTAEPCore : NSObject
18 |
19 | @end
20 |
--------------------------------------------------------------------------------
/packages/core/ios/src/Signal/RCTAEPSignal.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import
14 | #import
15 |
16 | @interface RCTAEPSignal : NSObject
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/packages/edgeidentity/src/models/AuthenticatedState.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | export enum AuthenticatedState {
14 | AUTHENTICATED = 'authenticated',
15 | LOGGED_OUT = 'loggedOut',
16 | AMBIGUOUS = 'ambiguous'
17 | }
18 |
--------------------------------------------------------------------------------
/packages/core/ios/src/Identity/RCTAEPIdentity.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import
14 | #import
15 |
16 | @interface RCTAEPIdentity : NSObject
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/packages/core/ios/src/Lifecycle/RCTAEPLifecycle.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import
14 | #import
15 |
16 | @interface RCTAEPLifecycle : NSObject
17 |
18 | @end
19 |
--------------------------------------------------------------------------------
/packages/edgebridge/ios/src/RCTAEPEdgeBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 |
15 | @interface RCTAEPEdgeBridge : NSObject
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/packages/edgeidentity/ios/src/RCTAEPEdgeIdentity.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 |
15 | @interface RCTAEPEdgeIdentity : NSObject
16 |
17 | @end
--------------------------------------------------------------------------------
/apps/AEPSampleApp/index.js:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { AppRegistry } from 'react-native';
14 | import App from './App';
15 | import { name as appName } from './app.json';
16 |
17 | AppRegistry.registerComponent(appName, () => App);
18 |
--------------------------------------------------------------------------------
/packages/edgeconsent/ios/src/RCTAEPEdgeConsent.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 |
15 | @interface RCTAEPEdgeConsent : NSObject
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/packages/userprofile/ios/src/RCTAEPUserProfile.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 |
15 | @interface RCTAEPUserProfile : NSObject
16 |
17 | @end
18 |
--------------------------------------------------------------------------------
/packages/places/RCTAEPPlaces.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPPlaces"
6 | s.version = package["version"]
7 | s.summary = "Places library for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platform = :ios, '12.0'
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/**/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPPlaces", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/target/RCTAEPTarget.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPTarget"
6 | s.version = package["version"]
7 | s.summary = "Target library for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platform = :ios, '12.0'
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/**/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPTarget", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/ExternalLink.tsx:
--------------------------------------------------------------------------------
1 | import { Link } from 'expo-router';
2 | import { openBrowserAsync } from 'expo-web-browser';
3 | import { type ComponentProps } from 'react';
4 | import { Platform } from 'react-native';
5 |
6 | type Props = Omit, 'href'> & { href: string };
7 |
8 | export function ExternalLink({ href, ...rest }: Props) {
9 | return (
10 | {
15 | if (Platform.OS !== 'web') {
16 | // Prevent the default behavior of linking to the default browser on native.
17 | event.preventDefault();
18 | // Open the link in an in-app browser.
19 | await openBrowserAsync(href);
20 | }
21 | }}
22 | />
23 | );
24 | }
25 |
--------------------------------------------------------------------------------
/packages/campaignclassic/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import CampaignClassic from './CampaignClassic';
14 | import { UserInfo } from './models/UserInfo';
15 |
16 | export { CampaignClassic, UserInfo };
17 |
18 | export default CampaignClassic;
19 |
--------------------------------------------------------------------------------
/packages/assurance/RCTAEPAssurance.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPAssurance"
6 | s.version = package["version"]
7 | s.summary = "AEPAssurance library for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platform = :ios, '12.0'
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/src/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPAssurance", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/project_epic.yml:
--------------------------------------------------------------------------------
1 | name: Project epic
2 | description: Create an internal epic that represents the top level parent of multiple tasks.
3 | labels: [epic]
4 |
5 | body:
6 | - type: textarea
7 | id: description
8 | attributes:
9 | label: Epic description
10 | description: Please provide a detailed description for this epic.
11 | validations:
12 | required: true
13 |
14 | - type: textarea
15 | id: tasks
16 | attributes:
17 | label: Tasks
18 | description: |
19 | Provide a high-level definition of done for this epic as a list of tasks that need to be completed.
20 | Tip: List out the task links if they already exist or list them out as text with a descriptive title so they can be easily converted to task items.
21 | placeholder: |
22 | - [ ] your task link here
23 | validations:
24 | required: false
25 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleAppTests/Info.plist:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 | CFBundleDevelopmentRegion
6 | en
7 | CFBundleExecutable
8 | $(EXECUTABLE_NAME)
9 | CFBundleIdentifier
10 | $(PRODUCT_BUNDLE_IDENTIFIER)
11 | CFBundleInfoDictionaryVersion
12 | 6.0
13 | CFBundleName
14 | $(PRODUCT_NAME)
15 | CFBundlePackageType
16 | BNDL
17 | CFBundleShortVersionString
18 | 1.0
19 | CFBundleSignature
20 | ????
21 | CFBundleVersion
22 | 1
23 |
24 |
25 |
--------------------------------------------------------------------------------
/packages/userprofile/RCTAEPUserProfile.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPUserProfile"
6 | s.version = package["version"]
7 | s.summary = "User Profile library for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platform = :ios, '12.0'
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/**/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPUserProfile", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/campaignclassic/src/models/UserInfo.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | export class UserInfo {
14 | _mId: string;
15 | _dId: string;
16 | [key: string]: any;
17 | constructor(mId: string, dId: string) {
18 | this._mId = mId;
19 | this._dId = dId;
20 | }
21 | }
--------------------------------------------------------------------------------
/packages/optimize/RCTAEPOptimize.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPOptimize"
6 | s.version = package["version"]
7 | s.summary = "Experience Platform Optimize extension for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platform = :ios, '12.0'
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :branch => "optimize" }
16 |
17 | s.source_files = 'ios/**/*.{h,m}'
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPOptimize", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/optimize/ios/src/RCTAEPOptimize.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 | #import
15 |
16 | @interface RCTAEPOptimize : RCTEventEmitter
17 |
18 | @end
19 |
20 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetOrderDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | @import AEPTarget;
14 | #import "AEPTargetOrderDataBridge.h"
15 |
16 | @interface AEPTargetOrder (RCTBridge)
17 |
18 | + (AEPTargetOrder *)targetOrderFromDict:(NSDictionary *)dict;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/packages/optimize/__tests__/proposition.json:
--------------------------------------------------------------------------------
1 | {
2 | "id": "de03ac85-802a-4331-a905-a57053164d35",
3 | "items": [
4 | {
5 | "id": "xcore:personalized-offer:1111111111111111",
6 | "etag": "10",
7 | "schema": "https://ns.adobe.com/experience/offer-management/content-component-html",
8 | "data": {
9 | "id": "xcore:personalized-offer:1111111111111111",
10 | "format": "text/html",
11 | "content": "This is a HTML content
"
12 | }
13 | }
14 | ],
15 | "placement": {
16 | "etag": "1",
17 | "id": "xcore:offer-placement:1111111111111111"
18 | },
19 | "activity": {
20 | "etag": "8",
21 | "id": "xcore:offer-activity:1111111111111111"
22 | },
23 | "scope": "eydhY3Rpdml0eUlkIjoieGNvcmU6b2ZmZXItYWN0aXZpdHk6MTExMTExMTExMTExMTExMSIsInBsYWNlbWVudElkIjoieGNvcmU6b2ZmZXItcGxhY2VtZW50OjExMTExMTExMTExMTExMTEifQ=="
24 | }
25 |
--------------------------------------------------------------------------------
/packages/edge/RCTAEPEdge.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPEdge"
6 | s.version = package["version"]
7 | s.summary = "Adobe Experience Platform Edge Network extension for Adobe Experience Platform Mobile SDK. Written and maintained by Adobe"
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platforms = { :ios => "12.0", :tvos => "12.0" }
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/**/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPEdge", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/edgebridge/RCTAEPEdgeBridge.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPEdgeBridge"
6 | s.version = package["version"]
7 | s.summary = "Adobe Experience Platform Edge Bridge extension for AEP Mobile SDK. Written and maintained by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platforms = { :ios => "12.0", :tvos => "12.0" }
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/**/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPEdgeBridge", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetProductDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | @import AEPTarget;
14 | #import "AEPTargetProductDataBridge.h"
15 |
16 | @interface AEPTargetProduct (RCTBridge)
17 |
18 | + (AEPTargetProduct *)targetProductFromDict:(NSDictionary *)dict;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/constants/Colors.ts:
--------------------------------------------------------------------------------
1 | /**
2 | * Below are the colors that are used in the app. The colors are defined in the light and dark mode.
3 | * There are many other ways to style your app. For example, [Nativewind](https://www.nativewind.dev/), [Tamagui](https://tamagui.dev/), [unistyles](https://reactnativeunistyles.vercel.app), etc.
4 | */
5 |
6 | const tintColorLight = '#0a7ea4';
7 | const tintColorDark = '#fff';
8 |
9 | export const Colors = {
10 | light: {
11 | text: '#11181C',
12 | background: '#fff',
13 | tint: tintColorLight,
14 | icon: '#687076',
15 | tabIconDefault: '#687076',
16 | tabIconSelected: tintColorLight,
17 | },
18 | dark: {
19 | text: '#ECEDEE',
20 | background: '#151718',
21 | tint: tintColorDark,
22 | icon: '#9BA1A6',
23 | tabIconDefault: '#9BA1A6',
24 | tabIconSelected: tintColorDark,
25 | },
26 | };
27 |
--------------------------------------------------------------------------------
/packages/campaignclassic/ios/src/RCTAEPCampaignClassic.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 | #import
15 |
16 | @interface RCTAEPCampaignClassic : RCTEventEmitter
17 |
18 | @end
19 |
20 |
--------------------------------------------------------------------------------
/packages/core/src/models/MobileVisitorAuthenticationState.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | export enum MobileVisitorAuthenticationState {
14 | AUTHENTICATED = 'VISITOR_AUTH_STATE_AUTHENTICATED',
15 | LOGGED_OUT = 'VISITOR_AUTH_STATE_LOGGED_OUT',
16 | UNKNOWN = 'VISITOR_AUTH_STATE_UNKNOWN'
17 | }
18 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp/main.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 |
14 | #import "AppDelegate.h"
15 |
16 | int main(int argc, char *argv[])
17 | {
18 | @autoreleasepool {
19 | return UIApplicationMain(argc, argv, nil, NSStringFromClass([AppDelegate class]));
20 | }
21 | }
22 |
--------------------------------------------------------------------------------
/packages/edgeconsent/RCTAEPEdgeConsent.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPEdgeConsent"
6 | s.version = package["version"]
7 | s.summary = "Adobe Experience Platform Consent Collection extension for AEP Mobile SDK. Written and maintained by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platforms = { :ios => "12.0", :tvos => "12.0" }
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/**/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPEdgeConsent", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetParametersDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | @import AEPTarget;
14 | #import "AEPTargetParametersDataBridge.h"
15 |
16 | @interface AEPTargetParameters (RCTBridge)
17 |
18 | + (AEPTargetParameters *)targetParametersFromDict:(NSDictionary *)dict;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/packages/campaignclassic/RCTAEPCampaignClassic.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPCampaignClassic"
6 | s.version = package["version"]
7 | s.summary = "Experience Platform Campaign Classic extension for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platform = :ios, '12.0'
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = 'ios/**/*.{h,m}'
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPCampaignClassic", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/messaging/src/models/MessagingEdgeEventType.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | enum MessagingEdgeEventType {
14 | DISMISS = 0,
15 | INTERACT = 1,
16 | TRIGGER = 2,
17 | DISPLAY = 3,
18 | PUSH_APPLICATION_OPENED = 4,
19 | PUSH_CUSTOM_ACTION = 5
20 | }
21 |
22 | export default MessagingEdgeEventType;
23 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetPrefetchObjectDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | @import AEPTarget;
14 | #import "AEPTargetPrefetchObjectDataBridge.h"
15 |
16 | @interface AEPTargetPrefetchObject (RCTBridge)
17 |
18 | + (AEPTargetPrefetchObject *)prefetchObjectFromDict:(NSDictionary *)dict;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/packages/places/src/models/PlacesGeofenceTransitionType.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | /**
14 | * The event status of the geofence trigger, specifies whether geofence was entered or exited
15 | */
16 | enum PlacesGeofenceTransitionType {
17 | ENTER,
18 | EXIT,
19 | }
20 |
21 | export default PlacesGeofenceTransitionType;
22 |
--------------------------------------------------------------------------------
/packages/target/ios/src/RCTAEPTarget.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License. You
5 | may obtain a copy of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed
7 | under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR
8 | REPRESENTATIONS OF ANY KIND, either express or implied. See the License for the
9 | specific language governing permissions and limitations under the License.
10 | */
11 |
12 | #import
13 | #import
14 | #import
15 |
16 | @interface RCTAEPTarget : NSObject
17 |
18 | @property(nonatomic, strong) NSMutableDictionary *registeredTargetRequests;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/packages/edge/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import Edge from './Edge';
14 | import EdgeEventHandle from './models/EdgeEventHandle';
15 | import ExperienceEvent from './models/ExperienceEvent';
16 |
17 | export {
18 | // Native models
19 | EdgeEventHandle,
20 | ExperienceEvent,
21 | // Native modules
22 | Edge
23 | };
24 |
--------------------------------------------------------------------------------
/packages/edgeidentity/RCTAEPEdgeIdentity.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPEdgeIdentity"
6 | s.version = package["version"]
7 | s.summary = "Adobe Experience Platform Identity for Edge Network extension for Adobe Experience Platform Mobile SDK. Written and maintained by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platforms = { :ios => "12.0", :tvos => "12.0" }
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.source_files = "ios/**/*.{h,m}"
18 | s.requires_arc = true
19 |
20 | s.dependency "React"
21 | s.dependency "AEPEdgeIdentity", ">= 5.0.0", "< 6.0.0"
22 | end
23 |
--------------------------------------------------------------------------------
/packages/target/src/models/TargetProduct.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | class TargetProduct {
13 | productId: string;
14 | categoryId: string;
15 |
16 | constructor(productId: string, categoryId: string) {
17 | this.productId = productId;
18 | this.categoryId = categoryId;
19 | }
20 | }
21 |
22 | export default TargetProduct;
23 |
--------------------------------------------------------------------------------
/packages/edge/src/models/EdgeEventHandle.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | class EdgeEventHandle {
14 | type?: string;
15 | payload?: Array>;
16 |
17 | constructor(type?: string, payload?: Array>) {
18 | this.type = type;
19 | this.payload = payload;
20 | }
21 | }
22 |
23 | export default EdgeEventHandle;
24 |
--------------------------------------------------------------------------------
/packages/optimize/android/src/main/java/com/adobe/marketing/mobile/reactnative/optimize/RCTAEPOptimizeConstants.java:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2025 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | package com.adobe.marketing.mobile.reactnative.optimize;
13 |
14 | class RCTAEPOptimizeConstants {
15 | static final String UNIQUE_PROPOSITION_ID_KEY = "uniquePropositionId";
16 | }
17 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/app/+not-found.tsx:
--------------------------------------------------------------------------------
1 | import { Link, Stack } from 'expo-router';
2 | import { StyleSheet } from 'react-native';
3 |
4 | import { ThemedText } from '@/components/ThemedText';
5 | import { ThemedView } from '@/components/ThemedView';
6 |
7 | export default function NotFoundScreen() {
8 | return (
9 | <>
10 |
11 |
12 | This screen doesn't exist.
13 |
14 | Go to home screen!
15 |
16 |
17 | >
18 | );
19 | }
20 |
21 | const styles = StyleSheet.create({
22 | container: {
23 | flex: 1,
24 | alignItems: 'center',
25 | justifyContent: 'center',
26 | padding: 20,
27 | },
28 | link: {
29 | marginTop: 15,
30 | paddingVertical: 15,
31 | },
32 | });
33 |
--------------------------------------------------------------------------------
/packages/messaging/RCTAEPMessaging.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 |
3 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
4 | folly_compiler_flags = '-DFOLLY_NO_CONFIG -DFOLLY_MOBILE=1 -DFOLLY_USE_LIBCPP=1 -Wno-comma -Wno-shorten-64-to-32'
5 |
6 | Pod::Spec.new do |s|
7 | s.name = "RCTAEPMessaging"
8 | s.version = package["version"]
9 | s.summary = "Messaging library for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
10 | s.author = "Adobe Experience Platform SDK Team"
11 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
12 | s.license = "Apache 2.0 License"
13 | s.platform = :ios, '12.0'
14 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
15 | s.source_files = "ios/**/*.{h,m,mm,swift}"
16 | s.swift_version = '5.1'
17 |
18 | s.dependency "React"
19 | s.dependency "AEPMessaging", ">= 5.3.0", "< 6.0.0"
20 | end
21 |
--------------------------------------------------------------------------------
/packages/edge/ios/src/RCTAEPExperienceEventDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | @import AEPEdge;
13 |
14 | @interface RCTAEPExperienceEventDataBridge : NSObject
15 |
16 | + (AEPExperienceEvent *_Nullable)experienceEventFromDictionary: (nonnull NSDictionary *) dict;
17 |
18 | + (NSDictionary *_Nullable)dictionaryFromEdgeEventHandler: (NSArray *_Nullable) experienceEvent;
19 |
20 | @end
21 |
--------------------------------------------------------------------------------
/packages/edgeidentity/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { AuthenticatedState } from './models/AuthenticatedState';
14 | import IdentityItem from './models/IdentityItem';
15 | import IdentityMap from './models/IdentityMap';
16 | import Identity from './Identity';
17 |
18 | export {
19 | // Native models
20 | AuthenticatedState,
21 | IdentityItem,
22 | IdentityMap,
23 | // Native modules
24 | Identity
25 | };
26 |
--------------------------------------------------------------------------------
/packages/core/RCTAEPCore.podspec:
--------------------------------------------------------------------------------
1 | require "json"
2 | package = JSON.parse(File.read(File.join(__dir__, "package.json")))
3 |
4 | Pod::Spec.new do |s|
5 | s.name = "RCTAEPCore"
6 | s.version = package["version"]
7 | s.summary = "Core library for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe."
8 | s.author = "Adobe Experience Platform SDK Team"
9 |
10 | s.homepage = "https://github.com/adobe/aepsdk-react-native"
11 |
12 | s.license = "Apache 2.0 License"
13 | s.platforms = { :ios => "12.0", :tvos => "12.0" }
14 |
15 | s.source = { :git => "https://github.com/adobe/aepsdk-react-native.git", :tag => "#{s.version}" }
16 |
17 | s.requires_arc = true
18 |
19 | s.dependency "React"
20 | s.dependency 'AEPCore', '>= 5.4.0', '< 6.0.0'
21 | s.dependency 'AEPLifecycle', '>= 5.4.0', '< 6.0.0'
22 | s.dependency 'AEPIdentity', '>= 5.4.0', '< 6.0.0'
23 | s.dependency 'AEPSignal', '>= 5.4.0', '< 6.0.0'
24 |
25 | s.source_files = "ios/src/**/*.{h,m}"
26 |
27 | end
28 |
--------------------------------------------------------------------------------
/packages/optimize/src/models/AdobePropositionCallback.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.s
11 | */
12 |
13 | import Proposition from "./Proposition";
14 |
15 | /**
16 | * A Type with callback function that gets called with a Map of decision scope names and Propositions.
17 | * This is a type for listener used for receiving Proposition updates.
18 | */
19 | export type AdobePropositionCallback = {
20 | call(propositionMap: Map): void;
21 | };
--------------------------------------------------------------------------------
/packages/target/src/models/TargetPrefetchObject.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | import TargetParameters from './TargetParameters';
13 |
14 | class TargetPrefetchObject {
15 | name?: string;
16 | targetParameters?: TargetParameters;
17 |
18 | constructor(name?: string, targetParameters?: TargetParameters) {
19 | this.name = name;
20 | this.targetParameters = targetParameters;
21 | }
22 | }
23 |
24 | export default TargetPrefetchObject;
25 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/HelloWave.tsx:
--------------------------------------------------------------------------------
1 | import { StyleSheet } from 'react-native';
2 | import Animated, {
3 | useSharedValue,
4 | useAnimatedStyle,
5 | withTiming,
6 | withRepeat,
7 | withSequence,
8 | } from 'react-native-reanimated';
9 |
10 | import { ThemedText } from '@/components/ThemedText';
11 |
12 | export function HelloWave() {
13 | const rotationAnimation = useSharedValue(0);
14 |
15 | rotationAnimation.value = withRepeat(
16 | withSequence(withTiming(25, { duration: 150 }), withTiming(0, { duration: 150 })),
17 | 4 // Run the animation 4 times
18 | );
19 |
20 | const animatedStyle = useAnimatedStyle(() => ({
21 | transform: [{ rotate: `${rotationAnimation.value}deg` }],
22 | }));
23 |
24 | return (
25 |
26 | 👋
27 |
28 | );
29 | }
30 |
31 | const styles = StyleSheet.create({
32 | text: {
33 | fontSize: 28,
34 | lineHeight: 32,
35 | marginTop: -6,
36 | },
37 | });
38 |
--------------------------------------------------------------------------------
/packages/core/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepcore",
3 | "version": "7.0.0",
4 | "description": "Adobe Experience Platform support for React Native apps.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/core"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "core",
23 | "ios",
24 | "android"
25 | ],
26 | "author": {
27 | "name": "Adobe Experience Platform SDK Team"
28 | },
29 | "peerDependencies": {
30 | "react-native": ">=0.60.0"
31 | },
32 | "publishConfig": {
33 | "access": "public"
34 | },
35 | "installConfig": {
36 | "hoistingLimits": "dependencies"
37 | }
38 | }
39 |
--------------------------------------------------------------------------------
/packages/messaging/src/models/ScopeDetails.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | export interface Activity {
14 | matchedSurfaces: string[];
15 | id: string;
16 | }
17 |
18 | export interface Characteristics {
19 | eventToken: string;
20 | }
21 |
22 | export interface ScopeDetails {
23 | activity: Activity;
24 | characteristics: Characteristics;
25 | correlationID: string;
26 | decisionProvider: string;
27 | }
28 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetRequestObjectDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | @import AEPTarget;
14 | #import "AEPTargetRequestObjectDataBridge.h"
15 |
16 | @interface AEPTargetRequestObject (RCTBridge)
17 |
18 | + (AEPTargetRequestObject *)
19 | targetRequestObjectFromDict:(NSDictionary *)dict
20 | callback:(nullable void (^)(
21 | NSString *__nullable content))callback;
22 |
23 | @end
24 |
--------------------------------------------------------------------------------
/packages/core/__tests__/SignalTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { NativeModules } from 'react-native';
14 | import { Signal } from '../src';
15 |
16 | describe('Signal', () => {
17 | it('extensionVersion is called', async () => {
18 | expect(Signal.extensionVersion).toBeDefined();
19 | const spy = jest.spyOn(NativeModules.AEPSignal, 'extensionVersion');
20 | await Signal.extensionVersion();
21 | expect(spy).toHaveBeenCalled();
22 | });
23 | });
24 |
--------------------------------------------------------------------------------
/packages/target/src/models/TargetOrder.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | class TargetOrder {
13 | orderId: string;
14 | total: number;
15 | purchasedProductIds: Array;
16 |
17 | constructor(
18 | orderId: string,
19 | total: number,
20 | purchasedProductIds: Array
21 | ) {
22 | this.orderId = orderId;
23 | this.total = total;
24 | this.purchasedProductIds = purchasedProductIds;
25 | }
26 | }
27 |
28 | export default TargetOrder;
29 |
--------------------------------------------------------------------------------
/packages/core/__tests__/LifecycleTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { NativeModules } from 'react-native';
14 | import { Lifecycle } from '../src';
15 |
16 | describe('Lifecycle', () => {
17 | it('extensionVersion is called', async () => {
18 | expect(Lifecycle.extensionVersion).toBeDefined();
19 | const spy = jest.spyOn(NativeModules.AEPLifecycle, 'extensionVersion');
20 | await Lifecycle.extensionVersion();
21 | expect(spy).toHaveBeenCalled();
22 | });
23 | });
24 |
--------------------------------------------------------------------------------
/packages/edgebridge/__tests__/EdgeBridgeTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { NativeModules } from 'react-native';
14 | import { EdgeBridge } from '../src';
15 |
16 | describe('Edge Bridge', () => {
17 | it('extensionVersion is called', async () => {
18 | expect(EdgeBridge.extensionVersion).toBeDefined();
19 | const spy = jest.spyOn(NativeModules.AEPEdgeBridge, 'extensionVersion');
20 | await EdgeBridge.extensionVersion();
21 | expect(spy).toHaveBeenCalled();
22 | });
23 | });
--------------------------------------------------------------------------------
/packages/places/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepplaces",
3 | "version": "7.0.1",
4 | "description": "Adobe Experience Platform support for React Native apps.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/places"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "places",
23 | "ios",
24 | "android"
25 | ],
26 | "author": {
27 | "name": "Adobe Experience Platform SDK Team"
28 | },
29 | "peerDependencies": {
30 | "@adobe/react-native-aepcore": "^7.0.0",
31 | "react-native": ">=0.60.0"
32 | },
33 | "publishConfig": {
34 | "access": "public"
35 | },
36 | "installConfig": {
37 | "hoistingLimits": "dependencies"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/packages/core/ios/src/Signal/RCTAEPSignal.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import "RCTAEPSignal.h"
14 | @import AEPSignal;
15 | @import AEPCore;
16 |
17 | @implementation RCTAEPSignal
18 |
19 | RCT_EXPORT_MODULE(AEPSignal);
20 |
21 | - (dispatch_queue_t)methodQueue
22 | {
23 | return dispatch_get_main_queue();
24 | }
25 |
26 | RCT_EXPORT_METHOD(extensionVersion: (RCTPromiseResolveBlock) resolve rejecter:(RCTPromiseRejectBlock)reject) {
27 | resolve([AEPMobileSignal extensionVersion]);
28 | }
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/packages/optimize/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import Optimize from "./Optimize";
14 | import { AdobePropositionCallback } from "./models/AdobePropositionCallback";
15 | import AEPOptimizeError from "./models/AEPOptimizeError";
16 | import DecisionScope from "./models/DecisionScope";
17 | import Offer from "./models/Offer";
18 | import Proposition from "./models/Proposition";
19 |
20 | export {
21 | Optimize,
22 | AdobePropositionCallback,
23 | AEPOptimizeError,
24 | DecisionScope,
25 | Offer,
26 | Proposition
27 | }
--------------------------------------------------------------------------------
/packages/core/ios/src/Lifecycle/RCTAEPLifecycle.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import "RCTAEPLifecycle.h"
14 | @import AEPCore;
15 | @import AEPLifecycle;
16 |
17 | @implementation RCTAEPLifecycle
18 |
19 | RCT_EXPORT_MODULE(AEPLifecycle);
20 |
21 | - (dispatch_queue_t)methodQueue
22 | {
23 | return dispatch_get_main_queue();
24 | }
25 |
26 | RCT_EXPORT_METHOD(extensionVersion: (RCTPromiseResolveBlock) resolve rejecter:(RCTPromiseRejectBlock)reject) {
27 | resolve([AEPMobileLifecycle extensionVersion]);
28 | }
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/packages/messaging/android/src/main/java/com/adobe/marketing/mobile/reactnative/messaging/RCTAEPMessagingConstants.java:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2025 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 | package com.adobe.marketing.mobile.reactnative.messaging;
13 |
14 | class RCTAEPMessagingConstants {
15 | static final String MESSAGE_ID_KEY = "messageId";
16 | static final String HANDLER_NAME_KEY = "handlerName";
17 | static final String CONTENT_KEY = "content";
18 | static final String ON_JAVASCRIPT_MESSAGE_EVENT = "onJavascriptMessage";
19 | }
20 |
--------------------------------------------------------------------------------
/packages/userprofile/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepuserprofile",
3 | "version": "7.0.0",
4 | "description": "Adobe Experience Platform support for React Native apps.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/userprofile"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "user",
23 | "profile",
24 | "ios",
25 | "android"
26 | ],
27 | "author": {
28 | "name": "Adobe Experience Platform SDK Team"
29 | },
30 | "peerDependencies": {
31 | "@adobe/react-native-aepcore": "^7.0.0",
32 | "react-native": ">=0.60.0"
33 | },
34 | "publishConfig": {
35 | "access": "public"
36 | },
37 | "installConfig": {
38 | "hoistingLimits": "dependencies"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/packages/core/src/models/Event.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | class Event {
14 | eventName: string;
15 | eventType: string;
16 | eventSource: string;
17 | eventData: Record;
18 |
19 | constructor(
20 | eventName: string,
21 | eventType: string,
22 | eventSource: string,
23 | eventData: Record
24 | ) {
25 | this.eventName = eventName;
26 | this.eventType = eventType;
27 | this.eventSource = eventSource;
28 | this.eventData = eventData;
29 | }
30 | }
31 |
32 | export default Event;
33 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp/Images.xcassets/AppIcon.appiconset/Contents.json:
--------------------------------------------------------------------------------
1 | {
2 | "images" : [
3 | {
4 | "idiom" : "iphone",
5 | "scale" : "2x",
6 | "size" : "20x20"
7 | },
8 | {
9 | "idiom" : "iphone",
10 | "scale" : "3x",
11 | "size" : "20x20"
12 | },
13 | {
14 | "idiom" : "iphone",
15 | "scale" : "2x",
16 | "size" : "29x29"
17 | },
18 | {
19 | "idiom" : "iphone",
20 | "scale" : "3x",
21 | "size" : "29x29"
22 | },
23 | {
24 | "idiom" : "iphone",
25 | "scale" : "2x",
26 | "size" : "40x40"
27 | },
28 | {
29 | "idiom" : "iphone",
30 | "scale" : "3x",
31 | "size" : "40x40"
32 | },
33 | {
34 | "idiom" : "iphone",
35 | "scale" : "2x",
36 | "size" : "60x60"
37 | },
38 | {
39 | "idiom" : "iphone",
40 | "scale" : "3x",
41 | "size" : "60x60"
42 | },
43 | {
44 | "idiom" : "ios-marketing",
45 | "scale" : "1x",
46 | "size" : "1024x1024"
47 | }
48 | ],
49 | "info" : {
50 | "author" : "xcode",
51 | "version" : 1
52 | }
53 | }
54 |
--------------------------------------------------------------------------------
/packages/places/src/models/PlacesAuthStatus.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | /**
14 | * Represents the current authorization status of location services of your application.
15 | * Used EventData for Places Events and Shared State.
16 | */
17 | enum PlacesAuthStatus {
18 | ALWAYS = 'PLACES_AUTH_STATUS_ALWAYS',
19 | DENIED = 'PLACES_AUTH_STATUS_DENIED',
20 | RESTRICTED = 'PLACES_AUTH_STATUS_RESTRICTED',
21 | UNKNOWN = 'PLACES_AUTH_STATUS_UNKNOWN',
22 | WHEN_IN_USE = 'PLACES_AUTH_STATUS_WHEN_IN_USE'
23 | }
24 |
25 | export default PlacesAuthStatus;
26 |
--------------------------------------------------------------------------------
/packages/assurance/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepassurance",
3 | "version": "7.0.0",
4 | "description": "Adobe Experience Platform support for React Native apps.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "main": "./dist/index.js",
7 | "types": "./dist/index.d.ts",
8 | "scripts": {
9 | "cleanup": "rm -rf node_modules",
10 | "tsc": "tsc"
11 | },
12 | "repository": {
13 | "type": "git",
14 | "url": "https://github.com/adobe/aepsdk-react-native",
15 | "directory": "packages/assurance"
16 | },
17 | "keywords": [
18 | "react-native",
19 | "assurance",
20 | "aepassurance",
21 | "adobe",
22 | "adobe experience platform",
23 | "griffon",
24 | "acpgriffon",
25 | "ios",
26 | "android"
27 | ],
28 | "author": {
29 | "name": "Adobe Experience Platform SDK Team"
30 | },
31 | "peerDependencies": {
32 | "@adobe/react-native-aepcore": "^7.0.0",
33 | "react-native": ">=0.60.0"
34 | },
35 | "publishConfig": {
36 | "access": "public"
37 | },
38 | "installConfig": {
39 | "hoistingLimits": "dependencies"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/packages/places/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import Places from './Places';
14 | import PlacesAuthStatus from './models/PlacesAuthStatus';
15 | import PlacesGeofence from './models/PlacesGeofence';
16 | import PlacesGeofenceTransitionType from './models/PlacesGeofenceTransitionType';
17 | import PlacesLocation from './models/PlacesLocation';
18 | import PlacesPOI from './models/PlacesPOI';
19 |
20 | export {
21 | Places,
22 | PlacesAuthStatus,
23 | PlacesGeofence,
24 | PlacesGeofenceTransitionType,
25 | PlacesLocation,
26 | PlacesPOI
27 | };
28 |
--------------------------------------------------------------------------------
/packages/edgeidentity/src/models/IdentityItem.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { AuthenticatedState } from './AuthenticatedState';
14 |
15 | class IdentityItem {
16 | id: string;
17 | authenticatedState: AuthenticatedState;
18 | primary: boolean;
19 |
20 | constructor(
21 | id: string,
22 | authenticatedState = AuthenticatedState.AMBIGUOUS,
23 | primary: boolean = false
24 | ) {
25 | this.id = id;
26 | this.authenticatedState = authenticatedState;
27 | this.primary = primary;
28 | }
29 | }
30 |
31 | export default IdentityItem;
32 |
--------------------------------------------------------------------------------
/packages/target/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aeptarget",
3 | "version": "7.0.0",
4 | "description": "Adobe Experience Platform support for React Native apps.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/target"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "ajo",
23 | "target",
24 | "ios",
25 | "android"
26 | ],
27 | "author": {
28 | "name": "Adobe Experience Platform SDK Team"
29 | },
30 | "peerDependencies": {
31 | "@adobe/react-native-aepcore": "^7.0.0",
32 | "@adobe/react-native-aepedge": "^7.0.0",
33 | "react-native": ">=0.60.0"
34 | },
35 | "publishConfig": {
36 | "access": "public"
37 | },
38 | "installConfig": {
39 | "hoistingLimits": "dependencies"
40 | }
41 | }
42 |
--------------------------------------------------------------------------------
/packages/edgebridge/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepedgebridge",
3 | "version": "7.0.1",
4 | "description": "Adobe Experience Platform Edge Bridge extension for AEP Mobile SDK. Written and maintained by Adobe.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/edgebridge"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "edgebridge",
23 | "edge",
24 | "ios",
25 | "android"
26 | ],
27 | "author": {
28 | "name": "Adobe Experience Platform SDK Team"
29 | },
30 | "peerDependencies": {
31 | "@adobe/react-native-aepcore": "^7.0.0",
32 | "react-native": ">=0.60.0"
33 | },
34 | "publishConfig": {
35 | "access": "public"
36 | },
37 | "installConfig": {
38 | "hoistingLimits": "dependencies"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetProductDataBridge.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | #import "AEPTargetProductDataBridge.h"
14 |
15 | @implementation AEPTargetProduct (RCTBridge)
16 |
17 | NSString *const PRODUCT_ID_KEY = @"productId";
18 | NSString *const CATEGORY_ID_KEY = @"categoryId";
19 |
20 | + (AEPTargetProduct *)targetProductFromDict:(NSDictionary *)dict {
21 | if (!dict || [dict isEqual:[NSNull null]]) {
22 | return nil;
23 | }
24 |
25 | return [[AEPTargetProduct alloc] initWithProductId:dict[@"productId"] categoryId:dict[@"categoryId"]];
26 | }
27 |
28 | @end
29 |
--------------------------------------------------------------------------------
/packages/messaging/src/models/InAppMessage.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | import { PersonalizationSchema } from './PersonalizationSchema';
14 |
15 | export interface InAppMessage {
16 | id: string;
17 | schema: PersonalizationSchema.IN_APP;
18 | data: {
19 | content: string;
20 | contentType: 'text/html';
21 | expiryDate: number;
22 | publishedDate: number;
23 | meta?: Record;
24 | mobileParameters?: Record;
25 | webParameters?: Record;
26 | remoteAssets?: string[];
27 | };
28 | }
29 |
--------------------------------------------------------------------------------
/packages/edgebridge/ios/src/RCTAEPEdgeBridge.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import "RCTAEPEdgeBridge.h"
13 | @import AEPEdgeBridge;
14 |
15 | @implementation RCTAEPEdgeBridge
16 |
17 | static NSString* const EXTENSION_NAME = @"AEPEdgeBridge";
18 |
19 | RCT_EXPORT_MODULE(AEPEdgeBridge);
20 |
21 | - (dispatch_queue_t)methodQueue
22 | {
23 | return dispatch_get_main_queue();
24 | }
25 |
26 | RCT_EXPORT_METHOD(extensionVersion: (RCTPromiseResolveBlock) resolve rejecter:(RCTPromiseRejectBlock)reject) {
27 | resolve([AEPMobileEdgeBridge extensionVersion]);
28 | }
29 |
30 | @end
31 |
32 |
--------------------------------------------------------------------------------
/packages/edgeconsent/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepedgeconsent",
3 | "version": "7.0.0",
4 | "description": "Adobe Experience Platform Consent Collection extension for AEP Mobile SDK. Written and maintained by Adobe.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/edgeconsent"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "consent",
23 | "edge",
24 | "ios",
25 | "android"
26 | ],
27 | "author": {
28 | "name": "Adobe Experience Platform SDK Team"
29 | },
30 | "peerDependencies": {
31 | "@adobe/react-native-aepcore": "^7.0.0",
32 | "react-native": ">=0.60.0"
33 | },
34 | "publishConfig": {
35 | "access": "public"
36 | },
37 | "installConfig": {
38 | "hoistingLimits": "dependencies"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/packages/target/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | import Target from './Target';
13 | import TargetOrder from './models/TargetOrder';
14 | import TargetParameters from './models/TargetParameters';
15 | import TargetPrefetchObject from './models/TargetPrefetchObject';
16 | import TargetProduct from './models/TargetProduct';
17 | import TargetRequestObject from './models/TargetRequestObject';
18 |
19 | export {
20 | // Native models
21 | TargetOrder,
22 | TargetParameters,
23 | TargetPrefetchObject,
24 | TargetProduct,
25 | TargetRequestObject,
26 | // Native modules
27 | Target
28 | };
29 |
--------------------------------------------------------------------------------
/packages/core/src/Signal.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { NativeModules } from 'react-native';
14 |
15 | interface ISignal {
16 | extensionVersion: () => Promise;
17 | }
18 |
19 | const RCTAEPSignal: ISignal = NativeModules.AEPSignal;
20 |
21 | const Signal: ISignal = {
22 | /**
23 | * Returns the version of the AEPSignal extension
24 | * @return {string} Promise a promise that resolves with the extension version
25 | */
26 | extensionVersion(): Promise {
27 | return Promise.resolve(RCTAEPSignal.extensionVersion());
28 | }
29 | };
30 |
31 | export default Signal;
32 |
--------------------------------------------------------------------------------
/packages/edgeidentity/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepedgeidentity",
3 | "version": "7.0.0",
4 | "description": "Adobe Experience Platform Identity for Edge Network extension for Adobe Experience Platform Mobile SDK. Written and maintained by Adobe.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/edgeidentity"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "edgeidentity",
23 | "ios",
24 | "android"
25 | ],
26 | "author": {
27 | "name": "Adobe Experience Platform SDK Team"
28 | },
29 | "peerDependencies": {
30 | "@adobe/react-native-aepcore": "^7.0.0",
31 | "react-native": ">=0.60.0"
32 | },
33 | "publishConfig": {
34 | "access": "public"
35 | },
36 | "installConfig": {
37 | "hoistingLimits": "dependencies"
38 | }
39 | }
40 |
--------------------------------------------------------------------------------
/packages/campaignclassic/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepcampaignclassic",
3 | "version": "7.0.0",
4 | "description": "Experience Platform Campaign Classic extension for Adobe Experience Platform Mobile SDK. Written and Supported by Adobe.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/campaignclassic"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "ajo",
23 | "campaign classic",
24 | "ios",
25 | "android"
26 | ],
27 | "author": {
28 | "name": "Adobe Experience Platform SDK Team"
29 | },
30 | "peerDependencies": {
31 | "@adobe/react-native-aepcore": "^7.0.0",
32 | "react-native": ">=0.60.0"
33 | },
34 | "publishConfig": {
35 | "access": "public"
36 | },
37 | "installConfig": {
38 | "hoistingLimits": "dependencies"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/packages/edge/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepedge",
3 | "version": "7.0.0",
4 | "description": "Adobe Experience Platform Edge Network extension for Adobe Experience Platform Mobile SDK. Written and maintained by Adobe.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/edge"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "edge",
23 | "ios",
24 | "android"
25 | ],
26 | "author": {
27 | "name": "Adobe Experience Platform SDK Team"
28 | },
29 | "peerDependencies": {
30 | "@adobe/react-native-aepcore": "^7.0.0",
31 | "@adobe/react-native-aepedgeidentity": "^7.0.0",
32 | "react-native": ">=0.60.0"
33 | },
34 | "publishConfig": {
35 | "access": "public"
36 | },
37 | "installConfig": {
38 | "hoistingLimits": "dependencies"
39 | }
40 | }
41 |
--------------------------------------------------------------------------------
/packages/core/src/Lifecycle.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { NativeModules } from 'react-native';
14 |
15 | interface ILifecycle {
16 | extensionVersion: () => Promise;
17 | }
18 |
19 | const RCTAEPLifecycle: ILifecycle = NativeModules.AEPLifecycle;
20 |
21 | const Lifecycle: ILifecycle = {
22 | /**
23 | * Returns the version of the Lifecycle extension
24 | * @return {string} Promise a promise that resolves with the extension version
25 | */
26 | extensionVersion(): Promise {
27 | return Promise.resolve(RCTAEPLifecycle.extensionVersion());
28 | }
29 | };
30 |
31 | export default Lifecycle;
32 |
--------------------------------------------------------------------------------
/packages/edgebridge/src/EdgeBridge.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { NativeModules } from 'react-native';
14 |
15 | interface IEdgeBridge {
16 | extensionVersion: () => Promise;
17 | }
18 |
19 | const RCTAEPEdgeBridge: IEdgeBridge = NativeModules.AEPEdgeBridge;
20 |
21 | const EdgeBridge: IEdgeBridge = {
22 | /**
23 | * Returns the version of the EdgeBridge extension
24 | * @return {string} Promise resolves with the extension version
25 | */
26 | extensionVersion(): Promise {
27 | return Promise.resolve(RCTAEPEdgeBridge.extensionVersion());
28 | }
29 | };
30 |
31 | export default EdgeBridge;
32 |
--------------------------------------------------------------------------------
/packages/optimize/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepoptimize",
3 | "version": "7.1.0",
4 | "description": "Adobe Experience Platform support for React Native apps.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/optimize"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "ajo",
23 | "optimize",
24 | "ios",
25 | "android"
26 | ],
27 | "author": {
28 | "name": "Adobe Experience Platform SDK Team"
29 | },
30 | "peerDependencies": {
31 | "@adobe/react-native-aepcore": "^7.0.0",
32 | "@adobe/react-native-aepedge": "^7.0.0",
33 | "@adobe/react-native-aepedgeidentity": "^7.0.0",
34 | "react-native": ">=0.60.0"
35 | },
36 | "publishConfig": {
37 | "access": "public"
38 | },
39 | "installConfig": {
40 | "hoistingLimits": "dependencies"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/packages/messaging/package.json:
--------------------------------------------------------------------------------
1 | {
2 | "name": "@adobe/react-native-aepmessaging",
3 | "version": "7.2.0",
4 | "description": "Adobe Experience Platform support for React Native apps.",
5 | "homepage": "https://developer.adobe.com/client-sdks/documentation/",
6 | "license": "Apache-2.0",
7 | "main": "./dist/index.js",
8 | "types": "./dist/index.d.ts",
9 | "scripts": {
10 | "cleanup": "rm -rf node_modules",
11 | "tsc": "tsc"
12 | },
13 | "repository": {
14 | "type": "git",
15 | "url": "https://github.com/adobe/aepsdk-react-native",
16 | "directory": "packages/messaging"
17 | },
18 | "keywords": [
19 | "react-native",
20 | "adobe",
21 | "adobe experience platform",
22 | "ajo",
23 | "messaging",
24 | "ios",
25 | "android"
26 | ],
27 | "author": {
28 | "name": "Adobe Experience Platform SDK Team"
29 | },
30 | "peerDependencies": {
31 | "@adobe/react-native-aepcore": "^7.0.0",
32 | "@adobe/react-native-aepedge": "^7.0.0",
33 | "@adobe/react-native-aepedgeidentity": "^7.0.0",
34 | "react-native": ">=0.60.0"
35 | },
36 | "publishConfig": {
37 | "access": "public"
38 | },
39 | "installConfig": {
40 | "hoistingLimits": "dependencies"
41 | }
42 | }
43 |
--------------------------------------------------------------------------------
/packages/edge/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.edge"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:edge"
46 | }
47 |
--------------------------------------------------------------------------------
/packages/edgeidentity/ios/src/RCTAEPEdgeIdentityDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | @import AEPEdgeIdentity;
13 |
14 | @interface RCTAEPEdgeIdentityDataBridge : NSObject
15 |
16 | + (NSDictionary *_Nullable)dictionaryFromIdentityMap: (nullable AEPIdentityMap *) map;
17 |
18 | + (AEPIdentityMap *_Nonnull)dictionaryToIdentityMap: (nonnull NSDictionary *) dict;
19 |
20 | + (AEPIdentityItem *_Nullable)dictionaryToIdentityItem: (nullable NSDictionary *) dict;
21 |
22 | + (AEPAuthenticatedState) authStateFromString: (nullable NSString *) authStateString;
23 |
24 | + (NSString *_Nullable)stringFromAuthState: (AEPAuthenticatedState) authState;
25 |
26 | @end
27 |
--------------------------------------------------------------------------------
/packages/messaging/src/models/HTMLProposition.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | import { PersonalizationSchema } from './PersonalizationSchema';
14 | import { PropositionItem, PropositionItemData } from './PropositionItem';
15 |
16 | export interface HTMLPropositionData extends PropositionItemData {
17 | data: {
18 | content: string;
19 | };
20 | schema: PersonalizationSchema.HTML_CONTENT;
21 | }
22 |
23 | export class HTMLProposition extends PropositionItem {
24 | declare data: HTMLPropositionData['data'];
25 |
26 | constructor(htmlData: HTMLPropositionData) {
27 | super(htmlData);
28 | this.data = htmlData.data;
29 | }
30 | }
--------------------------------------------------------------------------------
/packages/messaging/src/models/JSONProposition.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | import { PersonalizationSchema } from './PersonalizationSchema';
14 | import { PropositionItem, PropositionItemData } from './PropositionItem';
15 |
16 | export interface JSONPropositionData extends PropositionItemData {
17 | data: {
18 | content: any;
19 | };
20 | schema: PersonalizationSchema.JSON_CONTENT;
21 | }
22 |
23 | export class JSONPropositionItem extends PropositionItem {
24 | declare data: JSONPropositionData['data'];
25 |
26 | constructor(jsonData: JSONPropositionData) {
27 | super(jsonData);
28 | this.data = jsonData.data;
29 | }
30 | }
--------------------------------------------------------------------------------
/packages/optimize/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.optimize"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:optimize"
46 | }
--------------------------------------------------------------------------------
/packages/target/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.target"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:target"
46 | }
47 |
--------------------------------------------------------------------------------
/packages/edgebridge/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.edgebridge"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:edgebridge"
46 | }
47 |
--------------------------------------------------------------------------------
/packages/assurance/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | mavenCentral()
4 | google()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 |
20 | compileSdk safeExtGet('compileSdk', 34)
21 |
22 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
23 | if (agpVersion >= 8) {
24 | namespace = "com.adobe.marketing.mobile.reactnative.assurance"
25 | }
26 |
27 | defaultConfig {
28 | minSdkVersion safeExtGet('minSdkVersion', 21)
29 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
30 | versionCode 1
31 | versionName "1.0"
32 | }
33 | lintOptions {
34 | abortOnError false
35 | }
36 | }
37 |
38 | repositories {
39 | google()
40 | mavenCentral()
41 | }
42 |
43 | dependencies {
44 | implementation 'com.facebook.react:react-native:+'
45 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
46 | api 'com.adobe.marketing.mobile:assurance'
47 | }
48 |
--------------------------------------------------------------------------------
/packages/edgeconsent/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.edgeconsent"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:edgeconsent"
46 | }
47 |
--------------------------------------------------------------------------------
/packages/edgeidentity/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.edgeidentity"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:edgeidentity"
46 | }
47 |
--------------------------------------------------------------------------------
/packages/userprofile/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.userprofile"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:userprofile"
46 | }
47 |
--------------------------------------------------------------------------------
/packages/campaignclassic/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative.campaignclassic"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
45 | api "com.adobe.marketing.mobile:campaignclassic"
46 | }
--------------------------------------------------------------------------------
/packages/core/src/models/VisitorID.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { MobileVisitorAuthenticationState } from './MobileVisitorAuthenticationState';
14 |
15 | class VisitorID {
16 | idOrigin?: string;
17 | idType?: string;
18 | identifier?: string;
19 | authenticationState?: MobileVisitorAuthenticationState;
20 |
21 | constructor(
22 | idOrigin?: string,
23 | idType?: string,
24 | id?: string,
25 | authenticationState?: MobileVisitorAuthenticationState
26 | ) {
27 | this.idOrigin = idOrigin;
28 | this.idType = idType;
29 | this.identifier = id;
30 | this.authenticationState = authenticationState;
31 | }
32 | }
33 |
34 | export default VisitorID;
35 |
--------------------------------------------------------------------------------
/packages/messaging/src/models/MessagingPropositionItem.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | import { ContentCard } from './ContentCard';
14 | import { HTMLProposition } from './HTMLProposition';
15 | import { JSONPropositionItem } from './JSONProposition';
16 | import { InAppMessage } from './InAppMessage';
17 | import { PropositionItem } from './PropositionItem';
18 |
19 | // Union type for all possible proposition item types
20 | // All items now extend PropositionItem and have unified tracking capabilities
21 | export type MessagingPropositionItem =
22 | | ContentCard
23 | | HTMLProposition
24 | | InAppMessage
25 | | JSONPropositionItem
26 | | PropositionItem;
27 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/.gitignore:
--------------------------------------------------------------------------------
1 | # OSX
2 | #
3 | .DS_Store
4 |
5 | # Xcode
6 | #
7 | build/
8 | *.pbxuser
9 | !default.pbxuser
10 | *.mode1v3
11 | !default.mode1v3
12 | *.mode2v3
13 | !default.mode2v3
14 | *.perspectivev3
15 | !default.perspectivev3
16 | xcuserdata
17 | *.xccheckout
18 | *.moved-aside
19 | DerivedData
20 | *.hmap
21 | *.ipa
22 | *.xcuserstate
23 | ios/.xcode.env.local
24 |
25 | # Android/IntelliJ
26 | #
27 | build/
28 | .idea
29 | .gradle
30 | local.properties
31 | *.iml
32 | *.hprof
33 | .cxx/
34 | *.keystore
35 | !debug.keystore
36 |
37 | # node.js
38 | #
39 | node_modules/
40 | npm-debug.log
41 | yarn-error.log
42 |
43 | # fastlane
44 | #
45 | # It is recommended to not store the screenshots in the git repo. Instead, use fastlane to re-generate the
46 | # screenshots whenever they are needed.
47 | # For more information about the recommended setup visit:
48 | # https://docs.fastlane.tools/best-practices/source-control/
49 |
50 | **/fastlane/report.xml
51 | **/fastlane/Preview.html
52 | **/fastlane/screenshots
53 | **/fastlane/test_output
54 |
55 | # Bundle artifact
56 | *.jsbundle
57 |
58 | # Ruby / CocoaPods
59 | /ios/Pods/
60 | /vendor/bundle/
61 |
62 | # Temporary files created by Metro to check the health of the file watcher
63 | .metro-health-check*
64 |
65 | # testing
66 | /coverage
67 |
--------------------------------------------------------------------------------
/packages/edgebridge/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | tsconfig.json
--------------------------------------------------------------------------------
/packages/messaging/src/models/PersonalizationSchema.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | export enum PersonalizationSchema {
14 | CONTENT_CARD = 'https://ns.adobe.com/personalization/message/content-card',
15 | DEFAULT_CONTENT = 'https://ns.adobe.com/personalization/default-content-item',
16 | HTML_CONTENT = 'https://ns.adobe.com/personalization/html-content-item',
17 | IN_APP = 'https://ns.adobe.com/personalization/message/in-app',
18 | JSON_CONTENT = 'https://ns.adobe.com/personalization/json-content-item',
19 | NATIVE_ALERT = 'https://ns.adobe.com/personalization/message/native-alert',
20 | RULESET_ITEM = 'https://ns.adobe.com/personalization/ruleset-item'
21 | }
22 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetOrderDataBridge.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | @import AEPTarget;
14 | #import "AEPTargetOrderDataBridge.h"
15 |
16 | @implementation AEPTargetOrder (RCTBridge)
17 |
18 | NSString *const ORDER_ID_KEY = @"orderId";
19 | NSString *const TOTAL_KEY = @"total";
20 | NSString *const PURCHASED_PRODUCTS_IDS_KEY = @"purchasedProductIds";
21 |
22 | + (AEPTargetOrder *)targetOrderFromDict:(NSDictionary *)dict {
23 | if (!dict || [dict isEqual:[NSNull null]]) {
24 | return nil;
25 | }
26 |
27 | return [[AEPTargetOrder alloc] initWithId:dict[ORDER_ID_KEY] total:[dict[TOTAL_KEY] doubleValue] purchasedProductIds:dict[PURCHASED_PRODUCTS_IDS_KEY]];
28 | }
29 |
30 | @end
31 |
--------------------------------------------------------------------------------
/packages/assurance/__tests__/AssuranceTests.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import { NativeModules } from 'react-native';
14 | import { Assurance } from '../src';
15 |
16 | describe('Assurance', () => {
17 | it('extensionVersion is called', async () => {
18 | expect(Assurance.extensionVersion).toBeDefined();
19 | const spy = jest.spyOn(NativeModules.AEPAssurance, 'extensionVersion');
20 | await Assurance.extensionVersion();
21 | expect(spy).toHaveBeenCalled();
22 | });
23 |
24 | it('startSession is called', async () => {
25 | const spy = jest.spyOn(NativeModules.AEPAssurance, 'startSession');
26 | await Assurance.startSession('');
27 | expect(spy).toHaveBeenCalled();
28 | });
29 | });
30 |
--------------------------------------------------------------------------------
/packages/assurance/ios/src/RCTAEPAssurance.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import "RCTAEPAssurance.h"
13 | @import AEPAssurance;
14 |
15 | @implementation RCTAEPAssurance
16 |
17 | RCT_EXPORT_MODULE(AEPAssurance);
18 |
19 | - (dispatch_queue_t)methodQueue
20 | {
21 | return dispatch_get_main_queue();
22 | }
23 |
24 | RCT_EXPORT_METHOD(extensionVersion: (RCTPromiseResolveBlock) resolve rejecter:(RCTPromiseRejectBlock)reject) {
25 | resolve([AEPMobileAssurance extensionVersion]);
26 | }
27 |
28 | RCT_EXPORT_METHOD(startSession: (NSString *) url){
29 | NSURL* nsUrl = [[NSURL alloc] initWithString:url];
30 | if(nsUrl != nil){
31 | [AEPMobileAssurance startSessionWithUrl:nsUrl];
32 | }
33 | }
34 | @end
35 |
--------------------------------------------------------------------------------
/packages/places/ios/src/RCTAEPPlacesDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import
14 | #import
15 | @import AEPPlaces;
16 |
17 | @interface RCTAEPPlacesDataBridge : NSObject
18 |
19 | + (NSDictionary *)dictionaryFromCLLocation: (nonnull CLLocation *) lastLocation;
20 |
21 | + (CLLocation *)CLLocationFromDict: (nonnull NSDictionary *) locationDict;
22 |
23 | + (CLAuthorizationStatus)authStatusFromString: (NSString *) authStatusString;
24 |
25 | + (NSDictionary *)dictionaryFromPoi: (AEPPlacesPoi *) poi;
26 |
27 | + (CLRegion *)clRegionFromDict: (NSDictionary *) clRegionDict;
28 |
29 | + (AEPPlacesRegionEvent)regionEventFromInt: (int) typeInt;
30 |
31 | @end
32 |
--------------------------------------------------------------------------------
/packages/places/src/models/PlacesLocation.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | /**
14 | * Represents a location returned by the places SDK that includes data about what location was provided to the SDK
15 | */
16 | class PlacesLocation {
17 | longitude: number;
18 | latitude: number;
19 | altitude: number;
20 | speed: number;
21 | accuracy: number;
22 |
23 | constructor(
24 | longitude: number,
25 | latitude: number,
26 | altitude: number,
27 | speed: number,
28 | accuracy: number
29 | ) {
30 | this.latitude = latitude;
31 | this.longitude = longitude;
32 | this.altitude = altitude;
33 | this.speed = speed;
34 | this.accuracy = accuracy;
35 | }
36 | }
37 |
38 | export default PlacesLocation;
39 |
--------------------------------------------------------------------------------
/packages/places/android/build.gradle:
--------------------------------------------------------------------------------
1 |
2 | buildscript {
3 | repositories {
4 | google()
5 | mavenCentral()
6 | }
7 |
8 | dependencies {
9 | classpath 'com.android.tools.build:gradle:8.1.1'
10 | }
11 | }
12 |
13 | apply plugin: 'com.android.library'
14 |
15 | def safeExtGet(prop, fallback) {
16 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
17 | }
18 |
19 | android {
20 | compileSdk safeExtGet('compileSdk', 34)
21 |
22 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
23 | if (agpVersion >= 8) {
24 | namespace = "com.adobe.marketing.mobile.reactnative.places"
25 | }
26 |
27 | defaultConfig {
28 | minSdkVersion safeExtGet('minSdkVersion', 21)
29 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
30 | versionCode 1
31 | versionName "1.0"
32 | }
33 | lintOptions {
34 | abortOnError false
35 | }
36 | }
37 |
38 | repositories {
39 | google()
40 | mavenCentral()
41 | }
42 |
43 | dependencies {
44 | implementation 'com.facebook.react:react-native:+'
45 | implementation platform("com.adobe.marketing.mobile:sdk-bom:3.+")
46 | api "com.adobe.marketing.mobile:places"
47 | implementation 'com.google.android.gms:play-services-location:21.2.0'
48 | }
49 |
--------------------------------------------------------------------------------
/packages/core/src/index.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import Identity from './Identity';
14 | import Lifecycle from './Lifecycle';
15 | import MobileCore from './MobileCore';
16 | import Signal from './Signal';
17 | import Event from './models/Event';
18 | import { LogLevel } from './models/LogLevel';
19 | import { MobileVisitorAuthenticationState } from './models/MobileVisitorAuthenticationState';
20 | import { PrivacyStatus } from './models/PrivacyStatus';
21 | import VisitorID from './models/VisitorID';
22 |
23 | export {
24 | // Native models
25 | Event,
26 | LogLevel,
27 | MobileVisitorAuthenticationState,
28 | PrivacyStatus,
29 | VisitorID,
30 | // Native modules
31 | Identity,
32 | Lifecycle,
33 | MobileCore,
34 | Signal
35 | };
36 |
--------------------------------------------------------------------------------
/packages/places/src/models/PlacesGeofence.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | /**
14 | * Represents a geofence location that will emit events when exited and entered
15 | */
16 | class PlacesGeofence {
17 | identifier: string;
18 | latitude: number;
19 | longitude: number;
20 | radius: number;
21 | expirationDuration: number;
22 |
23 | constructor(
24 | identifier: string,
25 | latitude: number,
26 | longitude: number,
27 | radius: number,
28 | expirationDuration: number
29 | ) {
30 | this.identifier = identifier;
31 | this.latitude = latitude;
32 | this.longitude = longitude;
33 | this.radius = radius;
34 | this.expirationDuration = expirationDuration;
35 | }
36 | }
37 |
38 | export default PlacesGeofence;
39 |
--------------------------------------------------------------------------------
/packages/target/src/models/TargetParameters.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | import TargetOrder from './TargetOrder';
13 | import TargetProduct from './TargetProduct';
14 |
15 | class TargetParameters {
16 | parameters?: { [key: string]: string };
17 | profileParameters?: { [key: string]: string };
18 | order?: TargetOrder;
19 | product?: TargetProduct;
20 |
21 | constructor(
22 | parameters?: { [key: string]: string },
23 | profileParameters?: { [key: string]: string },
24 | product?: TargetProduct,
25 | order?: TargetOrder
26 | ) {
27 | this.parameters = parameters;
28 | this.profileParameters = profileParameters;
29 | this.product = product;
30 | this.order = order;
31 | }
32 | }
33 |
34 | export default TargetParameters;
35 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/AndroidManifest.xml:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
5 |
6 |
13 |
20 |
21 |
22 |
23 |
24 |
25 |
26 |
27 |
28 |
29 |
30 |
31 |
--------------------------------------------------------------------------------
/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | CONTRIBUTING.md
65 | CODE_OF_CONDUCT.md
66 | Makefile
67 | *.tgz
68 | tsconfig.json
--------------------------------------------------------------------------------
/packages/optimize/src/models/AEPOptimizeError.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2025 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | /**
14 | * AEPOptimizeError interface representing the error structure returned by
15 | * both iOS and Android native SDK implementations.
16 | */
17 | export interface AEPOptimizeError {
18 | /** The type of error that occurred */
19 | type?: string;
20 |
21 | /** The HTTP status code of the error */
22 | status?: number;
23 |
24 | /** The title of the error */
25 | title?: string;
26 |
27 | /** The details of the error */
28 | detail?: string;
29 |
30 | /** Additional error report information */
31 | report?: { [key: string]: any };
32 |
33 | /** The corresponding AEP/Adobe error type */
34 | aepError?: string;
35 | }
36 |
37 | export default AEPOptimizeError;
--------------------------------------------------------------------------------
/packages/core/android/build.gradle:
--------------------------------------------------------------------------------
1 | buildscript {
2 | repositories {
3 | google()
4 | mavenCentral()
5 | }
6 |
7 | dependencies {
8 | classpath 'com.android.tools.build:gradle:8.1.1'
9 | }
10 | }
11 |
12 | apply plugin: 'com.android.library'
13 |
14 | def safeExtGet(prop, fallback) {
15 | rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
16 | }
17 |
18 | android {
19 | compileSdk safeExtGet('compileSdk', 34)
20 |
21 | def agpVersion = com.android.Version.ANDROID_GRADLE_PLUGIN_VERSION.tokenize('.')[0].toInteger()
22 | if (agpVersion >= 8) {
23 | namespace = "com.adobe.marketing.mobile.reactnative"
24 | }
25 |
26 | defaultConfig {
27 | minSdkVersion safeExtGet('minSdkVersion', 21)
28 | targetSdkVersion safeExtGet('targetSdkVersion', 34)
29 | versionCode 1
30 | versionName "1.0"
31 | }
32 | lintOptions {
33 | abortOnError false
34 | }
35 | }
36 |
37 | repositories {
38 | google()
39 | mavenCentral()
40 | }
41 |
42 | dependencies {
43 | implementation "com.facebook.react:react-native:+"
44 | implementation platform("com.adobe.marketing.mobile:sdk-bom:[3.8.0,4.0.0)")
45 | api "com.adobe.marketing.mobile:core"
46 | api "com.adobe.marketing.mobile:signal"
47 | api "com.adobe.marketing.mobile:identity"
48 | api "com.adobe.marketing.mobile:lifecycle"
49 | }
50 |
--------------------------------------------------------------------------------
/packages/target/ios/src/AEPTargetPrefetchObjectDataBridge.m:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law or
7 | agreed to in writing, software distributed under the License is distributed on
8 | an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF ANY KIND, either
9 | express or implied. See the License for the specific language governing
10 | permissions and limitations under the License.
11 | */
12 |
13 | #import "AEPTargetPrefetchObjectDataBridge.h"
14 | #import "AEPTargetParametersDataBridge.h"
15 |
16 | @implementation AEPTargetPrefetchObject (RCTBridge)
17 |
18 | NSString *const PREFETCH_NAME_KEY = @"name";
19 | NSString *const PARAMETERS_KEY = @"targetParameters";
20 |
21 | + (AEPTargetPrefetchObject *)prefetchObjectFromDict:(NSDictionary *)dict {
22 | if (!dict || [dict isEqual:[NSNull null]]) {
23 | return nil;
24 | }
25 |
26 | AEPTargetParameters *parameters =
27 | [AEPTargetParameters targetParametersFromDict:dict[PARAMETERS_KEY]];
28 | return [[AEPTargetPrefetchObject alloc] initWithName:dict[PREFETCH_NAME_KEY]
29 | targetParameters:parameters];
30 | }
31 |
32 | @end
33 |
--------------------------------------------------------------------------------
/packages/messaging/ios/src/RCTAEPMessagingConstants.swift:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the
4 | "License"); you may not use this file except in compliance with the License.
5 | You may obtain a copy of the License at
6 | http://www.apache.org/licenses/LICENSE-2.0 Unless required by applicable law
7 | or agreed to in writing, software distributed under the License is
8 | distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS OF
9 | ANY KIND, either express or implied. See the License for the specific
10 | language governing permissions and limitations under the License.
11 | */
12 |
13 | class Constants {
14 | static let CACHE_MISS = "No message found in cache. Please ensure you have cached the message"
15 | static let ON_DISMISS_EVENT = "onDismiss"
16 | static let ON_SHOW_EVENT = "onShow"
17 | static let SHOULD_SHOW_MESSAGE_EVENT = "shouldShowMessage"
18 | static let URL_LOADED_EVENT = "urlLoaded"
19 | static let ON_JAVASCRIPT_MESSAGE_EVENT = "onJavascriptMessage"
20 | static let SUPPORTED_EVENTS = [
21 | ON_DISMISS_EVENT, ON_SHOW_EVENT, SHOULD_SHOW_MESSAGE_EVENT, URL_LOADED_EVENT, ON_JAVASCRIPT_MESSAGE_EVENT
22 | ]
23 | static let MESSAGE_ID_KEY = "messageId"
24 | static let HANDLER_NAME_KEY = "handlerName"
25 | static let CONTENT_KEY = "content"
26 | }
27 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/app.json:
--------------------------------------------------------------------------------
1 | {
2 | "expo": {
3 | "name": "AEPSampleAppNewArchEnabled",
4 | "slug": "AEPSampleAppNewArchEnabled",
5 | "version": "1.0.0",
6 | "orientation": "portrait",
7 | "icon": "./assets/images/icon.png",
8 | "scheme": "myapp",
9 | "userInterfaceStyle": "automatic",
10 | "splash": {
11 | "image": "./assets/images/splash.png",
12 | "resizeMode": "contain",
13 | "backgroundColor": "#ffffff"
14 | },
15 | "ios": {
16 | "supportsTablet": true,
17 | "bundleIdentifier": "com.AEPSampleAppNewArchEnabled"
18 | },
19 | "android": {
20 | "adaptiveIcon": {
21 | "foregroundImage": "./assets/images/adaptive-icon.png",
22 | "backgroundColor": "#ffffff"
23 | },
24 | "package": "com.AEPSampleAppNewArchEnabled"
25 | },
26 | "web": {
27 | "bundler": "metro",
28 | "output": "static",
29 | "favicon": "./assets/images/favicon.png"
30 | },
31 | "plugins": [
32 | "expo-router",
33 | [
34 | "expo-build-properties",
35 | {
36 | "ios": {
37 | "newArchEnabled": true,
38 | "useFrameworks": "static"
39 | },
40 | "android": {
41 | "newArchEnabled": true
42 | }
43 | }
44 | ],
45 | "expo-font"
46 | ],
47 | "experiments": {
48 | "typedRoutes": true
49 | }
50 | }
51 | }
52 |
--------------------------------------------------------------------------------
/packages/edge/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
--------------------------------------------------------------------------------
/packages/places/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
--------------------------------------------------------------------------------
/apps/AEPSampleApp/styles/styles.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import {StyleSheet} from 'react-native';
14 | export default StyleSheet.create({
15 | container: {
16 | flex: 1,
17 | justifyContent: 'center',
18 | alignItems: 'center',
19 | backgroundColor: '#F5FCFF',
20 | },
21 | welcome: {
22 | fontSize: 22,
23 | textAlign: 'center',
24 | margin: 10,
25 | },
26 | header: {
27 | fontSize: 18,
28 | textAlign: 'center',
29 | margin: 5,
30 | backgroundColor: '#C1B7B5',
31 | },
32 | text: {
33 | fontSize: 15,
34 | textAlign: 'center',
35 | margin: 5,
36 | },
37 | breakLine: {
38 | borderWidth: 0.5,
39 | borderColor: 'black',
40 | margin: 10,
41 | marginTop: 10,
42 | marginBottom: 10,
43 | },
44 | textinput: {
45 | fontSize: 18,
46 | margin: 10,
47 | },
48 | });
49 |
--------------------------------------------------------------------------------
/packages/edgeidentity/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
--------------------------------------------------------------------------------
/packages/target/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 |
71 | tsconfig.json
--------------------------------------------------------------------------------
/packages/userprofile/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/Collapsible.tsx:
--------------------------------------------------------------------------------
1 | import Ionicons from '@expo/vector-icons/Ionicons';
2 | import { PropsWithChildren, useState } from 'react';
3 | import { StyleSheet, TouchableOpacity, useColorScheme } from 'react-native';
4 |
5 | import { ThemedText } from '@/components/ThemedText';
6 | import { ThemedView } from '@/components/ThemedView';
7 | import { Colors } from '@/constants/Colors';
8 |
9 | export function Collapsible({ children, title }: PropsWithChildren & { title: string }) {
10 | const [isOpen, setIsOpen] = useState(false);
11 | const theme = useColorScheme() ?? 'light';
12 |
13 | return (
14 |
15 | setIsOpen((value) => !value)}
18 | activeOpacity={0.8}>
19 |
24 | {title}
25 |
26 | {isOpen && {children}}
27 |
28 | );
29 | }
30 |
31 | const styles = StyleSheet.create({
32 | heading: {
33 | flexDirection: 'row',
34 | alignItems: 'center',
35 | gap: 6,
36 | },
37 | content: {
38 | marginTop: 6,
39 | marginLeft: 24,
40 | },
41 | });
42 |
--------------------------------------------------------------------------------
/packages/assurance/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
71 |
--------------------------------------------------------------------------------
/packages/campaignclassic/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
--------------------------------------------------------------------------------
/packages/core/ios/src/Core/RCTAEPCoreDataBridge.h:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | #import
14 | @import AEPCore;
15 | @import AEPServices;
16 |
17 | @interface RCTAEPCoreDataBridge : NSObject
18 |
19 | + (AEPPrivacyStatus)privacyStatusFromString: (NSString *_Nonnull) statusString;
20 |
21 | + (AEPLogLevel) logLevelFromString: (NSString *_Nonnull) logLevelString;
22 |
23 | + (NSString *_Nonnull)stringFromPrivacyStatus: (AEPPrivacyStatus) status;
24 |
25 | + (NSString *_Nonnull)stringFromLogLevel: (AEPLogLevel) logLevel;
26 |
27 | + (NSDictionary *_Nonnull)sanitizeDictionaryToContainClass: (Class _Nonnull ) type WithDictionary:(nonnull NSDictionary *) dict;
28 |
29 | + (AEPEvent *_Nullable)eventFromDictionary: (nonnull NSDictionary *) dict;
30 |
31 | + (NSDictionary *_Nonnull)dictionaryFromEvent: (nonnull AEPEvent *) event;
32 |
33 | @end
34 |
--------------------------------------------------------------------------------
/packages/edgeconsent/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
71 |
--------------------------------------------------------------------------------
/packages/messaging/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
71 |
--------------------------------------------------------------------------------
/packages/optimize/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 |
5 | # Built application files
6 | android/*/build/
7 |
8 | # Crashlytics configuations
9 | android/com_crashlytics_export_strings.xml
10 |
11 | # Local configuration file (sdk path, etc)
12 | android/local.properties
13 |
14 | # Gradle generated files
15 | android/.gradle/
16 |
17 | # Signing files
18 | android/.signing/
19 |
20 | # User-specific configurations
21 | android/.idea/gradle.xml
22 | android/.idea/libraries/
23 | android/.idea/workspace.xml
24 | android/.idea/tasks.xml
25 | android/.idea/.name
26 | android/.idea/compiler.xml
27 | android/.idea/copyright/profiles_settings.xml
28 | android/.idea/encodings.xml
29 | android/.idea/misc.xml
30 | android/.idea/modules.xml
31 | android/.idea/scopes/scope_settings.xml
32 | android/.idea/vcs.xml
33 | android/*.iml
34 |
35 | # Xcode
36 | *.pbxuser
37 | *.mode1v3
38 | *.mode2v3
39 | *.perspectivev3
40 | *.xcuserstate
41 | ios/Pods
42 | ios/build
43 | *project.xcworkspace*
44 | *xcuserdata*
45 | ios/*.xcworkspace
46 | ios/*.podspec
47 |
48 | # OS-specific files
49 | .DS_Store
50 | .DS_Store?
51 | ._*
52 | .Spotlight-V100
53 | .Trashes
54 | ehthumbs.db
55 | Thumbs.dbandroid/gradle
56 | android/gradlew
57 | android/build
58 | android/gradlew.bat
59 | android/gradle/
60 | __tests__
61 | .circleci/
62 | .opensource/
63 | jest/
64 | acp-sdks/
65 | update-android-sdk.sh
66 | CONTRIBUTING.md
67 | CODE_OF_CONDUCT.md
68 | Makefile
69 | *.tgz
70 | tsconfig.json
71 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/styles/styles.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2022 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | import {StyleSheet} from 'react-native';
14 | export default StyleSheet.create({
15 | container: {
16 | flex: 1,
17 | justifyContent: 'center',
18 | alignItems: 'center',
19 | backgroundColor: '#F5FCFF',
20 | },
21 | welcome: {
22 | fontSize: 22,
23 | textAlign: 'center',
24 | margin: 10,
25 | },
26 | header: {
27 | fontSize: 18,
28 | textAlign: 'center',
29 | margin: 5,
30 | backgroundColor: '#C1B7B5',
31 | },
32 | text: {
33 | fontSize: 15,
34 | textAlign: 'center',
35 | margin: 5,
36 | },
37 | breakLine: {
38 | borderWidth: 0.5,
39 | borderColor: 'black',
40 | margin: 10,
41 | marginTop: 10,
42 | marginBottom: 10,
43 | },
44 | textinput: {
45 | fontSize: 18,
46 | margin: 10,
47 | },
48 | });
49 |
--------------------------------------------------------------------------------
/packages/core/.npmignore:
--------------------------------------------------------------------------------
1 | sample/
2 | .github/
3 | .git/
4 | .editorconfig
5 |
6 | # Built application files
7 | android/*/build/
8 |
9 | # Crashlytics configuations
10 | android/com_crashlytics_export_strings.xml
11 |
12 | # Local configuration file (sdk path, etc)
13 | android/local.properties
14 |
15 | # Gradle generated files
16 | android/.gradle/
17 |
18 | # Signing files
19 | android/.signing/
20 |
21 | # User-specific configurations
22 | android/.idea/gradle.xml
23 | android/.idea/libraries/
24 | android/.idea/workspace.xml
25 | android/.idea/tasks.xml
26 | android/.idea/.name
27 | android/.idea/compiler.xml
28 | android/.idea/copyright/profiles_settings.xml
29 | android/.idea/encodings.xml
30 | android/.idea/misc.xml
31 | android/.idea/modules.xml
32 | android/.idea/scopes/scope_settings.xml
33 | android/.idea/vcs.xml
34 | android/*.iml
35 |
36 | # Xcode
37 | *.pbxuser
38 | *.mode1v3
39 | *.mode2v3
40 | *.perspectivev3
41 | *.xcuserstate
42 | ios/Pods
43 | ios/build
44 | *project.xcworkspace*
45 | *xcuserdata*
46 | ios/*.xcworkspace
47 | ios/*.podspec
48 |
49 | # OS-specific files
50 | .DS_Store
51 | .DS_Store?
52 | ._*
53 | .Spotlight-V100
54 | .Trashes
55 | ehthumbs.db
56 | Thumbs.dbandroid/gradle
57 | android/gradlew
58 | android/build
59 | android/gradlew.bat
60 | android/gradle/
61 | __tests__
62 | .circleci/
63 | .opensource/
64 | jest/
65 | acp-sdks/
66 | update-android-sdk.sh
67 | CONTRIBUTING.md
68 | CODE_OF_CONDUCT.md
69 | Makefile
70 | *.tgz
71 | tsconfig.json
72 |
--------------------------------------------------------------------------------
/.github/ISSUE_TEMPLATE/feature_request.yml:
--------------------------------------------------------------------------------
1 | name: Feature request
2 | description: Suggest an idea for this project.
3 | labels: [feature-request, triage-required]
4 |
5 | body:
6 | - type: checkboxes
7 | attributes:
8 | label: Prerequisites
9 | description: Please check the following items before logging a new feature request.
10 | options:
11 | - label: This is not a Security Disclosure, otherwise please follow the guidelines in [Security Policy](https://github.com/adobe/aepsdk-react-native/security/policy).
12 | required: true
13 | - label: I have searched in this repository's issues to see if it has already been reported.
14 | required: true
15 |
16 | - type: textarea
17 | id: description
18 | attributes:
19 | label: Feature request summary
20 | description: Please provide a summary of the feature.
21 | validations:
22 | required: true
23 |
24 | - type: textarea
25 | attributes:
26 | label: Current behavior
27 | description: A concise description of what you are experiencing.
28 | validations:
29 | required: false
30 |
31 | - type: textarea
32 | attributes:
33 | label: Expected behavior
34 | description: A concise description of what you expected to happen.
35 | validations:
36 | required: false
37 |
38 | - type: textarea
39 | attributes:
40 | label: Additional implementation details or code snippets
41 | description: Provide additional information about this request, implementation details or code snippets.
42 | validations:
43 | required: false
44 |
--------------------------------------------------------------------------------
/packages/core/src/models/InitOptions.ts:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2025 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 |
7 | Unless required by applicable law or agreed to in writing, software distributed under
8 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
9 | OF ANY KIND, either express or implied. See the License for the specific language
10 | governing permissions and limitations under the License.
11 | */
12 |
13 | /**
14 | * Interface representing the initialization options for the SDK.
15 | */
16 | export interface InitOptions {
17 | /**
18 | * A unique identifier assigned to the app instance by Adobe tags.
19 | */
20 | appId?: string;
21 |
22 | /**
23 | * Optional flag to enable or disable automatic lifecycle tracking.
24 | * If not provided, the default value is `true`.
25 | */
26 | lifecycleAutomaticTrackingEnabled?: boolean;
27 |
28 | /**
29 | * Optional additional context data to be included with lifecycle events.
30 | * This is a key-value pair object where both key and value are strings.
31 | */
32 | lifecycleAdditionalContextData?: { [key: string]: string };
33 |
34 | /**
35 | * Optional application group identifier for iOS.
36 | *
37 | * Used to share user defaults and files between the main app and its extension apps on iOS.
38 | */
39 | appGroupIOS?: string;
40 | }
41 |
--------------------------------------------------------------------------------
/apps/AEPSampleAppNewArchEnabled/components/ThemedText.tsx:
--------------------------------------------------------------------------------
1 | import { Text, type TextProps, StyleSheet } from 'react-native';
2 |
3 | import { useThemeColor } from '@/hooks/useThemeColor';
4 |
5 | export type ThemedTextProps = TextProps & {
6 | lightColor?: string;
7 | darkColor?: string;
8 | type?: 'default' | 'title' | 'defaultSemiBold' | 'subtitle' | 'link';
9 | };
10 |
11 | export function ThemedText({
12 | style,
13 | lightColor,
14 | darkColor,
15 | type = 'default',
16 | ...rest
17 | }: ThemedTextProps) {
18 | const color = useThemeColor({ light: lightColor, dark: darkColor }, 'text');
19 |
20 | return (
21 |
33 | );
34 | }
35 |
36 | const styles = StyleSheet.create({
37 | default: {
38 | fontSize: 16,
39 | lineHeight: 24,
40 | },
41 | defaultSemiBold: {
42 | fontSize: 16,
43 | lineHeight: 24,
44 | fontWeight: '600',
45 | },
46 | title: {
47 | fontSize: 32,
48 | fontWeight: 'bold',
49 | lineHeight: 32,
50 | },
51 | subtitle: {
52 | fontSize: 20,
53 | fontWeight: 'bold',
54 | },
55 | link: {
56 | lineHeight: 30,
57 | fontSize: 16,
58 | color: '#0a7ea4',
59 | },
60 | });
61 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/ios/AEPSampleApp/AppDelegate.mm:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 |
12 | #import "AppDelegate.h"
13 |
14 | #import
15 |
16 | @implementation AppDelegate
17 |
18 | - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
19 | {
20 | self.moduleName = @"AEPSampleApp";
21 | // You can add your custom initial props in the dictionary below.
22 | // They will be passed down to the ViewController used by React Native.
23 | self.initialProps = @{};
24 |
25 |
26 | return [super application:application didFinishLaunchingWithOptions:launchOptions];
27 | }
28 |
29 | - (NSURL *)sourceURLForBridge:(RCTBridge *)bridge
30 | {
31 | return [self getBundleURL];
32 | }
33 |
34 | - (NSURL *)getBundleURL
35 | {
36 | #if DEBUG
37 | return [[RCTBundleURLProvider sharedSettings] jsBundleURLForBundleRoot:@"index"];
38 | #else
39 | return [[NSBundle mainBundle] URLForResource:@"main" withExtension:@"jsbundle"];
40 | #endif
41 | }
42 |
43 | @end
44 |
--------------------------------------------------------------------------------
/apps/AEPSampleApp/android/app/src/main/java/com/aepsampleapp/MainActivity.kt:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2024 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 | package com.aepsampleapp
12 |
13 | import com.facebook.react.ReactActivity
14 | import com.facebook.react.ReactActivityDelegate
15 | import com.facebook.react.defaults.DefaultNewArchitectureEntryPoint.fabricEnabled
16 | import com.facebook.react.defaults.DefaultReactActivityDelegate
17 |
18 | class MainActivity : ReactActivity() {
19 |
20 | /**
21 | * Returns the name of the main component registered from JavaScript. This is used to schedule
22 | * rendering of the component.
23 | */
24 | override fun getMainComponentName(): String = "AEPSampleApp"
25 |
26 | /**
27 | * Returns the instance of the [ReactActivityDelegate]. We use [DefaultReactActivityDelegate]
28 | * which allows you to enable New Architecture with a single boolean flags [fabricEnabled]
29 | */
30 | override fun createReactActivityDelegate(): ReactActivityDelegate =
31 | DefaultReactActivityDelegate(this, mainComponentName, fabricEnabled)
32 |
33 | }
34 |
--------------------------------------------------------------------------------
/packages/edgebridge/android/src/main/java/com/adobe/marketing/mobile/reactnative/edgebridge/RCTAEPEdgeBridgeModule.java:
--------------------------------------------------------------------------------
1 | /*
2 | Copyright 2023 Adobe. All rights reserved.
3 | This file is licensed to you under the Apache License, Version 2.0 (the "License");
4 | you may not use this file except in compliance with the License. You may obtain a copy
5 | of the License at http://www.apache.org/licenses/LICENSE-2.0
6 | Unless required by applicable law or agreed to in writing, software distributed under
7 | the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR REPRESENTATIONS
8 | OF ANY KIND, either express or implied. See the License for the specific language
9 | governing permissions and limitations under the License.
10 | */
11 | package com.adobe.marketing.mobile.reactnative.edgebridge;
12 |
13 | import com.adobe.marketing.mobile.edge.bridge.EdgeBridge;
14 | import com.facebook.react.bridge.Promise;
15 | import com.facebook.react.bridge.ReactApplicationContext;
16 | import com.facebook.react.bridge.ReactContextBaseJavaModule;
17 | import com.facebook.react.bridge.ReactMethod;
18 |
19 | public class RCTAEPEdgeBridgeModule extends ReactContextBaseJavaModule {
20 |
21 | private final ReactApplicationContext reactContext;
22 |
23 | public RCTAEPEdgeBridgeModule(ReactApplicationContext reactContext) {
24 | super(reactContext);
25 | this.reactContext = reactContext;
26 | }
27 |
28 | @Override
29 | public String getName() {
30 | return "AEPEdgeBridge";
31 | }
32 |
33 | @ReactMethod
34 | public void extensionVersion(final Promise promise) {
35 | promise.resolve(EdgeBridge.extensionVersion());
36 | }
37 | }
38 |
--------------------------------------------------------------------------------