Skip to content

Commit

Permalink
Merge pull request #78 from adobe/staging
Browse files Browse the repository at this point in the history
staging -> main for v5.0.0 release
  • Loading branch information
emdobrin authored Mar 20, 2024
2 parents ecdeaff + d752e28 commit 19216a5
Show file tree
Hide file tree
Showing 36 changed files with 1,977 additions and 992 deletions.
20 changes: 10 additions & 10 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
version: 2.1

orbs:
codecov: codecov/codecov@3.2.5
# codecov: codecov/codecov@3.2.5
macos: circleci/macos@2

# Workflows orchestrate a set of jobs to be run
Expand Down Expand Up @@ -66,13 +66,13 @@ commands:
steps:
- macos/preboot-simulator:
platform: "iOS"
version: "16.1"
device: "iPhone 14"
version: "17.2"
device: "iPhone 15"

jobs:
validate-code:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
xcode: 15.1.0 # Specify the Xcode version to use

steps:
- checkout
Expand All @@ -85,7 +85,7 @@ jobs:

test-ios:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
xcode: 15.1.0 # Specify the Xcode version to use

steps:
- checkout
Expand All @@ -100,14 +100,14 @@ jobs:

# Code coverage upload using Codecov
# See options explanation here: https://docs.codecov.com/docs/codecov-uploader
- codecov/upload:
flags: ios-tests
upload_name: Coverage Report for iOS Tests
xtra_args: -c -v --xc --xp iosresults.xcresult
# - codecov/upload:
# flags: ios-tests
# upload_name: Coverage Report for iOS Tests
# xtra_args: -c -v --xc --xp iosresults.xcresult

build_xcframework_and_app:
macos:
xcode: 14.1.0 # Specify the Xcode version to use
xcode: 15.1.0 # Specify the Xcode version to use

steps:
- checkout
Expand Down
9 changes: 6 additions & 3 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -20,21 +20,24 @@ on:

jobs:
release_edgebridge:
runs-on: macos-latest
runs-on: macos-13
steps:
- uses: actions/checkout@v2
with:
ref: main
- uses: maxim-lobanov/setup-xcode@v1
with:
xcode-version: '14.1'
xcode-version: '15.0.1'

- name: Install jq
run: brew install jq

- name: Install cocoapods
run: gem install cocoapods

- name: Install xcodegen
run: brew install xcodegen

- name: Check version in Podspec
run: |
set -eo pipefail
Expand Down Expand Up @@ -92,7 +95,7 @@ jobs:
if: ${{ github.event.inputs.release_AEPEdgeBridge == 'yes' }}
run: |
set -eo pipefail
pod trunk push AEPEdgeBridge.podspec --allow-warnings --synchronous --swift-version=5.1
pod trunk push AEPEdgeBridge.podspec --allow-warnings --synchronous
pod repo update
env:
COCOAPODS_TRUNK_TOKEN: ${{ secrets.COCOAPODS_TRUNK_TOKEN }}
6 changes: 3 additions & 3 deletions AEPEdgeBridge.podspec
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
Pod::Spec.new do |s|
s.name = "AEPEdgeBridge"
s.version = "4.1.1"
s.version = "5.0.0"
s.summary = "Experience Platform Edge Bridge extension for Adobe Experience Platform Mobile SDK. Written and maintained by Adobe."

s.description = <<-DESC
Expand All @@ -11,11 +11,11 @@ Pod::Spec.new do |s|
s.license = { :type => "Apache License, Version 2.0", :file => "LICENSE" }
s.author = "Adobe Experience Platform SDK Team"
s.source = { :git => "https://github.com/adobe/aepsdk-edgebridge-ios.git", :tag => s.version.to_s }
s.ios.deployment_target = '11.0'
s.ios.deployment_target = '12.0'
s.swift_version = '5.1'

s.pod_target_xcconfig = { 'BUILD_LIBRARY_FOR_DISTRIBUTION' => 'YES' }
s.dependency 'AEPCore', '>= 4.0.0', '< 5.0.0'
s.dependency 'AEPCore', '>= 5.0.0', '< 6.0.0'

s.source_files = 'Sources/**/*.swift'
end
80 changes: 22 additions & 58 deletions AEPEdgeBridge.xcodeproj/project.pbxproj

Large diffs are not rendered by default.

Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1200"
LastUpgradeVersion = "1520"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1170"
LastUpgradeVersion = "1520"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1160"
LastUpgradeVersion = "1520"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1160"
LastUpgradeVersion = "1520"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<Scheme
LastUpgradeVersion = "1160"
LastUpgradeVersion = "1520"
version = "1.3">
<BuildAction
parallelizeBuildables = "YES"
Expand Down
1 change: 1 addition & 0 deletions Documentation/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,5 @@

