Skip to content

stcheng-adobe/aepsdk-edge-ios

 
 

Adobe Experience Platform Edge Network Mobile Extension

CocoaPods SPM CircleCI Code Coverage

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:

# 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

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.

About

No description, website, or topics provided.

Resources

License

Code of conduct

Security policy

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Swift 97.1%
  • Shell 1.4%
  • Other 1.5%