Swiftpack.co - adobe/aepsdk-edgebridge-ios as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by adobe.
adobe/aepsdk-edgebridge-ios 5.0.0
iOS Adobe Experience Platform Edge Bridge
⭐️ 1
🕓 4 weeks ago
iOS
.package(url: "https://github.com/adobe/aepsdk-edgebridge-ios.git", from: "5.0.0")

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 15 (or newer)
  • Swift 5.1 (or newer)

Add Edge Bridge extension to an application

Install extension

These are currently the supported installation options:

CocoaPods

# 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

Swift Package Manager

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: "5.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.

GitHub

link
Stars: 1
Last commit: 7 hours ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Dependencies

Release Notes

v5.0.0
4 weeks ago

Release Notes

Major version update for Edge Bridge for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 5.0.0. The current release includes the following changes:

  • Updated the minimum supported version to iOS 12.0.
  • Include XCFrameworks built with Xcode 15.0.1 with the GitHub release.
  • Updated Edge Bridge data format to enhance support for migrating to sending data via Edge Network to Adobe Analytics and reduce the effort required for mapping data to XDM.
  • If you are currently using Edge Bridge version 4.0.0 and you are mapping data to XDM in your datastream, adjustments will be necessary when adopting version 5.0.0. For more details, please review the migration documentation.

What’s Changed

  • staging -> main for v5.0.0 release (#78) @emdobrin
  • pod update (#79) @emdobrin
  • Fix warnings (#76) @timkimadobe
  • updates for release (#75) @emdobrin
  • Fix AEPTestUtils tag (#74) @timkimadobe
  • Update AEPTestUtils to v5.0.0 (#73) @timkimadobe
  • swift-tools-version 5.3 (#72) @emdobrin
  • dev -> staging for v5.0.0 release (#71) @emdobrin
  • Merge main changes + staging pods (#70) @emdobrin
  • Add documentation outlining the new data format in v5 [resolves #57] (#69) @kevinlind
  • update circleci + workflows for v5.0.0 (#68) @emdobrin
  • Add customer perspective to each Edge event with tracking data (#65) @kevinlind

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics