adobe / aepsdk-edge-ios

Adobe Experience Platform Edge Network mobile extension in Swift
Apache License 2.0
13 stars 24 forks source link
adobe-edge-network adobe-experience-platform aep-mobile-sdk

Adobe Experience Platform Edge Network Mobile Extension

CocoaPods SPM CircleCI Code Coverage

About this project

The Adobe Experience Platform Edge Network mobile extension enables data transmission to the Edge Network from a mobile application. This extension enables the implementation of Adobe Experience Cloud capabilities, allowing multiple Adobe solutions to be used through a single network call and forwarding the information to Adobe Experience Platform.

The Edge Network mobile extension is part of the Adobe Experience Platform Mobile SDK and requires the AEPCore and AEPServices extensions for event handling. The AEPEdgeIdentity extension is also required for identity management, such as managing Experience Cloud IDs (ECID).

For more details, see the Adobe Experience Platform Edge Network documentation.

Requirements

Installation

The following installation options are currently supported:

CocoaPods

Refer to the CocoaPods documentation for more details.

# Podfile
use_frameworks!

# For app development, include all of the following dependencies
target 'YOUR_TARGET_NAME' do
  pod 'AEPCore'
  pod 'AEPEdge'
  pod 'AEPEdgeIdentity'
end

# For extension development, include AEPCore, AEPEdge, and their dependencies
target 'YOUR_TARGET_NAME' do
  pod 'AEPCore'
  pod 'AEPEdge'
end

Replace YOUR_TARGET_NAME in the Podfile, and then, in the Podfile directory, run:

$ pod install

Swift Package Manager

Refer to the Swift Package Manager documentation for more details.

To add the AEPEdge package to the application, select:

File > Add Package Dependencies from the Xcode menu.

[!NOTE] Menu options may vary depending on the Xcode version being used.

Enter the repository URL for the AEPEdge package: https://github.com/adobe/aepsdk-edge-ios.git.

When prompted, specify a version or a range of versions for the version rule.

Alternatively, to add AEPEdge directly to the dependencies in a project with a Package.swift file, use the following configuration:

dependencies: [
    .package(url: "https://github.com/adobe/aepsdk-edge-ios.git", .upToNextMajor(from: "5.0.0"))
],
targets: [
    .target(
        name: "YourTarget",
        dependencies: ["AEPEdge"],
        path: "your/path"
    )
]

Binaries

To generate an AEPEdge.xcframework, use the following command:

make archive

The generated xcframework will be located in the build folder. Drag and drop the .xcframeworks into the app target in Xcode.

Development

To set up the environment after cloning or downloading the project for the first time, run the following command from the root directory:

make pod-install

To update the environment, use the following command:

make pod-update

Open the Xcode workspace

To open the workspace in Xcode, run the following command from the root directory of the repository:

make open

Command line integration

To run all test suites from the command line, use the following command:

make test

Code style

This project uses SwiftLint to check and enforce Swift style and conventions. Style checks are automatically applied when the project is built from Xcode.

To install the required tools and enable the Git pre-commit hook for automatic style correction on each commit, update the project's Git config core.hooksPath by running:

make setup-tools

Related Projects

Project Description
Core The Core extension represents the foundation of the Adobe Experience Platform Mobile SDK.
Consent for Edge Network The Consent for Edge Network extension enables consent preferences collection from your mobile app when using the Adobe Experience Platform Mobile SDK and the Edge Network extension.
Identity for Edge Network The Identity for Edge Network extension enables handling of user identity data from a mobile app when using the Adobe Experience Platform Mobile SDK and the Edge Network extension.
Lifecycle for Edge Network The Lifecycle for Edge Network extension enables application lifecycle data collection from your mobile app when using the Adobe Experience Platform Mobile SDK and the Edge Network extension.
Assurance The Assurance extension helps you inspect, proof, simulate, and validate how you collect data or serve experiences in your mobile app.

Contributing

Contributions are welcomed! See 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.