* [Getting started](./getting-started.md)
* [API reference](./api-reference.md)
* [Data format](./data-format.md)
* [Tutorials](./tutorials/README.md)
4 changes: 2 additions & 2 deletions Documentation/api-reference.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,8 +38,8 @@ NSString *extensionVersion = [AEPMobileEdgeBridge extensionVersion];

------

### registerExtension
In iOS, the registration occurs by passing the Edge Bridge extension to the `MobileCore.registerExtension` API.
### registerExtensions
In iOS, the registration occurs by passing the Edge Bridge extension to the `MobileCore.registerExtensions` API.

#### Swift

Expand Down
67 changes: 67 additions & 0 deletions Documentation/data-format.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,67 @@
# Edge Bridge Data Format

The AEP Edge Bridge extension maps the data sent in `trackAction` and `trackState` API calls to a specific format known to Analytics which requires no additional server-side mapping. This document outlines the data format applied to the tracking data.


As of version 5.0.0 of AEP Edge Bridge for iOS, the following table lists the mapping of the `trackAction` and `trackState` parameters to the "data" node of the Experience Event sent to the Edge Network. Adobe Experience Platform Edge Network automatically maps these data variables into Adobe Analytics without additional server-side configuration.


| Data | Key path in the network request | Description |
| --- | --- | ---
| action | `data.__adobe.analytics.linkName` | Additionally, the field `data.__adobe.analytics.linkType` with value `lnk_o` is automatically included. |
| state | `data.__adobe.analytics.pageName` | |
| context data | `data.__adobe.analytics.contextData` | Context data is a map which includes the custom keys and values specified in the `trackAction` and `trackState` API calls. |
| && prefixed context data | `data.__adobe.analytics` | Context data keys prefixed with `&&` must be known to Analytics and are case sensitive. When mapped to the event, the key's name does not include the "&&" prefix. For example, "&&products" is sent as `data.__adobe.analytics.products`.|
| app identifier | `data.__adobe.analytics.contextData.a.AppID` | The application identifier is automatically added to every tracking event. Note the key name is "a.AppID".|
| customer perspective | `data.__adobe.analytics.cp` | The customer perspective is automatically added to every tracking event. The values are either "foreground" or "background". |

### Examples

Given the track action call:

```swift
MobileCore.track(action: "action name", data: ["key": "value", "&&products": ";Running Shoes;1;69.95;event1|event2=55.99;eVar1=12345"])
```
The resulting Experience Event has the following payload:

```json
{
"data":{
"__adobe": {
"analytics": {
"linkName": "action name",
"linkType": "lnk_o",
"cp": "foreground",
"products": ";Running Shoes;1;69.95;event1|event2=55.99;eVar1=12345",
"contextData":{
"a.AppID": "myApp 1.0 (1)",
"key": "value"
}
}
}
}
```

Given the track state call:

```swift
MobileCore.track(state: "view name", data: ["&&events": "event5,event2=2"])
```

The resulting Experience Event has the following payload:

```json
{
"data":{
"__adobe": {
"analytics": {
"pageName": "view name",
"cp": "foreground",
"events": "event5,event2=2",
"contextData":{
"a.AppID": "myApp 1.0 (1)",
}
}
}
}
```
8 changes: 4 additions & 4 deletions Documentation/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -58,10 +58,10 @@ Alternatively, if your project has a `Package.swift` file, you can add AEPEdgeBr

