Adobe Experience Platform Edge Network Mobile Extension
About this project
The Adobe Experience Platform Edge Network mobile extension allows you to send data to the Adobe Edge Network from a mobile application. This extension allows you to implement Adobe Experience Cloud capabilities in a more robust way, serve multiple Adobe solutions though one network call, and simultaneously forward this information to the Adobe Experience Platform.
The Edge Network mobile extension is an extension for the Adobe Experience Platform SDK and requires the AEPCore
and AEPServices
extensions for event handling, as well as the AEPEdgeIdentity
extension for retrieving the identities, such as ECID.
To learn more about this extension, read the Adobe Experience Platform Edge Network documentation.
Requirements
- Xcode 14.1 (or newer)
- Swift 5.1 (or newer)
Installation
These are currently the supported installation options:
CocoaPods
# Podfile
use_frameworks!
# for app development, include all the following pods
target 'YOUR_TARGET_NAME' do
pod 'AEPEdge'
pod 'AEPCore'
pod 'AEPEdgeIdentity'
end
# for extension development, include AEPCore, AEPEdge and their dependencies
target 'YOUR_TARGET_NAME' do
pod 'AEPEdge'
pod 'AEPCore'
end
Replace YOUR_TARGET_NAME
and then, in the Podfile
directory, type:
$ pod install
Swift Package Manager
To add the AEPEdge Package to your application, from the Xcode menu select:
File > Add Packages...
Note The menu options may vary depending on the version of Xcode being used.
Enter the URL for the AEPEdge package repository: https://github.com/adobe/aepsdk-edge-ios.git
.
When prompted, input a specific version or a range of versions for Version rule.
Alternatively, if your project has a Package.swift
file, you can add AEPEdge directly to your dependencies:
dependencies: [
.package(url: "https://github.com/adobe/aepsdk-edge-ios.git", .upToNextMajor(from: "4.0.0"))
],
targets: [
.target(name: "YourTarget",
dependencies: ["AEPEdge"],
path: "your/path")
]
Binaries
To generate an AEPEdge.xcframework
, run the following command:
make archive
This generates the xcframework under the build
folder. Drag and drop all the .xcframeworks
to your app target in Xcode.
Development
The first time you clone or download the project, you should run the following from the root directory to setup the environment:
make pod-install
Subsequently, you can make sure your environment is updated by running the following:
make pod-update
Open the Xcode workspace
Open the workspace in Xcode by running the following command from the root directory of the repository:
make open
Command line integration
You can run all the test suites from command line:
make test
Code Style
This project uses SwiftLint to check and enforce the Swift style and conventions. Style checks are automatically applied when the project is built from Xcode.
To install the necessary tools and enable the Git pre-commit hook to autocorrect the style on each commit, run the following to update the project's git config core.hooksPath
:
make setup-tools
Related Projects
Project | Description |
---|---|
AEPCore Extensions | The AEPCore and AEPServices represent the foundation of the Adobe Experience Platform SDK. |
AEPConsent Extension | The AEPConsent extension enables consent preferences collection from your mobile app when using the AEP Mobile SDK and the Edge Network extension. |
AEPLifecycle Extension | The AEPLifecycle extension helps collect application Lifecycle metrics and any additional context data provided by the application developer when using AEP SDK and the AEP Edge Network extension. |
AEPEdgeIdentity Extension | The AEPEdgeIdentity extension enables handling of user identity data from a mobile app when using AEP SDK and the AEP Edge Network extension. |
AEP SDK Sample App for iOS | Contains iOS sample apps for the AEP SDK. Apps are provided for both Objective-C and Swift implementations. |
AEP SDK Sample App for Android | Contains Android sample app for the AEP SDK. |
Contributing
Contributions are welcomed! Read the Contributing Guide for more information.
Licensing
This project is licensed under the Apache V2 License. See LICENSE for more information.
Security policy
See the SECURITY POLICY for more details.