AEPEdgeBridge 5.0.0

AEPEdgeBridge 5.0.0

Maintained by Adobe Mobile.



  • By
  • Adobe Experience Platform SDK Team

Adobe Experience Platform Edge Bridge

CocoaPods SPM CircleCI Code Coverage

About this project

The AEP Edge Bridge mobile extension enables forwarding of Analytics track events to Adobe Edge Network when using the Adobe Experience Platform SDK and the Edge Network extension. The configured Data Collection datastream for the mobile application can define a mapping of the track event's contextdata to an XDM schema using Data Prep for Data Collection.

Requirements

  • Xcode 14.1 (or newer)
  • Swift 5.1 (or newer)

Add Edge Bridge extension to an application

Install extension

These are currently the supported installation options:

# Podfile
use_frameworks!

# for app development, include the following pod
target 'YOUR_TARGET_NAME' do
  pod 'AEPCore'
  pod 'AEPEdge'
	pod 'AEPEdgeBridge'
	pod 'AEPEdgeIdentity'
end

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

$ pod install

To add the AEPEdgeBridge 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 AEPEdgeBridge package repository: https://github.com/adobe/aepsdk-edgebridge-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 AEPEdgeBridge directly to your dependencies:

dependencies: [
    .package(url: "https://github.com/adobe/aepsdk-edgebridge-ios.git", .upToNextMajor(from: "4.0.0"))
]

Binaries

To generate an AEPEdgeBridge.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.

Repeat these steps for each of the required depdendencies:

Import and register extension

Swift

// AppDelegate.swift

import AEPCore
import AEPEdge
import AEPEdgeBridge
import AEPEdgeIdentity

...
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
    MobileCore.registerExtensions([Identity.self,
                                   Edge.self,
                                   EdgeBridge.self], {
    MobileCore.configureWith(appId: "yourEnvironmentFileID")
  })
  ...
}

Objective-C

// AppDelegate.h
@import AEPCore;
@import AEPEdge;
@import AEPEdgeBridge;
@import AEPEdgeIdentity;
// AppDelegate.m
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class,
                                        AEPMobileEdge.class,
                                        AEPMobileEdgeBridge.class]
                   completion:^{
    ...
  }];
  [AEPMobileCore configureWithAppId: @"yourEnvironmentFileID"];
  ...
}

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

Documentation

Find further documentation in the Documentation folder.

Related Projects

Project Description
AEPCore Extensions The AEPCore and AEPServices represent the foundation of the Adobe Experience Platform SDK.
AEPEdge Extension The AEPEdge extension allows you to send data to the Adobe Experience Platform (AEP) from a mobile application.
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.