```
dependencies: [
.package(url: "https://github.com/adobe/aepsdk-core-ios.git", .upToNextMajor(from: "4.0.0")),
.package(url: "https://github.com/adobe/aepsdk-edge-ios.git", .upToNextMajor(from: "4.0.0")),
.package(url: "https://github.com/adobe/aepsdk-edgebridge-ios.git", .upToNextMajor(from: "4.0.0")),
.package(url: "https://github.com/adobe/aepsdk-edgeidentity-ios.git", .upToNextMajor(from: "4.0.0")),
.package(url: "https://github.com/adobe/aepsdk-core-ios.git", .upToNextMajor(from: "5.0.0")),
.package(url: "https://github.com/adobe/aepsdk-edge-ios.git", .upToNextMajor(from: "5.0.0")),
.package(url: "https://github.com/adobe/aepsdk-edgebridge-ios.git", .upToNextMajor(from: "5.0.0")),
.package(url: "https://github.com/adobe/aepsdk-edgeidentity-ios.git", .upToNextMajor(from: "5.0.0")),
],
targets: [
.target(name: "YourTarget",
Expand Down
2 changes: 1 addition & 1 deletion Gemfile
Original file line number Diff line number Diff line change
@@ -1,3 +1,3 @@
source 'https://rubygems.org'

gem 'cocoapods', '= 1.10.0'
gem 'cocoapods', '= 1.14.3'
77 changes: 41 additions & 36 deletions Gemfile.lock
Original file line number Diff line number Diff line change
@@ -1,50 +1,54 @@
GEM
remote: https://rubygems.org/
specs:
CFPropertyList (3.0.5)
CFPropertyList (3.0.7)
base64
nkf
rexml
activesupport (5.2.8.1)
activesupport (6.1.7.7)
concurrent-ruby (~> 1.0, >= 1.0.2)
i18n (>= 0.7, < 2)
minitest (~> 5.1)
tzinfo (~> 1.1)
addressable (2.8.1)
i18n (>= 1.6, < 2)
minitest (>= 5.1)
tzinfo (~> 2.0)
zeitwerk (~> 2.3)
addressable (2.8.6)
public_suffix (>= 2.0.2, < 6.0)
algoliasearch (1.27.5)
httpclient (~> 2.8, >= 2.8.3)
json (>= 1.5.1)
atomos (0.1.3)
base64 (0.2.0)
claide (1.1.0)
cocoapods (1.10.0)
addressable (~> 2.6)
cocoapods (1.14.3)
addressable (~> 2.8)
claide (>= 1.0.2, < 2.0)
cocoapods-core (= 1.10.0)
cocoapods-core (= 1.14.3)
cocoapods-deintegrate (>= 1.0.3, < 2.0)
cocoapods-downloader (>= 1.4.0, < 2.0)
cocoapods-downloader (>= 2.1, < 3.0)
cocoapods-plugins (>= 1.0.0, < 2.0)
cocoapods-search (>= 1.0.0, < 2.0)
cocoapods-trunk (>= 1.4.0, < 2.0)
cocoapods-trunk (>= 1.6.0, < 2.0)
cocoapods-try (>= 1.1.0, < 2.0)
colored2 (~> 3.1)
escape (~> 0.0.4)
fourflusher (>= 2.3.0, < 3.0)
gh_inspector (~> 1.0)
molinillo (~> 0.6.6)
molinillo (~> 0.8.0)
nap (~> 1.0)
ruby-macho (~> 1.4)
xcodeproj (>= 1.19.0, < 2.0)
cocoapods-core (1.10.0)
activesupport (> 5.0, < 6)
addressable (~> 2.6)
ruby-macho (>= 2.3.0, < 3.0)
xcodeproj (>= 1.23.0, < 2.0)
cocoapods-core (1.14.3)
activesupport (>= 5.0, < 8)
addressable (~> 2.8)
algoliasearch (~> 1.0)
concurrent-ruby (~> 1.1)
fuzzy_match (~> 2.0.4)
nap (~> 1.0)
netrc (~> 0.11)
public_suffix
public_suffix (~> 4.0)
typhoeus (~> 1.0)
cocoapods-deintegrate (1.0.5)
cocoapods-downloader (1.6.3)
cocoapods-downloader (2.1)
cocoapods-plugins (1.0.0)
nap
cocoapods-search (1.0.1)
Expand All @@ -53,44 +57,45 @@ GEM
netrc (~> 0.11)
cocoapods-try (1.2.0)
colored2 (3.1.2)
concurrent-ruby (1.1.10)
concurrent-ruby (1.2.3)
escape (0.0.4)
ethon (0.15.0)
ethon (0.16.0)
ffi (>= 1.15.0)
ffi (1.15.5)
ffi (1.16.3)
fourflusher (2.3.1)
fuzzy_match (2.0.4)
gh_inspector (1.1.3)
httpclient (2.8.3)
i18n (1.12.0)
i18n (1.14.4)
concurrent-ruby (~> 1.0)
json (2.6.2)
minitest (5.16.3)
molinillo (0.6.6)
json (2.7.1)
minitest (5.22.3)
molinillo (0.8.0)
nanaimo (0.3.0)
nap (1.1.0)
netrc (0.11.0)
public_suffix (5.0.0)
rexml (3.2.5)
ruby-macho (1.4.0)
thread_safe (0.3.6)
typhoeus (1.4.0)
nkf (0.2.0)
public_suffix (4.0.7)
rexml (3.2.6)
ruby-macho (2.5.1)
typhoeus (1.4.1)
ethon (>= 0.9.0)
tzinfo (1.2.10)
thread_safe (~> 0.1)
xcodeproj (1.22.0)
tzinfo (2.0.6)
concurrent-ruby (~> 1.0)
xcodeproj (1.24.0)
CFPropertyList (>= 2.3.3, < 4.0)
atomos (~> 0.1.3)
claide (>= 1.0.2, < 2.0)
colored2 (~> 3.1)
nanaimo (~> 0.3.0)
rexml (~> 3.2.4)
zeitwerk (2.6.13)

PLATFORMS
ruby

DEPENDENCIES
cocoapods (= 1.10.0)
cocoapods (= 1.14.3)

BUNDLED WITH
2.3.24
1.17.2
Loading

0 comments on commit 19216a5

Please sign in to comment.