From 0d0e5837d1fee6afac0f00eea0fc48d3b597d376 Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Fri, 25 Aug 2023 09:46:14 -0700 Subject: [PATCH 01/12] Starting to test splitting the docs by edge and non-edge extensions --- gatsby-config.js | 190 ++++++++++-------- .../consent-for-edge-network/tabs/index.md | 2 +- .../api-reference.md | 0 .../assets/index/configuration.png | Bin .../identity-for-edge-network/faq.md | 0 .../identity-for-edge-network/index.md | 0 .../release-notes.md | 0 .../tabs/api-reference.md | 0 .../identity-for-edge-network/tabs/faq.md | 2 +- .../identity-for-edge-network/tabs/index.md | 2 +- .../api-reference.md | 0 .../index/add-mobile-lifecycle-details.png | Bin .../assets/index/configuration.png | Bin .../assets/index/define-action.png | Bin .../assets/index/save-rule.png | Bin .../assets/index/select-event.png | Bin .../event-reference.md | 0 .../lifecycle-for-edge-network/index.md | 0 .../lifecycle-for-edge-network/metrics.md | 0 .../media-for-edge-network/api-reference.md | 0 .../assets/index/configuration.png | Bin .../media-for-edge-network/index.md | 0 .../media-for-edge-network/release-notes.md | 0 .../tabs/api-reference.md | 0 .../media-for-edge-network/tabs/index.md | 0 .../adobe-campaign-classic/api-reference.md | 0 .../assets/index/configure.png | Bin .../adobe-campaign-classic/event-reference.md | 0 .../adobe-campaign-classic/index.md | 0 .../adobe-campaign-classic/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-campaign-classic/tabs/index.md | 0 32 files changed, 107 insertions(+), 89 deletions(-) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/assets/index/configuration.png (100%) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/faq.md (100%) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/release-notes.md (100%) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/tabs/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/tabs/faq.md (98%) rename src/pages/documentation/{ => edge-extensions}/identity-for-edge-network/tabs/index.md (98%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/assets/index/configuration.png (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/assets/index/define-action.png (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/assets/index/save-rule.png (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/assets/index/select-event.png (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/event-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/lifecycle-for-edge-network/metrics.md (100%) rename src/pages/documentation/{ => edge-extensions}/media-for-edge-network/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/media-for-edge-network/assets/index/configuration.png (100%) rename src/pages/documentation/{ => edge-extensions}/media-for-edge-network/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/media-for-edge-network/release-notes.md (100%) rename src/pages/documentation/{ => edge-extensions}/media-for-edge-network/tabs/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/media-for-edge-network/tabs/index.md (100%) rename src/pages/documentation/{ => non-edge-extensions}/adobe-campaign-classic/api-reference.md (100%) rename src/pages/documentation/{ => non-edge-extensions}/adobe-campaign-classic/assets/index/configure.png (100%) rename src/pages/documentation/{ => non-edge-extensions}/adobe-campaign-classic/event-reference.md (100%) rename src/pages/documentation/{ => non-edge-extensions}/adobe-campaign-classic/index.md (100%) rename src/pages/documentation/{ => non-edge-extensions}/adobe-campaign-classic/release-notes.md (100%) rename src/pages/documentation/{ => non-edge-extensions}/adobe-campaign-classic/tabs/api-reference.md (100%) rename src/pages/documentation/{ => non-edge-extensions}/adobe-campaign-classic/tabs/index.md (100%) diff --git a/gatsby-config.js b/gatsby-config.js index 5ed97f0d34..2300dc8708 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -23,8 +23,12 @@ module.exports = { } ], pages: [{ - title: 'Documentation', - path: '/documentation', + title: 'Edge-based extensions', + path: '/documentation/edge-extensions', + }, + { + title: "Non-edge-based extensions", + path: "/documentation/non-edge-extensions" }], subPages: [ { @@ -91,6 +95,102 @@ module.exports = { } ] }, + { + title: "Edge extensions", + path: "/documentation/edge-extensions", + pages: [ + { + title: "Identity for Edge Network", + path: "/documentation/edge-extensions/identity-for-edge-network", + pages: [ + { + title: "Overview", + path: "/documentation/edge-extensions/identity-for-edge-network" + }, + { + title: "API reference", + path: "documentation/edge-extensions/identity-for-edge-network/api-reference" + }, + { + title: "Frequently asked questions", + path: "documentation/edge-extensions/identity-for-edge-network/faq" + }, + { + title: "Release notes", + path: "documentation/edge-extensions/identity-for-edge-network/release-notes" + } + ] + }, + { + title: "Lifecycle for Edge Network", + path: "/documentation/edge-extensions/lifecycle-for-edge-network", + pages: [ + { + title: "Overview", + path: "/documentation/edge-extensions/lifecycle-for-edge-network" + }, + { + title: "API reference", + path: "documentation/edge-extensions/lifecycle-for-edge-network/api-reference" + }, + { + title: "Event reference", + path: "documentation/edge-extensions/lifecycle-for-edge-network/event-reference" + }, + { + title: "Metrics", + path: "documentation/edge-extensions/lifecycle-for-edge-network/metrics" + } + ] + }, + { + title: "Adobe Streaming Media for Edge Network", + path: "/documentation/edge-extensions/media-for-edge-network", + pages: [ + { + title: "Overview", + path: "/documentation/edge-extensions/media-for-edge-network" + }, + { + title: "API reference", + path: "documentation/edge-extensions/media-for-edge-network/api-reference" + }, + { + title: 'Release notes', + path: '/documentation/edge-extensions/media-for-edge-network/release-notes' + } + ] + } + ] + }, + { + title: "Non-edge extensions", + path: "/documentation/non-edge-extensions", + pages: [ + { + title: "Adobe Campaign Classic", + path: "/documentation/non-edge-extensions/adobe-campaign-classic", + pages: [ + { + title: "Overview", + path: "/documentation/non-edge-extensions/adobe-campaign-classic" + }, + { + title: "API reference", + path: "documentation/non-edge-extensions/adobe-campaign-classic/api-reference" + }, + { + title: "Event reference", + path: "documentation/non-edge-extensions/adobe-campaign-classic/event-reference" + }, + { + title: "Release notes", + path: "documentation/non-edge-extensions/adobe-campaign-classic/release-notes" + } + ] + } + ] + }, { title: "Mobile Foundation extensions", path: "/documentation/mobile-foundation-extensions", @@ -273,50 +373,7 @@ module.exports = { } ] }, - { - title: "Identity for Edge Network", - path: "/documentation/identity-for-edge-network", - pages: [ - { - title: "Overview", - path: "/documentation/identity-for-edge-network" - }, - { - title: "API reference", - path: "documentation/identity-for-edge-network/api-reference" - }, - { - title: "Frequently asked questions", - path: "documentation/identity-for-edge-network/faq" - }, - { - title: "Release notes", - path: "documentation/identity-for-edge-network/release-notes" - } - ] - }, - { - title: "Lifecycle for Edge Network", - path: "/documentation/lifecycle-for-edge-network", - pages: [ - { - title: "Overview", - path: "/documentation/lifecycle-for-edge-network" - }, - { - title: "API reference", - path: "documentation/lifecycle-for-edge-network/api-reference" - }, - { - title: "Event reference", - path: "documentation/lifecycle-for-edge-network/event-reference" - }, - { - title: "Metrics", - path: "documentation/lifecycle-for-edge-network/metrics" - } - ] - }, + { title: "Adobe Experience Platform Assurance", path: "/documentation/platform-assurance-sdk", @@ -429,24 +486,6 @@ module.exports = { } ] }, - { - title: "Adobe Streaming Media for Edge Network", - path: "/documentation/media-for-edge-network", - pages: [ - { - title: "Overview", - path: "/documentation/media-for-edge-network" - }, - { - title: "API reference", - path: "documentation/media-for-edge-network/api-reference" - }, - { - title: 'Release notes', - path: '/documentation/media-for-edge-network/release-notes' - } - ] - }, { title: "Adobe Media Analytics", path: "/documentation/adobe-media-analytics", @@ -491,28 +530,7 @@ module.exports = { } ] }, - { - title: "Adobe Campaign Classic", - path: "/documentation/adobe-campaign-classic", - pages: [ - { - title: "Overview", - path: "/documentation/adobe-campaign-classic" - }, - { - title: "API reference", - path: "documentation/adobe-campaign-classic/api-reference" - }, - { - title: "Event reference", - path: "documentation/adobe-campaign-classic/event-reference" - }, - { - title: "Release notes", - path: "documentation/adobe-campaign-classic/release-notes" - } - ] - }, + { title: "Adobe Campaign Standard", path: "/documentation/adobe-campaign-standard", diff --git a/src/pages/documentation/consent-for-edge-network/tabs/index.md b/src/pages/documentation/consent-for-edge-network/tabs/index.md index e1bc916045..e9508cd15a 100644 --- a/src/pages/documentation/consent-for-edge-network/tabs/index.md +++ b/src/pages/documentation/consent-for-edge-network/tabs/index.md @@ -1,4 +1,4 @@ -import Alerts from '../../resources/alerts.md' +import Alerts from '/src/pages/documentation/resources/alerts.md' diff --git a/src/pages/documentation/identity-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md similarity index 100% rename from src/pages/documentation/identity-for-edge-network/api-reference.md rename to src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md diff --git a/src/pages/documentation/identity-for-edge-network/assets/index/configuration.png b/src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/identity-for-edge-network/assets/index/configuration.png rename to src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/identity-for-edge-network/faq.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md similarity index 100% rename from src/pages/documentation/identity-for-edge-network/faq.md rename to src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md diff --git a/src/pages/documentation/identity-for-edge-network/index.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md similarity index 100% rename from src/pages/documentation/identity-for-edge-network/index.md rename to src/pages/documentation/edge-extensions/identity-for-edge-network/index.md diff --git a/src/pages/documentation/identity-for-edge-network/release-notes.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md similarity index 100% rename from src/pages/documentation/identity-for-edge-network/release-notes.md rename to src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md diff --git a/src/pages/documentation/identity-for-edge-network/tabs/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/identity-for-edge-network/tabs/api-reference.md rename to src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md diff --git a/src/pages/documentation/identity-for-edge-network/tabs/faq.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md similarity index 98% rename from src/pages/documentation/identity-for-edge-network/tabs/faq.md rename to src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md index de0915b63a..cb500d2a3b 100644 --- a/src/pages/documentation/identity-for-edge-network/tabs/faq.md +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md @@ -1,4 +1,4 @@ -import Alerts from '../../resources/alerts.md' +import Alerts from '/src/pages/documentation/resources/alerts.md' diff --git a/src/pages/documentation/identity-for-edge-network/tabs/index.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md similarity index 98% rename from src/pages/documentation/identity-for-edge-network/tabs/index.md rename to src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md index b32b6e032d..6e8157e332 100644 --- a/src/pages/documentation/identity-for-edge-network/tabs/index.md +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md @@ -1,4 +1,4 @@ -import Alerts from '../../resources/alerts.md' +import Alerts from '/src/pages/documentation/resources/alerts.md' diff --git a/src/pages/documentation/lifecycle-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/api-reference.md rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md diff --git a/src/pages/documentation/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png diff --git a/src/pages/documentation/lifecycle-for-edge-network/assets/index/configuration.png b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/assets/index/configuration.png rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/lifecycle-for-edge-network/assets/index/define-action.png b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/define-action.png similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/assets/index/define-action.png rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/define-action.png diff --git a/src/pages/documentation/lifecycle-for-edge-network/assets/index/save-rule.png b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/save-rule.png similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/assets/index/save-rule.png rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/save-rule.png diff --git a/src/pages/documentation/lifecycle-for-edge-network/assets/index/select-event.png b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/select-event.png similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/assets/index/select-event.png rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/select-event.png diff --git a/src/pages/documentation/lifecycle-for-edge-network/event-reference.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/event-reference.md rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md diff --git a/src/pages/documentation/lifecycle-for-edge-network/index.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/index.md rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md diff --git a/src/pages/documentation/lifecycle-for-edge-network/metrics.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md similarity index 100% rename from src/pages/documentation/lifecycle-for-edge-network/metrics.md rename to src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md diff --git a/src/pages/documentation/media-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md similarity index 100% rename from src/pages/documentation/media-for-edge-network/api-reference.md rename to src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md diff --git a/src/pages/documentation/media-for-edge-network/assets/index/configuration.png b/src/pages/documentation/edge-extensions/media-for-edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/media-for-edge-network/assets/index/configuration.png rename to src/pages/documentation/edge-extensions/media-for-edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/media-for-edge-network/index.md b/src/pages/documentation/edge-extensions/media-for-edge-network/index.md similarity index 100% rename from src/pages/documentation/media-for-edge-network/index.md rename to src/pages/documentation/edge-extensions/media-for-edge-network/index.md diff --git a/src/pages/documentation/media-for-edge-network/release-notes.md b/src/pages/documentation/edge-extensions/media-for-edge-network/release-notes.md similarity index 100% rename from src/pages/documentation/media-for-edge-network/release-notes.md rename to src/pages/documentation/edge-extensions/media-for-edge-network/release-notes.md diff --git a/src/pages/documentation/media-for-edge-network/tabs/api-reference.md b/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/media-for-edge-network/tabs/api-reference.md rename to src/pages/documentation/edge-extensions/media-for-edge-network/tabs/api-reference.md diff --git a/src/pages/documentation/media-for-edge-network/tabs/index.md b/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md similarity index 100% rename from src/pages/documentation/media-for-edge-network/tabs/index.md rename to src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md diff --git a/src/pages/documentation/adobe-campaign-classic/api-reference.md b/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-campaign-classic/api-reference.md rename to src/pages/documentation/non-edge-extensions/adobe-campaign-classic/api-reference.md diff --git a/src/pages/documentation/adobe-campaign-classic/assets/index/configure.png b/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/assets/index/configure.png similarity index 100% rename from src/pages/documentation/adobe-campaign-classic/assets/index/configure.png rename to src/pages/documentation/non-edge-extensions/adobe-campaign-classic/assets/index/configure.png diff --git a/src/pages/documentation/adobe-campaign-classic/event-reference.md b/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/event-reference.md similarity index 100% rename from src/pages/documentation/adobe-campaign-classic/event-reference.md rename to src/pages/documentation/non-edge-extensions/adobe-campaign-classic/event-reference.md diff --git a/src/pages/documentation/adobe-campaign-classic/index.md b/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/index.md similarity index 100% rename from src/pages/documentation/adobe-campaign-classic/index.md rename to src/pages/documentation/non-edge-extensions/adobe-campaign-classic/index.md diff --git a/src/pages/documentation/adobe-campaign-classic/release-notes.md b/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-campaign-classic/release-notes.md rename to src/pages/documentation/non-edge-extensions/adobe-campaign-classic/release-notes.md diff --git a/src/pages/documentation/adobe-campaign-classic/tabs/api-reference.md b/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-campaign-classic/tabs/api-reference.md rename to src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-campaign-classic/tabs/index.md b/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-campaign-classic/tabs/index.md rename to src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/index.md From 712ba685957a867f72cde6723f1f677116512e39 Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Fri, 29 Sep 2023 16:46:52 -0700 Subject: [PATCH 02/12] Moved things around but some files got lost oops --- gatsby-config.js | 613 ++++++----- .../mobile-core/api-reference.md | 0 .../configuration/api-reference.md | 0 .../mobile-core/configuration/index.md | 0 .../configuration/tabs/api-reference.md | 0 .../mobile-core/configuration/tabs/index.md | 0 .../mobile-core/identity/api-reference.md | 0 .../assets/push-sync/push-analytics-optin.png | Bin .../assets/push-sync/push-identities.png | Bin .../push-sync/set-push-token-to-identity.png | Bin .../mobile-core/identity/index.md | 0 .../mobile-core/identity/push-sync.md | 0 .../identity/tabs/api-reference.md | 0 .../mobile-core/identity/tabs/index.md | 0 .../mobile-core/identity/tabs/push-sync.md | 0 .../mobile-core/index.md | 0 .../mobile-core/lifecycle/android.md | 0 .../mobile-core/lifecycle/api-reference.md | 0 .../assets/android/android-crash.png | Bin .../lifecycle/configuration-keys.md | 0 .../mobile-core/lifecycle/event-reference.md | 0 .../mobile-core/lifecycle/index.md | 0 .../mobile-core/lifecycle/ios.md | 0 .../mobile-core/lifecycle/metrics.md | 0 .../lifecycle/tabs/api-reference.md | 0 .../mobile-core/lifecycle/tabs/index.md | 0 .../mobile-core/platform-services/index.md | 0 .../platform-services/network-service.md | 0 .../platform-services/tabs/index.md | 0 .../platform-services/tabs/network-service.md | 0 .../mobile-core/release-notes.md | 0 .../assets/index/rule-example.png | Bin .../rules-engine/consequence-details.md | 0 .../mobile-core/rules-engine/index.md | 0 .../rules-engine/technical-details.md | 0 .../mobile-core/signal/api-reference.md | 0 .../data-element-example-collect-pii.png | Bin .../postback-pii-token-example.png | Bin .../send-postback-action.png | Bin .../mobile-core/signal/index.md | 0 .../signal/rules-engine-integration.md | 0 .../mobile-core/signal/tabs/api-reference.md | 0 .../mobile-core/signal/tabs/index.md | 0 .../mobile-core/tabs/api-reference.md | 0 .../platform-assurance-sdk/api-reference.md | 0 .../assurance-connection-error.png | Bin .../assurance-invalid-configuration-error.png | Bin .../assets/common-issues/assurance-pin.png | Bin .../common-issues/assurance-pincode.png | Bin .../assurance-unauthorized-access-error.png | Bin .../assets/index/assurance-extension.png | Bin .../platform-assurance-sdk/common-issues.md | 0 .../platform-assurance-sdk/index.md | 0 .../platform-assurance-sdk/release-notes.md | 0 .../tabs/api-reference.md | 0 .../tabs/common-issues.md | 0 .../platform-assurance-sdk/tabs/index.md | 0 .../profile/api-reference.md | 0 .../profile/assets/index/configuration.png | Bin .../{ => base-extensions}/profile/index.md | 0 .../profile/release-notes.md | 0 .../profile/tabs/api-reference.md | 0 .../profile/tabs/index.md | 0 .../consent-for-edge-network/api-reference.md | 68 -- .../assets/index/configuration.png | Bin 75216 -> 0 bytes .../consent-for-edge-network/index.md | 66 -- .../consent-for-edge-network/release-notes.md | 55 - .../tabs/api-reference.md | 296 ------ .../consent-for-edge-network/tabs/index.md | 134 --- .../api-reference.md | 0 .../index/configuration-adobe-target.png | Bin .../index/configuration-offer-decisioning.png | Bin .../assets/index/configuration.png | Bin .../assets/index/lifecycle-rule-action.png | Bin .../assets/index/lifecycle-rule-event.png | Bin .../assets/index/lifecycle-rule.png | Bin .../assets/index/target-tpid.png | Bin .../index.md | 0 .../release-notes.md | 0 .../tabs/api-reference.md | 0 .../tabs/index.md | 0 .../adobe-journey-optimizer/api-reference.md | 0 .../assets/index/configuration.png | Bin .../assets/index/update-datastream.png | Bin .../adobe-journey-optimizer/index.md | 0 .../adobe-journey-optimizer/public-classes.md | 0 .../adobe-journey-optimizer/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-journey-optimizer/tabs/index.md | 0 .../tabs/public-classes.md | 0 .../validate-messages/iam-simulation.png | Bin .../validate-messages/install-iam-plugin.png | Bin .../message-configuration.png | Bin .../validate-messages/message-request.png | Bin .../message-response-payload.png | Bin .../validate-messages/message-response.png | Bin .../tutorials/handle-clicks.md | 0 .../tutorials/index.md | 0 .../tutorials/javascript-from-native.md | 0 .../tutorials/messaging-delegate.md | 0 .../tutorials/native-from-javascript.md | 0 .../tutorials/tabs/javascript-from-native.md | 0 .../tutorials/tabs/messaging-delegate.md | 0 .../tutorials/tabs/native-from-javascript.md | 0 .../tutorials/validate-messages.md | 0 .../edge-network/api-reference.md | 0 .../assets/index/configuration.png | Bin .../edge-network/index.md | 0 .../edge-network/release-notes.md | 0 .../edge-network/tabs/api-reference.md | 0 .../edge-network/tabs/index.md | 2 +- .../edge-network/validation.md | 0 .../edge-network/xdm-experience-events.md | 0 .../api-reference.md | 260 ----- .../assets/index/configuration.png | Bin 51462 -> 0 bytes .../identity-for-edge-network/faq.md | 151 --- .../identity-for-edge-network/index.md | 84 -- .../release-notes.md | 70 -- .../tabs/api-reference.md | 950 ------------------ .../identity-for-edge-network/tabs/faq.md | 171 ---- .../identity-for-edge-network/tabs/index.md | 133 --- .../{ => resources}/current-sdk-versions.md | 0 .../configure-datastream.png | Bin .../create-datastream.png | Bin .../configure-extension.png | Bin .../create-mobile-property.png | Bin .../assets/index/edge-network-integration.png | Bin .../index/solution-specific-integration.png | Bin .../create-dataset.png | Bin .../create-schema.png | Bin .../assets/validate/assurance-analytics.png | Bin .../assets/validate/assurance-places.png | Bin .../validate/configuration-response.png | Bin .../getting-started/configure-datastreams.md | 0 .../create-a-mobile-property.md | 0 .../getting-started/enable-debug-logging.md | 0 .../getting-started/get-the-sdk.md | 0 .../{ => resources}/getting-started/index.md | 0 .../set-up-schemas-and-datasets.md | 0 .../tabs/enable-debug-logging.md | 0 .../getting-started/tabs/get-the-sdk.md | 0 .../getting-started/tabs/track-events.md | 0 .../getting-started/track-events.md | 0 .../getting-started/validate.md | 0 .../{ => resources}/release-notes/2021.md | 0 .../{ => resources}/release-notes/2022.md | 0 .../{ => resources}/release-notes/index.md | 0 .../adobe-analytics/api-reference.md | 0 .../assets/index/compareWorkflows.png | Bin .../assets/index/mobile-analytics-company.png | Bin .../index/mobile-analytics-configuration.png | Bin .../adobe-analytics/assets/index/workflow.png | Bin .../assets/product-variable/map-products.png | Bin .../assets/track-beacon/beacon-condition.png | Bin .../track-beacon/beacon-data-element.png | Bin .../assets/track-beacon/beacon-rule.png | Bin .../track-beacon/beacon-token-replacement.png | Bin .../adobe-analytics/event-reference.md | 0 .../adobe-analytics/faq.md | 0 .../adobe-analytics/index.md | 0 .../migrate-to-edge-network.md | 0 .../adobe-analytics/product-variable.md | 0 .../adobe-analytics/release-notes.md | 0 .../adobe-analytics/tabs/api-reference.md | 0 .../adobe-analytics/tabs/index.md | 0 .../adobe-analytics/tabs/product-variable.md | 0 .../tabs/track-beacon/clear-beacon/android.md | 0 .../tabs/track-beacon/clear-beacon/ios.md | 0 .../tabs/track-beacon/track-beacon/android.md | 0 .../tabs/track-beacon/track-beacon/ios.md | 0 .../adobe-analytics/track-beacon.md | 0 .../adobe-audience-manager/api-reference.md | 0 .../assets/index/configure.png | Bin .../adobe-audience-manager/event-reference.md | 0 .../adobe-audience-manager/index.md | 0 .../adobe-audience-manager/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-audience-manager/tabs/index.md | 0 .../adobe-campaign-classic/api-reference.md | 0 .../assets/index/configure.png | Bin .../adobe-campaign-classic/event-reference.md | 0 .../adobe-campaign-classic/index.md | 0 .../adobe-campaign-classic/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-campaign-classic/tabs/index.md | 0 .../adobe-campaign-standard/api-reference.md | 0 .../assets/index/aep-cocoapods.png | Bin .../assets/index/cocoapods.png | Bin .../assets/index/configure.png | Bin .../push-notifications/android-server-key.png | Bin .../campaign-ios-cert-configured.png | Bin .../charles-demdex-call-ios.png | Bin .../push-notifications/push-identifier.png | Bin .../push-token-to-identity.png | Bin .../push-tracking-click.png | Bin .../push-tracking-impression.png | Bin .../push-notifications/push-tracking-open.png | Bin .../subscriber-list-android.png | Bin .../subscriber-list-ios.png | Bin .../push-notifications/tracking-click.png | Bin .../tracking-impression.png | Bin .../push-notifications/tracking-open.png | Bin .../event-reference.md | 0 .../adobe-campaign-standard/index.md | 0 .../push-notifications.md | 0 .../adobe-campaign-standard/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-campaign-standard/tabs/index.md | 0 .../tabs/push-notifications.md | 0 .../adobe-media-analytics/api-reference.md | 0 .../assets/index/configuration.png | Bin .../adobe-media-analytics/index.md | 0 .../adobe-media-analytics/migration-guide.md | 0 .../adobe-media-analytics/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-media-analytics/tabs/index.md | 0 .../tabs/migration-guide.md | 0 .../adobe-target/api-reference.md | 0 .../assets/index/configuration.png | Bin .../adobe-target/event-reference.md | 0 .../adobe-target/index.md | 0 .../adobe-target/raw-api-reference.md | 0 .../adobe-target/release-notes.md | 0 .../adobe-target/tabs/api-reference.md | 0 .../adobe-target/tabs/index.md | 0 .../adobe-target/tabs/raw-api-reference.md | 0 .../places/api-reference.md | 0 .../add-environment-details-fieldgroup.png | Bin .../assets/index/add-new-field-group.png | Bin .../places/assets/index/config.png | Bin .../datacollection-tag-correct-datastream.png | Bin .../datastream-choose-platform-services.png | Bin .../datastream-ensure-correct-dataset.png | Bin .../assets/index/final-schema-structure.png | Bin .../index/manage-places-context-fields.png | Bin .../index/mask-everything-except-poiId.png | Bin .../{ => solution-extensions}/places/index.md | 0 .../places/places-to-platform.md | 0 .../places/release-notes.md | 0 .../places/tabs/api-reference.md | 0 .../places/tabs/index.md | 0 241 files changed, 306 insertions(+), 2747 deletions(-) rename src/pages/documentation/{ => base-extensions}/mobile-core/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/configuration/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/configuration/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/configuration/tabs/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/configuration/tabs/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/assets/push-sync/push-analytics-optin.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/assets/push-sync/push-identities.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/push-sync.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/tabs/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/tabs/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/identity/tabs/push-sync.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/android.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/assets/android/android-crash.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/configuration-keys.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/event-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/ios.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/metrics.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/tabs/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/lifecycle/tabs/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/platform-services/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/platform-services/network-service.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/platform-services/tabs/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/platform-services/tabs/network-service.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/release-notes.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/rules-engine/assets/index/rule-example.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/rules-engine/consequence-details.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/rules-engine/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/rules-engine/technical-details.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/rules-engine-integration.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/tabs/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/signal/tabs/index.md (100%) rename src/pages/documentation/{ => base-extensions}/mobile-core/tabs/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/assets/common-issues/assurance-connection-error.png (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/assets/common-issues/assurance-invalid-configuration-error.png (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/assets/common-issues/assurance-pin.png (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/assets/common-issues/assurance-pincode.png (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/assets/common-issues/assurance-unauthorized-access-error.png (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/assets/index/assurance-extension.png (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/common-issues.md (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/index.md (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/release-notes.md (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/tabs/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/tabs/common-issues.md (100%) rename src/pages/documentation/{ => base-extensions}/platform-assurance-sdk/tabs/index.md (100%) rename src/pages/documentation/{ => base-extensions}/profile/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/profile/assets/index/configuration.png (100%) rename src/pages/documentation/{ => base-extensions}/profile/index.md (100%) rename src/pages/documentation/{ => base-extensions}/profile/release-notes.md (100%) rename src/pages/documentation/{ => base-extensions}/profile/tabs/api-reference.md (100%) rename src/pages/documentation/{ => base-extensions}/profile/tabs/index.md (100%) delete mode 100644 src/pages/documentation/consent-for-edge-network/api-reference.md delete mode 100644 src/pages/documentation/consent-for-edge-network/assets/index/configuration.png delete mode 100644 src/pages/documentation/consent-for-edge-network/index.md delete mode 100644 src/pages/documentation/consent-for-edge-network/release-notes.md delete mode 100644 src/pages/documentation/consent-for-edge-network/tabs/api-reference.md delete mode 100644 src/pages/documentation/consent-for-edge-network/tabs/index.md rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/assets/index/configuration.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/release-notes.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/tabs/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer-decisioning/tabs/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/assets/index/configuration.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/assets/index/update-datastream.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/public-classes.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/release-notes.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tabs/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tabs/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tabs/public-classes.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/handle-clicks.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/javascript-from-native.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/messaging-delegate.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/native-from-javascript.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md (100%) rename src/pages/documentation/{ => edge-extensions}/adobe-journey-optimizer/tutorials/validate-messages.md (100%) rename src/pages/documentation/{ => edge-extensions}/edge-network/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/edge-network/assets/index/configuration.png (100%) rename src/pages/documentation/{ => edge-extensions}/edge-network/index.md (100%) rename src/pages/documentation/{ => edge-extensions}/edge-network/release-notes.md (100%) rename src/pages/documentation/{ => edge-extensions}/edge-network/tabs/api-reference.md (100%) rename src/pages/documentation/{ => edge-extensions}/edge-network/tabs/index.md (97%) rename src/pages/documentation/{ => edge-extensions}/edge-network/validation.md (100%) rename src/pages/documentation/{ => edge-extensions}/edge-network/xdm-experience-events.md (100%) delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/index.md delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md delete mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md rename src/pages/documentation/{ => resources}/current-sdk-versions.md (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/configure-datastreams/configure-datastream.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/configure-datastreams/create-datastream.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/create-a-mobile-property/configure-extension.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/create-a-mobile-property/create-mobile-property.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/index/edge-network-integration.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/index/solution-specific-integration.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/set-up-schemas-and-datasets/create-schema.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/validate/assurance-analytics.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/validate/assurance-places.png (100%) rename src/pages/documentation/{ => resources}/getting-started/assets/validate/configuration-response.png (100%) rename src/pages/documentation/{ => resources}/getting-started/configure-datastreams.md (100%) rename src/pages/documentation/{ => resources}/getting-started/create-a-mobile-property.md (100%) rename src/pages/documentation/{ => resources}/getting-started/enable-debug-logging.md (100%) rename src/pages/documentation/{ => resources}/getting-started/get-the-sdk.md (100%) rename src/pages/documentation/{ => resources}/getting-started/index.md (100%) rename src/pages/documentation/{ => resources}/getting-started/set-up-schemas-and-datasets.md (100%) rename src/pages/documentation/{ => resources}/getting-started/tabs/enable-debug-logging.md (100%) rename src/pages/documentation/{ => resources}/getting-started/tabs/get-the-sdk.md (100%) rename src/pages/documentation/{ => resources}/getting-started/tabs/track-events.md (100%) rename src/pages/documentation/{ => resources}/getting-started/track-events.md (100%) rename src/pages/documentation/{ => resources}/getting-started/validate.md (100%) rename src/pages/documentation/{ => resources}/release-notes/2021.md (100%) rename src/pages/documentation/{ => resources}/release-notes/2022.md (100%) rename src/pages/documentation/{ => resources}/release-notes/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/index/compareWorkflows.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/index/mobile-analytics-company.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/index/mobile-analytics-configuration.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/index/workflow.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/product-variable/map-products.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/track-beacon/beacon-condition.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/track-beacon/beacon-data-element.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/track-beacon/beacon-rule.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/assets/track-beacon/beacon-token-replacement.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/event-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/faq.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/migrate-to-edge-network.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/product-variable.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/release-notes.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/tabs/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/tabs/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/tabs/product-variable.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/tabs/track-beacon/clear-beacon/android.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/tabs/track-beacon/track-beacon/android.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/tabs/track-beacon/track-beacon/ios.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-analytics/track-beacon.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-audience-manager/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-audience-manager/assets/index/configure.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-audience-manager/event-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-audience-manager/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-audience-manager/release-notes.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-audience-manager/tabs/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-audience-manager/tabs/index.md (100%) rename src/pages/documentation/{non-edge-extensions => solution-extensions}/adobe-campaign-classic/api-reference.md (100%) rename src/pages/documentation/{non-edge-extensions => solution-extensions}/adobe-campaign-classic/assets/index/configure.png (100%) rename src/pages/documentation/{non-edge-extensions => solution-extensions}/adobe-campaign-classic/event-reference.md (100%) rename src/pages/documentation/{non-edge-extensions => solution-extensions}/adobe-campaign-classic/index.md (100%) rename src/pages/documentation/{non-edge-extensions => solution-extensions}/adobe-campaign-classic/release-notes.md (100%) rename src/pages/documentation/{non-edge-extensions => solution-extensions}/adobe-campaign-classic/tabs/api-reference.md (100%) rename src/pages/documentation/{non-edge-extensions => solution-extensions}/adobe-campaign-classic/tabs/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/index/aep-cocoapods.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/index/cocoapods.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/index/configure.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/android-server-key.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/push-identifier.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/tracking-click.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/tracking-impression.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/assets/push-notifications/tracking-open.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/event-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/push-notifications.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/release-notes.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/tabs/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/tabs/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-campaign-standard/tabs/push-notifications.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/assets/index/configuration.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/migration-guide.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/release-notes.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/tabs/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/tabs/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-media-analytics/tabs/migration-guide.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/assets/index/configuration.png (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/event-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/raw-api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/release-notes.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/tabs/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/tabs/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/adobe-target/tabs/raw-api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/places/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/add-environment-details-fieldgroup.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/add-new-field-group.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/config.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/datacollection-tag-correct-datastream.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/datastream-choose-platform-services.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/datastream-ensure-correct-dataset.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/final-schema-structure.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/manage-places-context-fields.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/assets/index/mask-everything-except-poiId.png (100%) rename src/pages/documentation/{ => solution-extensions}/places/index.md (100%) rename src/pages/documentation/{ => solution-extensions}/places/places-to-platform.md (100%) rename src/pages/documentation/{ => solution-extensions}/places/release-notes.md (100%) rename src/pages/documentation/{ => solution-extensions}/places/tabs/api-reference.md (100%) rename src/pages/documentation/{ => solution-extensions}/places/tabs/index.md (100%) diff --git a/gatsby-config.js b/gatsby-config.js index 2300dc8708..38f1b51904 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -22,14 +22,23 @@ module.exports = { path: '/client-sdks/previous-versions/' } ], - pages: [{ - title: 'Edge-based extensions', - path: '/documentation/edge-extensions', - }, - { - title: "Non-edge-based extensions", - path: "/documentation/non-edge-extensions" - }], + pages: [ + { + title: "Resources", + path: "/documentation/resources" + }, + { + title: "Base extensions", + path: "/documentation/base-extensions" + }, + { + title: 'Edge Network extensions', + path: '/documentation/edge-extensions', + }, + { + title: "Solution-specific extensions", + path: "/documentation/solution-extensions" + }], subPages: [ { title: "Home", @@ -37,23 +46,23 @@ module.exports = { }, { title: "Current SDK versions", - path: "documentation/current-sdk-versions" + path: "documentation/resources/current-sdk-versions" }, { title: "Release notes", - path: "/documentation/release-notes", + path: "/documentation/resources/release-notes", pages: [ { title: "2023", - path: "/documentation/release-notes" + path: "/documentation/resources/release-notes" }, { title: "2022", - path: "/documentation/release-notes/2022" + path: "/documentation/resources/release-notes/2022" }, { title: "2021", - path: "/documentation/release-notes/2021" + path: "/documentation/resources/release-notes/2021" } ] }, @@ -121,6 +130,32 @@ module.exports = { } ] }, + { + title: "Adobe Experience Platform Edge Network", + path: "/documentation/edge-extensions/edge-network", + pages: [ + { + title: "Overview", + path: "/documentation/edge-extensions/edge-network" + }, + { + title: "API reference", + path: "/documentation/edge-extensions/edge-network/api-reference" + }, + { + title: "XDM Experience Events", + path: "/documentation/edge-extensions/edge-network/xdm-experience-events" + }, + { + title: "Validation", + path: "/documentation/edge-extensions/edge-network/validation" + }, + { + title: "Release notes", + path: "/documentation/edge-extensions/edge-network/release-notes" + } + ] + }, { title: "Lifecycle for Edge Network", path: "/documentation/edge-extensions/lifecycle-for-edge-network", @@ -143,6 +178,90 @@ module.exports = { } ] }, + { + title: "Consent for Edge Network", + path: "/documentation/edge-extensions/consent-for-edge-network", + pages: [ + { + title: "Overview", + path: "/documentation/edge-extensions/consent-for-edge-network" + }, + { + title: "API reference", + path: "documentation/edge-extensions/consent-for-edge-network/api-reference" + }, + { + title: "Release notes", + path: "documentation/edge-extensions/consent-for-edge-network/release-notes" + } + ] + }, + { + title: "Adobe Journey Optimizer", + path: "/documentation/edge-extensions/adobe-journey-optimizer", + pages: [ + { + title: "Overview", + path: "/documentation/edge-extensions/adobe-journey-optimizer" + }, + { + title: "API reference", + path: "documentation/edge-extensions/adobe-journey-optimizer/api-reference" + }, + { + title: "Release notes", + path: "documentation/edge-extensions/adobe-journey-optimizer/release-notes" + }, + { + title: "Public classes and enums", + path: "documentation/edge-extensions/adobe-journey-optimizer/public-classes" + }, + { + title: "Tutorials", + path: "documentation/edge-extensions/adobe-journey-optimizer/tutorials", + pages: [ + { + title: "Implement a MessagingDelegate", + path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/messaging-delegate" + }, + { + title: "Call native code from the JavaScript of an in-app message", + path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/native-from-javascript" + }, + { + title: "Execute Javascript methods from native code", + path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/javascript-from-native" + }, + { + title: "Handle URL clicks from an in-app message", + path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/handle-clicks" + }, + { + title: "Validate in-app messaging using Assurance", + path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages" + } + ] + } + ] + }, + { + title: "Adobe Journey Optimizer Decisioning", + path: "/documentation/edge-extensions/adobe-journey-optimizer-decisioning", + pages: [ + { + title: "Overview", + path: "/documentation/edge-extensions/adobe-journey-optimizer-decisioning" + }, + { + title: "API reference", + path: "documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference" + }, + { + title: "Release notes", + path: "documentation/edge-extensions/adobe-journey-optimizer-decisioning/release-notes" + } + ] + }, { title: "Adobe Streaming Media for Edge Network", path: "/documentation/edge-extensions/media-for-edge-network", @@ -164,216 +283,305 @@ module.exports = { ] }, { - title: "Non-edge extensions", - path: "/documentation/non-edge-extensions", + title: "Solution specific extensions", + path: "/documentation/solution-extensions", pages: [ + { + title: 'Adobe Analytics', + path: '/documentation/solution-extensions/adobe-analytics/', + pages: [ + { + title: "Overview", + path: "/documentation/solution-extensions/adobe-analytics" + }, + { + title: 'Migrate to Edge Network', + path: '/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network' + }, + { + title: "API reference", + path: "/documentation/solution-extensions/adobe-analytics/api-reference" + }, + { + title: 'Event reference', + path: '/documentation/solution-extensions/adobe-analytics/event-reference' + }, + { + title: "Product variable", + path: "/documentation/solution-extensions/adobe-analytics/product-variable" + }, + { + title: "Tracking beacons", + path: "/documentation/solution-extensions/adobe-analytics/track-beacon" + }, + { + title: "Frequently asked questions", + path: "/documentation/solution-extensions/adobe-analytics/faq" + }, + { + title: 'Release notes', + path: '/documentation/solution-extensions/adobe-analytics/release-notes' + } + ] + }, { title: "Adobe Campaign Classic", - path: "/documentation/non-edge-extensions/adobe-campaign-classic", + path: "/documentation/solution-extensions/adobe-campaign-classic", + pages: [ + { + title: "Overview", + path: "/documentation/solution-extensions/adobe-campaign-classic" + }, + { + title: "API reference", + path: "documentation/solution-extensions/adobe-campaign-classic/api-reference" + }, + { + title: "Event reference", + path: "documentation/solution-extensions/adobe-campaign-classic/event-reference" + }, + { + title: "Release notes", + path: "documentation/solution-extensions/adobe-campaign-classic/release-notes" + } + ] + }, + { + title: "Adobe Campaign Standard", + path: "/documentation/solution-extensions/adobe-campaign-standard", + pages: [ + { + title: "Overview", + path: "/documentation/solution-extensions/adobe-campaign-standard" + }, + { + title: "API reference", + path: "documentation/solution-extensions/adobe-campaign-standard/api-reference" + }, + { + title: "Event reference", + path: "documentation/solution-extensions/adobe-campaign-standard/event-reference" + }, + { + title: "Campaign push notifications", + path: "documentation/solution-extensions/adobe-campaign-standard/push-notifications" + }, + { + title: "Release notes", + path: "documentation/solution-extensions/adobe-campaign-standard/release-notes" + } + ] + }, + { + title: "Adobe Audience Manager", + path: "/documentation/solution-extensions/adobe-audience-manager/", pages: [ { title: "Overview", - path: "/documentation/non-edge-extensions/adobe-campaign-classic" + path: "/documentation/solution-extensions/adobe-audience-manager/" }, { title: "API reference", - path: "documentation/non-edge-extensions/adobe-campaign-classic/api-reference" + path: "documentation/solution-extensions/adobe-audience-manager/api-reference" + }, + { + title: "Event reference", + path: "documentation/solution-extensions/adobe-audience-manager/event-reference" + }, + { + title: "Release notes", + path: "/documentation/solution-extensions/adobe-audience-manager/release-notes" + } + ] + }, + { + title: "Adobe Media Analytics", + path: "/documentation/solution-extensions/adobe-media-analytics", + pages: [ + { + title: "Overview", + path: "/documentation/solution-extensions/adobe-media-analytics" + }, + { + title: "API reference", + path: "documentation/solution-extensions/adobe-media-analytics/api-reference" + }, + { + title: "Release notes", + path: "documentation/solution-extensions/adobe-media-analytics/release-notes" + }, + { + title: "Migration Guide", + path: "/documentation/solution-extensions/adobe-media-analytics/migration-guide" + }, + ] + }, + { + title: "Adobe Target", + path: "/documentation/solution-extensions/adobe-target", + pages: [ + { + title: "Overview", + path: "/documentation/solution-extensions/adobe-target" + }, + { + title: "API reference", + path: "documentation/solution-extensions/adobe-target/api-reference" + }, + { + title: "Raw API reference", + path: "documentation/solution-extensions/adobe-target/raw-api-reference" }, { title: "Event reference", - path: "documentation/non-edge-extensions/adobe-campaign-classic/event-reference" + path: "documentation/solution-extensions/adobe-target/event-reference" }, { title: "Release notes", - path: "documentation/non-edge-extensions/adobe-campaign-classic/release-notes" + path: "documentation/solution-extensions/adobe-target/release-notes" } ] } ] }, { - title: "Mobile Foundation extensions", - path: "/documentation/mobile-foundation-extensions", + title: "Base extensions", + path: "/documentation/base-extensions", pages: [ { title: "Overview", - path: "/documentation/mobile-foundation-extensions" + path: "/documentation/base-extensions" }, { title: "Mobile Core", - path: "/documentation/mobile-core", + path: "/documentation/base-extensions/mobile-core", pages: [ { title: "Overview", - path: "/documentation/mobile-core" + path: "/documentation/base-extensions/mobile-core" }, { title: "Configuration", - path: "documentation/mobile-core/configuration", + path: "documentation/base-extensions/mobile-core/configuration", pages: [ { title: "Overview", - path: "documentation/mobile-core/configuration" + path: "documentation/base-extensions/mobile-core/configuration" }, { title: "API reference", - path: "documentation/mobile-core/configuration/api-reference" + path: "documentation/base-extensions/mobile-core/configuration/api-reference" } ] }, { title: "Identity", - path: "documentation/mobile-core/identity", + path: "documentation/base-extensions/mobile-core/identity", pages: [ { title: "Overview", - path: "documentation/mobile-core/identity" + path: "documentation/base-extensions/mobile-core/identity" }, { title: "API reference", - path: "documentation/mobile-core/identity/api-reference" + path: "documentation/base-extensions/mobile-core/identity/api-reference" }, { title: "Push identifier sync", - path: "documentation/mobile-core/identity/push-sync" + path: "documentation/base-extensions/mobile-core/identity/push-sync" } ] }, { title: "Lifecycle", - path: "documentation/mobile-core/lifecycle", + path: "documentation/base-extensions/mobile-core/lifecycle", pages: [ { title: "Overview", - path: "documentation/mobile-core/lifecycle" + path: "documentation/base-extensions/mobile-core/lifecycle" }, { title: "Lifecycle extension in Android", - path: "documentation/mobile-core/lifecycle/android" + path: "documentation/base-extensions/mobile-core/lifecycle/android" }, { title: "Lifecycle extension in iOS", - path: "documentation/mobile-core/lifecycle/ios" + path: "documentation/base-extensions/mobile-core/lifecycle/ios" }, { title: "API reference", - path: "documentation/mobile-core/lifecycle/api-reference" + path: "documentation/base-extensions/mobile-core/lifecycle/api-reference" }, { title: "Metrics", - path: "documentation/mobile-core/lifecycle/metrics" + path: "documentation/base-extensions/mobile-core/lifecycle/metrics" }, { title: "Configuration keys", - path: "documentation/mobile-core/lifecycle/configuration-keys" + path: "documentation/base-extensions/mobile-core/lifecycle/configuration-keys" } ] }, { title: "Platform services", - path: "documentation/mobile-core/platform-services", + path: "documentation/base-extensions/mobile-core/platform-services", pages: [ { title: "Overview", - path: "documentation/mobile-core/platform-services" + path: "documentation/base-extensions/mobile-core/platform-services" }, { title: "Network service", - path: "documentation/mobile-core/platform-services/network-service" + path: "documentation/base-extensions/mobile-core/platform-services/network-service" } ] }, { title: "Rules Engine", - path: "documentation/mobile-core/rules-engine", + path: "documentation/base-extensions/mobile-core/rules-engine", pages: [ { title: "Overview", - path: "documentation/mobile-core/rules-engine" + path: "documentation/base-extensions/mobile-core/rules-engine" }, { title: "Technical details", - path: "documentation/mobile-core/rules-engine/technical-details" + path: "documentation/base-extensions/mobile-core/rules-engine/technical-details" }, { title: "Consequence details", - path: "documentation/mobile-core/rules-engine/consequence-details" + path: "documentation/base-extensions/mobile-core/rules-engine/consequence-details" } ] }, { title: "Signal", - path: "documentation/mobile-core/signal", + path: "documentation/base-extensions/mobile-core/signal", pages: [ { title: "Overview", - path: "documentation/mobile-core/signal" + path: "documentation/base-extensions/mobile-core/signal" }, { title: "API reference", - path: "documentation/mobile-core/signal/api-reference" + path: "documentation/base-extensions/mobile-core/signal/api-reference" }, { title: "Signal and Rules Engine integration", - path: "documentation/mobile-core/signal/rules-engine-integration.md" + path: "documentation/base-extensions/mobile-core/signal/rules-engine-integration.md" } ] }, { title: "API reference", - path: "documentation/mobile-core/api-reference" + path: "documentation/base-extensions/mobile-core/api-reference" }, { title: "Release notes", - path: "documentation/mobile-core/release-notes" + path: "documentation/base-extensions/mobile-core/release-notes" } ] }, - { - title: "Adobe Experience Platform Edge Network", - path: "/documentation/edge-network", - pages: [ - { - title: "Overview", - path: "/documentation/edge-network" - }, - { - title: "API reference", - path: "/documentation/edge-network/api-reference" - }, - { - title: "XDM Experience Events", - path: "/documentation/edge-network/xdm-experience-events" - }, - { - title: "Validation", - path: "/documentation/edge-network/validation" - }, - { - title: "Release notes", - path: "/documentation/edge-network/release-notes" - } - ] - }, - { - title: "Consent for Edge Network", - path: "/documentation/consent-for-edge-network", - pages: [ - { - title: "Overview", - path: "/documentation/consent-for-edge-network" - }, - { - title: "API reference", - path: "documentation/consent-for-edge-network/api-reference" - }, - { - title: "Release notes", - path: "documentation/consent-for-edge-network/release-notes" - } - ] - }, - { title: "Adobe Experience Platform Assurance", path: "/documentation/platform-assurance-sdk", @@ -440,217 +648,6 @@ module.exports = { } ] }, - { - title: "Experience Cloud extensions", - path: "/documentation/experience-cloud-extensions", - pages: [ - { - title: "Overview", - path: "/documentation/experience-cloud-extensions" - }, - { - title: 'Adobe Analytics', - path: '/documentation/adobe-analytics/', - pages: [ - { - title: "Overview", - path: "/documentation/adobe-analytics" - }, - { - title: 'Migrate to Edge Network', - path: '/documentation/adobe-analytics/migrate-to-edge-network' - }, - { - title: "API reference", - path: "/documentation/adobe-analytics/api-reference" - }, - { - title: 'Event reference', - path: '/documentation/adobe-analytics/event-reference' - }, - { - title: "Product variable", - path: "/documentation/adobe-analytics/product-variable" - }, - { - title: "Tracking beacons", - path: "/documentation/adobe-analytics/track-beacon" - }, - { - title: "Frequently asked questions", - path: "/documentation/adobe-analytics/faq" - }, - { - title: 'Release notes', - path: '/documentation/adobe-analytics/release-notes' - } - ] - }, - { - title: "Adobe Media Analytics", - path: "/documentation/adobe-media-analytics", - pages: [ - { - title: "Overview", - path: "/documentation/adobe-media-analytics" - }, - { - title: "API reference", - path: "documentation/adobe-media-analytics/api-reference" - }, - { - title: "Release notes", - path: "documentation/adobe-media-analytics/release-notes" - }, - { - title: "Migration Guide", - path: "/documentation/adobe-media-analytics/migration-guide" - }, - ] - }, - { - title: "Adobe Audience Manager", - path: "/documentation/adobe-audience-manager/", - pages: [ - { - title: "Overview", - path: "/documentation/adobe-audience-manager/" - }, - { - title: "API reference", - path: "documentation/adobe-audience-manager/api-reference" - }, - { - title: "Event reference", - path: "documentation/adobe-audience-manager/event-reference" - }, - { - title: "Release notes", - path: "/documentation/adobe-audience-manager/release-notes" - } - ] - }, - - { - title: "Adobe Campaign Standard", - path: "/documentation/adobe-campaign-standard", - pages: [ - { - title: "Overview", - path: "/documentation/adobe-campaign-standard" - }, - { - title: "API reference", - path: "documentation/adobe-campaign-standard/api-reference" - }, - { - title: "Event reference", - path: "documentation/adobe-campaign-standard/event-reference" - }, - { - title: "Campaign push notifications", - path: "documentation/adobe-campaign-standard/push-notifications" - }, - { - title: "Release notes", - path: "documentation/adobe-campaign-standard/release-notes" - } - ] - }, - { - title: "Adobe Journey Optimizer", - path: "/documentation/adobe-journey-optimizer", - pages: [ - { - title: "Overview", - path: "/documentation/adobe-journey-optimizer" - }, - { - title: "API reference", - path: "documentation/adobe-journey-optimizer/api-reference" - }, - { - title: "Release notes", - path: "documentation/adobe-journey-optimizer/release-notes" - }, - { - title: "Public classes and enums", - path: "documentation/adobe-journey-optimizer/public-classes" - }, - { - title: "Tutorials", - path: "documentation/adobe-journey-optimizer/tutorials", - pages: [ - { - title: "Implement a MessagingDelegate", - path: "/documentation/adobe-journey-optimizer/tutorials/messaging-delegate" - }, - { - title: "Call native code from the JavaScript of an in-app message", - path: "/documentation/adobe-journey-optimizer/tutorials/native-from-javascript" - }, - { - title: "Execute Javascript methods from native code", - path: "/documentation/adobe-journey-optimizer/tutorials/javascript-from-native" - }, - { - title: "Handle URL clicks from an in-app message", - path: "/documentation/adobe-journey-optimizer/tutorials/handle-clicks" - }, - { - title: "Validate in-app messaging using Assurance", - path: "/documentation/adobe-journey-optimizer/tutorials/validate-messages" - } - ] - } - ] - }, - { - title: "Adobe Journey Optimizer Decisioning", - path: "/documentation/adobe-journey-optimizer-decisioning", - pages: [ - { - title: "Overview", - path: "/documentation/adobe-journey-optimizer-decisioning" - }, - { - title: "API reference", - path: "documentation/adobe-journey-optimizer-decisioning/api-reference" - }, - { - title: "Release notes", - path: "documentation/adobe-journey-optimizer-decisioning/release-notes" - } - ] - }, - { - title: "Adobe Target", - path: "/documentation/adobe-target", - pages: [ - { - title: "Overview", - path: "/documentation/adobe-target" - }, - { - title: "API reference", - path: "documentation/adobe-target/api-reference" - }, - { - title: "Raw API reference", - path: "documentation/adobe-target/raw-api-reference" - }, - { - title: "Event reference", - path: "documentation/adobe-target/event-reference" - }, - { - title: "Release notes", - path: "documentation/adobe-target/release-notes" - } - ] - } - ] - }, { title: "Resources", path: "/documentation/resources", diff --git a/src/pages/documentation/mobile-core/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/api-reference.md diff --git a/src/pages/documentation/mobile-core/configuration/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/configuration/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/configuration/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/configuration/api-reference.md diff --git a/src/pages/documentation/mobile-core/configuration/index.md b/src/pages/documentation/base-extensions/mobile-core/configuration/index.md similarity index 100% rename from src/pages/documentation/mobile-core/configuration/index.md rename to src/pages/documentation/base-extensions/mobile-core/configuration/index.md diff --git a/src/pages/documentation/mobile-core/configuration/tabs/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/configuration/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/configuration/tabs/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/configuration/tabs/api-reference.md diff --git a/src/pages/documentation/mobile-core/configuration/tabs/index.md b/src/pages/documentation/base-extensions/mobile-core/configuration/tabs/index.md similarity index 100% rename from src/pages/documentation/mobile-core/configuration/tabs/index.md rename to src/pages/documentation/base-extensions/mobile-core/configuration/tabs/index.md diff --git a/src/pages/documentation/mobile-core/identity/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/identity/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/identity/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/identity/api-reference.md diff --git a/src/pages/documentation/mobile-core/identity/assets/push-sync/push-analytics-optin.png b/src/pages/documentation/base-extensions/mobile-core/identity/assets/push-sync/push-analytics-optin.png similarity index 100% rename from src/pages/documentation/mobile-core/identity/assets/push-sync/push-analytics-optin.png rename to src/pages/documentation/base-extensions/mobile-core/identity/assets/push-sync/push-analytics-optin.png diff --git a/src/pages/documentation/mobile-core/identity/assets/push-sync/push-identities.png b/src/pages/documentation/base-extensions/mobile-core/identity/assets/push-sync/push-identities.png similarity index 100% rename from src/pages/documentation/mobile-core/identity/assets/push-sync/push-identities.png rename to src/pages/documentation/base-extensions/mobile-core/identity/assets/push-sync/push-identities.png diff --git a/src/pages/documentation/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png b/src/pages/documentation/base-extensions/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png similarity index 100% rename from src/pages/documentation/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png rename to src/pages/documentation/base-extensions/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png diff --git a/src/pages/documentation/mobile-core/identity/index.md b/src/pages/documentation/base-extensions/mobile-core/identity/index.md similarity index 100% rename from src/pages/documentation/mobile-core/identity/index.md rename to src/pages/documentation/base-extensions/mobile-core/identity/index.md diff --git a/src/pages/documentation/mobile-core/identity/push-sync.md b/src/pages/documentation/base-extensions/mobile-core/identity/push-sync.md similarity index 100% rename from src/pages/documentation/mobile-core/identity/push-sync.md rename to src/pages/documentation/base-extensions/mobile-core/identity/push-sync.md diff --git a/src/pages/documentation/mobile-core/identity/tabs/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/identity/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/identity/tabs/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/identity/tabs/api-reference.md diff --git a/src/pages/documentation/mobile-core/identity/tabs/index.md b/src/pages/documentation/base-extensions/mobile-core/identity/tabs/index.md similarity index 100% rename from src/pages/documentation/mobile-core/identity/tabs/index.md rename to src/pages/documentation/base-extensions/mobile-core/identity/tabs/index.md diff --git a/src/pages/documentation/mobile-core/identity/tabs/push-sync.md b/src/pages/documentation/base-extensions/mobile-core/identity/tabs/push-sync.md similarity index 100% rename from src/pages/documentation/mobile-core/identity/tabs/push-sync.md rename to src/pages/documentation/base-extensions/mobile-core/identity/tabs/push-sync.md diff --git a/src/pages/documentation/mobile-core/index.md b/src/pages/documentation/base-extensions/mobile-core/index.md similarity index 100% rename from src/pages/documentation/mobile-core/index.md rename to src/pages/documentation/base-extensions/mobile-core/index.md diff --git a/src/pages/documentation/mobile-core/lifecycle/android.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/android.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/android.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/android.md diff --git a/src/pages/documentation/mobile-core/lifecycle/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/api-reference.md diff --git a/src/pages/documentation/mobile-core/lifecycle/assets/android/android-crash.png b/src/pages/documentation/base-extensions/mobile-core/lifecycle/assets/android/android-crash.png similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/assets/android/android-crash.png rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/assets/android/android-crash.png diff --git a/src/pages/documentation/mobile-core/lifecycle/configuration-keys.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/configuration-keys.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/configuration-keys.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/configuration-keys.md diff --git a/src/pages/documentation/mobile-core/lifecycle/event-reference.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/event-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/event-reference.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/event-reference.md diff --git a/src/pages/documentation/mobile-core/lifecycle/index.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/index.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/index.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/index.md diff --git a/src/pages/documentation/mobile-core/lifecycle/ios.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/ios.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/ios.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/ios.md diff --git a/src/pages/documentation/mobile-core/lifecycle/metrics.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/metrics.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/metrics.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/metrics.md diff --git a/src/pages/documentation/mobile-core/lifecycle/tabs/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/tabs/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/api-reference.md diff --git a/src/pages/documentation/mobile-core/lifecycle/tabs/index.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/index.md similarity index 100% rename from src/pages/documentation/mobile-core/lifecycle/tabs/index.md rename to src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/index.md diff --git a/src/pages/documentation/mobile-core/platform-services/index.md b/src/pages/documentation/base-extensions/mobile-core/platform-services/index.md similarity index 100% rename from src/pages/documentation/mobile-core/platform-services/index.md rename to src/pages/documentation/base-extensions/mobile-core/platform-services/index.md diff --git a/src/pages/documentation/mobile-core/platform-services/network-service.md b/src/pages/documentation/base-extensions/mobile-core/platform-services/network-service.md similarity index 100% rename from src/pages/documentation/mobile-core/platform-services/network-service.md rename to src/pages/documentation/base-extensions/mobile-core/platform-services/network-service.md diff --git a/src/pages/documentation/mobile-core/platform-services/tabs/index.md b/src/pages/documentation/base-extensions/mobile-core/platform-services/tabs/index.md similarity index 100% rename from src/pages/documentation/mobile-core/platform-services/tabs/index.md rename to src/pages/documentation/base-extensions/mobile-core/platform-services/tabs/index.md diff --git a/src/pages/documentation/mobile-core/platform-services/tabs/network-service.md b/src/pages/documentation/base-extensions/mobile-core/platform-services/tabs/network-service.md similarity index 100% rename from src/pages/documentation/mobile-core/platform-services/tabs/network-service.md rename to src/pages/documentation/base-extensions/mobile-core/platform-services/tabs/network-service.md diff --git a/src/pages/documentation/mobile-core/release-notes.md b/src/pages/documentation/base-extensions/mobile-core/release-notes.md similarity index 100% rename from src/pages/documentation/mobile-core/release-notes.md rename to src/pages/documentation/base-extensions/mobile-core/release-notes.md diff --git a/src/pages/documentation/mobile-core/rules-engine/assets/index/rule-example.png b/src/pages/documentation/base-extensions/mobile-core/rules-engine/assets/index/rule-example.png similarity index 100% rename from src/pages/documentation/mobile-core/rules-engine/assets/index/rule-example.png rename to src/pages/documentation/base-extensions/mobile-core/rules-engine/assets/index/rule-example.png diff --git a/src/pages/documentation/mobile-core/rules-engine/consequence-details.md b/src/pages/documentation/base-extensions/mobile-core/rules-engine/consequence-details.md similarity index 100% rename from src/pages/documentation/mobile-core/rules-engine/consequence-details.md rename to src/pages/documentation/base-extensions/mobile-core/rules-engine/consequence-details.md diff --git a/src/pages/documentation/mobile-core/rules-engine/index.md b/src/pages/documentation/base-extensions/mobile-core/rules-engine/index.md similarity index 100% rename from src/pages/documentation/mobile-core/rules-engine/index.md rename to src/pages/documentation/base-extensions/mobile-core/rules-engine/index.md diff --git a/src/pages/documentation/mobile-core/rules-engine/technical-details.md b/src/pages/documentation/base-extensions/mobile-core/rules-engine/technical-details.md similarity index 100% rename from src/pages/documentation/mobile-core/rules-engine/technical-details.md rename to src/pages/documentation/base-extensions/mobile-core/rules-engine/technical-details.md diff --git a/src/pages/documentation/mobile-core/signal/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/signal/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/signal/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/signal/api-reference.md diff --git a/src/pages/documentation/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png b/src/pages/documentation/base-extensions/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png similarity index 100% rename from src/pages/documentation/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png rename to src/pages/documentation/base-extensions/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png diff --git a/src/pages/documentation/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png b/src/pages/documentation/base-extensions/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png similarity index 100% rename from src/pages/documentation/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png rename to src/pages/documentation/base-extensions/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png diff --git a/src/pages/documentation/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png b/src/pages/documentation/base-extensions/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png similarity index 100% rename from src/pages/documentation/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png rename to src/pages/documentation/base-extensions/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png diff --git a/src/pages/documentation/mobile-core/signal/index.md b/src/pages/documentation/base-extensions/mobile-core/signal/index.md similarity index 100% rename from src/pages/documentation/mobile-core/signal/index.md rename to src/pages/documentation/base-extensions/mobile-core/signal/index.md diff --git a/src/pages/documentation/mobile-core/signal/rules-engine-integration.md b/src/pages/documentation/base-extensions/mobile-core/signal/rules-engine-integration.md similarity index 100% rename from src/pages/documentation/mobile-core/signal/rules-engine-integration.md rename to src/pages/documentation/base-extensions/mobile-core/signal/rules-engine-integration.md diff --git a/src/pages/documentation/mobile-core/signal/tabs/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/signal/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/signal/tabs/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/signal/tabs/api-reference.md diff --git a/src/pages/documentation/mobile-core/signal/tabs/index.md b/src/pages/documentation/base-extensions/mobile-core/signal/tabs/index.md similarity index 100% rename from src/pages/documentation/mobile-core/signal/tabs/index.md rename to src/pages/documentation/base-extensions/mobile-core/signal/tabs/index.md diff --git a/src/pages/documentation/mobile-core/tabs/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/mobile-core/tabs/api-reference.md rename to src/pages/documentation/base-extensions/mobile-core/tabs/api-reference.md diff --git a/src/pages/documentation/platform-assurance-sdk/api-reference.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/api-reference.md similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/api-reference.md rename to src/pages/documentation/base-extensions/platform-assurance-sdk/api-reference.md diff --git a/src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-connection-error.png b/src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-connection-error.png similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-connection-error.png rename to src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-connection-error.png diff --git a/src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-invalid-configuration-error.png b/src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-invalid-configuration-error.png similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-invalid-configuration-error.png rename to src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-invalid-configuration-error.png diff --git a/src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-pin.png b/src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-pin.png similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-pin.png rename to src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-pin.png diff --git a/src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-pincode.png b/src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-pincode.png similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-pincode.png rename to src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-pincode.png diff --git a/src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-unauthorized-access-error.png b/src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-unauthorized-access-error.png similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/assets/common-issues/assurance-unauthorized-access-error.png rename to src/pages/documentation/base-extensions/platform-assurance-sdk/assets/common-issues/assurance-unauthorized-access-error.png diff --git a/src/pages/documentation/platform-assurance-sdk/assets/index/assurance-extension.png b/src/pages/documentation/base-extensions/platform-assurance-sdk/assets/index/assurance-extension.png similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/assets/index/assurance-extension.png rename to src/pages/documentation/base-extensions/platform-assurance-sdk/assets/index/assurance-extension.png diff --git a/src/pages/documentation/platform-assurance-sdk/common-issues.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/common-issues.md similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/common-issues.md rename to src/pages/documentation/base-extensions/platform-assurance-sdk/common-issues.md diff --git a/src/pages/documentation/platform-assurance-sdk/index.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/index.md similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/index.md rename to src/pages/documentation/base-extensions/platform-assurance-sdk/index.md diff --git a/src/pages/documentation/platform-assurance-sdk/release-notes.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/release-notes.md similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/release-notes.md rename to src/pages/documentation/base-extensions/platform-assurance-sdk/release-notes.md diff --git a/src/pages/documentation/platform-assurance-sdk/tabs/api-reference.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/tabs/api-reference.md rename to src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/api-reference.md diff --git a/src/pages/documentation/platform-assurance-sdk/tabs/common-issues.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/common-issues.md similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/tabs/common-issues.md rename to src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/common-issues.md diff --git a/src/pages/documentation/platform-assurance-sdk/tabs/index.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/index.md similarity index 100% rename from src/pages/documentation/platform-assurance-sdk/tabs/index.md rename to src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/index.md diff --git a/src/pages/documentation/profile/api-reference.md b/src/pages/documentation/base-extensions/profile/api-reference.md similarity index 100% rename from src/pages/documentation/profile/api-reference.md rename to src/pages/documentation/base-extensions/profile/api-reference.md diff --git a/src/pages/documentation/profile/assets/index/configuration.png b/src/pages/documentation/base-extensions/profile/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/profile/assets/index/configuration.png rename to src/pages/documentation/base-extensions/profile/assets/index/configuration.png diff --git a/src/pages/documentation/profile/index.md b/src/pages/documentation/base-extensions/profile/index.md similarity index 100% rename from src/pages/documentation/profile/index.md rename to src/pages/documentation/base-extensions/profile/index.md diff --git a/src/pages/documentation/profile/release-notes.md b/src/pages/documentation/base-extensions/profile/release-notes.md similarity index 100% rename from src/pages/documentation/profile/release-notes.md rename to src/pages/documentation/base-extensions/profile/release-notes.md diff --git a/src/pages/documentation/profile/tabs/api-reference.md b/src/pages/documentation/base-extensions/profile/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/profile/tabs/api-reference.md rename to src/pages/documentation/base-extensions/profile/tabs/api-reference.md diff --git a/src/pages/documentation/profile/tabs/index.md b/src/pages/documentation/base-extensions/profile/tabs/index.md similarity index 100% rename from src/pages/documentation/profile/tabs/index.md rename to src/pages/documentation/base-extensions/profile/tabs/index.md diff --git a/src/pages/documentation/consent-for-edge-network/api-reference.md b/src/pages/documentation/consent-for-edge-network/api-reference.md deleted file mode 100644 index 2bb7425957..0000000000 --- a/src/pages/documentation/consent-for-edge-network/api-reference.md +++ /dev/null @@ -1,68 +0,0 @@ ---- -title: Consent for Edge Network API reference -description: An API reference for the Consent for Edge Network mobile extension. -keywords: -- API reference -- Consent for Edge Network -- Edge Network ---- - -import Tabs from './tabs/api-reference.md' - -# API Reference - -## extensionVersion - -The extensionVersion() API returns the version of the client-side Consent extension. - - - -Android - - - -iOS - - - -## getConsents - -Retrieves the current consent preferences stored in the Consent extension. - - - -Android - - - -iOS - - - -## registerExtension - - - -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. - - - -Android - - - -## updateConsents - -Merges the existing consents with the given consents. Duplicate keys will take the value of those passed in the API. - - - -Android - - - -iOS - - - -For additional information about the management of consent preferences, please refer to the [Privacy and GDPR documentation](../resources/privacy-and-gdpr.md#using-experience-platform-sdks-for-edge-network). diff --git a/src/pages/documentation/consent-for-edge-network/assets/index/configuration.png b/src/pages/documentation/consent-for-edge-network/assets/index/configuration.png deleted file mode 100644 index c750b9d9fd2cba922decd4caf19a83df2c406bd0..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 75216 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 WI!mwG_&E2#Kj+o8)pAwL?*Bi~G(9Q+ diff --git a/src/pages/documentation/consent-for-edge-network/index.md b/src/pages/documentation/consent-for-edge-network/index.md deleted file mode 100644 index 19d9dd12b4..0000000000 --- a/src/pages/documentation/consent-for-edge-network/index.md +++ /dev/null @@ -1,66 +0,0 @@ ---- -title: Consent for Edge Network overview -description: An overview for the Consent for Edge Network mobile extension. -keywords: -- Consent for Edge Network -- Edge Network -- Product overview ---- - -import Tabs from './tabs/index.md' - -# Consent for Edge Network - -The Adobe Experience Platform Consent mobile extension enables consent preferences collection from your mobile app when using the [Adobe Experience Platform Mobile SDK](../mobile-core/index.md) and the [Edge Network extension](../edge-network/index.md). - -## Configure the Adobe Experience Platform Consent extension in Data Collection UI - -1. In Data Collection UI, in your mobile property, select the **Extensions** tab. -2. On the **Catalog** tab, locate or search for the **Consent** extension, and select **Install**. -3. Set your desired default consent level. -4. Select **Save**. -5. Follow the [publishing process](../getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. - -![AEP Consent extension configuration](./assets/index/configuration.png) - - - -In order to ingest and use the data collected by this extension, follow the guide on [ingesting data using the Consents and Preferences data type](https://experienceleague.adobe.com/docs/experience-platform/xdm/data-types/consents.html#ingest). - - - -The use of this extension is currently limited to the setting (and enforcement) of client-side, macro consent flags. While SDK APIs allow for granular and global consent preference collection, flags are not consistently enforced with upstream applications and therefore will not accommodate use cases that rely on global/granular consent preferences. - -## Add the AEP Consent extension to your app - -### Download and import the Consent extension - - - -Android - - - -iOS - - - -### Register Edge extensions with Mobile Core - - - -Android - - - -iOS - - - -## Configuration keys - -To update the SDK configuration programmatically, use the following information to change the Edge Consent configuration values. - -| Key | Required | Description | Data Type | -| :--- | :--- | :--- | :--- | -| consent.default | No | Consents in XDM format. For more details, see [Privacy/Personalization/Marketing Preferences (Consents) Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/profile/profile-consents.schema.md). | Map | diff --git a/src/pages/documentation/consent-for-edge-network/release-notes.md b/src/pages/documentation/consent-for-edge-network/release-notes.md deleted file mode 100644 index 0f73142308..0000000000 --- a/src/pages/documentation/consent-for-edge-network/release-notes.md +++ /dev/null @@ -1,55 +0,0 @@ ---- -title: Consent for Edge Network release notes -description: The release notes for the Consent for Edge Network mobile extension. -keywords: -- Consent for Edge Network -- Edge Network -- Release notes ---- - -# Release Notes - -## June 1, 2023 - -### iOS Consent 4.0.0 - -Major version update for [Consent for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: - -* Updated the minimum supported version to iOS 11.0 and tvOS 11.0. -* Include XCFrameworks built with Xcode 14.1 with the GitHub release. - -## March 1, 2023 - -### iOS AEPEdgeConsent 1.1.0 - -* Added tvOS support. - -## January 31, 2023 - -### Android Consent 2.0.0 - -* Major version update for [Consent for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeconsent-android). - -## April 8, 2022 - -### iOS AEPEdgeConsent 1.0.1 - -* Updates timestamp in Consent requests to use fractional seconds. - -## March 11, 2022 - -### Android Consent 1.0.1 - -* Updates timestamp in Consent requests to use fractional seconds. - -## April 12, 2021 - -### Consent tags Extension - -You can now find the `Consent` extension in the tags extensions catalog for mobile properties. - -## April 5, 2021 - -### iOS & Android Consent 1.0.0 - -The Adobe Experience Platform Consent (AEPEdgeConsent) mobile extension is now available in iOS and Android! This extension enables consent preferences collection from your mobile app when using the Adobe Experience Platform Mobile SDK and the Edge Network extension. diff --git a/src/pages/documentation/consent-for-edge-network/tabs/api-reference.md b/src/pages/documentation/consent-for-edge-network/tabs/api-reference.md deleted file mode 100644 index 13133576e8..0000000000 --- a/src/pages/documentation/consent-for-edge-network/tabs/api-reference.md +++ /dev/null @@ -1,296 +0,0 @@ ---- -noIndex: true ---- - - - -#### Java - -**Syntax** - -```java -public static String extensionVersion(); -``` - -**Example** - -```java -String extensionVersion = Consent.extensionVersion(); -``` - -#### Kotlin - -**Example** - -```java -val extensionVersion = Consent.extensionVersion() -``` - - - -#### Swift - -**Syntax** - -```swift -static var extensionVersion: String -``` - -**Example** - -```swift -let extensionVersion = Consent.extensionVersion -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (nonnull NSString*) extensionVersion; -``` - -**Example** - -```objectivec -NSString *extensionVersion = [AEPMobileEdgeConsent extensionVersion]; -``` - - - -#### Java - -**Syntax** - -```java -public static void getConsents(final AdobeCallback> callback); -``` - -* _callback_ - callback invoked with the current consents of the extension. If an `AdobeCallbackWithError` is provided, an `AdobeError`, can be returned in the eventuality of any error that occurred while getting the user consents. The callback may be invoked on a different thread. - -**Example** - -```java -Consent.getConsents(new AdobeCallback>() { - @Override - public void call(Map currentConsents) { - // Handle currentConsents - } -}); -``` - -#### Kotlin - -**Example** - -```java -Consent.getConsents { currentConsents -> - // Handle currentConsents -} -``` - - - -#### Swift - -**Syntax** - -```swift -static func getConsents(completion: @escaping ([String: Any]?, Error?) -> Void) -``` - -* _completion_ - Invoked with the current consent preferences or an `AEPError` if an unexpected error occurs or the request timed out. It may be invoked on a different thread. - -**Example** - -```swift -Consent.getConsents { currentConsents, error in - // Handle currentConsents -} -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) getConsents:^ (NSDictionary * _Nullable, NSError * _Nullable) -``` - -**Example** - -```objectivec -[AEPMobileEdgeConsent getConsents:^(NSDictionary *currentConsents, NSError *error){ - // Handle currentConsents -}]; -``` - - - -#### Java - -**Syntax** - -```java -public static void registerExtension(); -``` - -**Example** - -```java -Consent.registerExtension(); -``` - - - -#### Swift - -Use the MobileCore API to register the Edge Consent extension. - -**Syntax** - -```swift -static func registerExtensions(_ extensions: [NSObject.Type], - _ completion: (() -> Void)? = nil) -``` - -**Example** - -```swift -import AEPEdgeConsent - -... -MobileCore.registerExtensions([Consent.self]) -``` - -#### Objective-C - -Use the AEPMobileCore API to register the Edge Consent extension. - -**Syntax** - -```objectivec -+ (void) registerExtensions: (NSArray* _Nonnull) extensions - completion: (void (^ _Nullable)(void)) completion; -``` - -**Example** - -```objectivec -@import AEPEdgeConsent; - -... -[AEPMobileCore registerExtensions:@[AEPMobileEdgeConsent.class] completion:nil]; -``` - - - -#### Java - -**Syntax** - -```java -public static void update(final Map consents); -``` - -* _consents_ - A `Map` of consents defined based on [Privacy/Personalization/Marketing Preferences \(Consents\) XDM Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/profile/profile-consents.schema.md). - -**Example** - -```java -// Example 1, updating users collect consent to 'yes' -final Map collectConsents = new HashMap<>(); -collectConsents.put("collect", new HashMap() { - { - put("val", "y"); - } -}); - -final Map consents = new HashMap<>(); -consents.put("consents", collectConsents); - -Consent.update(consents); - -// Example 2, updating users collect consent to 'no' -final Map collectConsents = new HashMap<>(); -collectConsents.put("collect", new HashMap() { - { - put("val", "n"); - } -}); - -final Map consents = new HashMap<>(); -consents.put("consents", collectConsents); - -Consent.update(consents); -``` - -#### Kotlin - -**Example** - -```java -// Example 1, updating users collect consent to 'yes' -val collectConsents = mutableMapOf() -collectConsents["collect"] = mutableMapOf("val" to "y") - -val consents = mutableMapOf() -consents["consents"] = collectConsents - -Consent.update(consents) - -// Example 2, updating users collect consent to 'no' -val collectConsents = mutableMapOf() -collectConsents["collect"] = mutableMapOf("val" to "n") - -val consents = mutableMapOf() -consents["consents"] = collectConsents - -Consent.update(consents) -``` - - - -#### Swift - -**Syntax** - -```swift -static func update(with consents: [String: Any]) -``` - -* _consents_ - A `[String: Any]` of consents defined based on [Privacy/Personalization/Marketing Preferences \(Consents\) XDM Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/profile/profile-consents.schema.md). - -**Example** - -```swift -// Example 1, updating users collect consent to 'yes' -let collectConsent = ["collect": ["val": "y"]] -let currentConsents = ["consents": collectConsent] -Consent.update(with: currentConsents) - -// Example 2, updating users collect consent to 'no' -let collectConsent = ["collect": ["val": "n"]] -let currentConsents = ["consents": collectConsent] -Consent.update(with: currentConsents) -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) updateWithConsents:(NSDictionary * _Nonnull) -``` - -**Example** - -```objc -// Example 1, updating users collect consent to 'yes' -NSDictionary *collectConsent = @{ @"collect": @{@"val": @"y"}; -[AEPMobileEdgeConsent updateWithConsents:@{@"consents": collectConsent}]; - -// Example 2, updating users collect consent to 'no' -NSDictionary *collectConsent = @{ @"collect": @{@"val": @"n"}; -[AEPMobileEdgeConsent updateWithConsents:@{@"consents": collectConsent}]; -``` diff --git a/src/pages/documentation/consent-for-edge-network/tabs/index.md b/src/pages/documentation/consent-for-edge-network/tabs/index.md deleted file mode 100644 index 46552dc4cb..0000000000 --- a/src/pages/documentation/consent-for-edge-network/tabs/index.md +++ /dev/null @@ -1,134 +0,0 @@ ---- -noIndex: true ---- - -import Alerts from '/src/pages/documentation/resources/alerts.md' - - - -1. Add the Mobile Core and Edge extensions to your project using the app's Gradle file. - -```java -implementation platform('com.adobe.marketing.mobile:sdk-bom:2.+') -implementation 'com.adobe.marketing.mobile:core' -implementation 'com.adobe.marketing.mobile:edge' -implementation 'com.adobe.marketing.mobile:edgeidentity' -implementation 'com.adobe.marketing.mobile:edgeconsent' -``` - - - -2. Import the Mobile Core and Edge extensions in your Application class. - -```java -import com.adobe.marketing.mobile.MobileCore; -import com.adobe.marketing.mobile.Edge; -import com.adobe.marketing.mobile.edge.identity.Identity; -import com.adobe.marketing.mobile.edge.consent.Consent; -``` - - - -1. Add the Mobile Core and Edge extensions to your project using Cocoapods. Add following pods in your `Podfile`: - -```swift -use_frameworks! -target 'YourTargetApp' do - pod 'AEPCore' - pod 'AEPEdge' - pod 'AEPEdgeIdentity' - pod 'AEPEdgeConsent' -end -``` - -2. Import the Mobile Core and Edge libraries: - -**Swift** - -```swift -// AppDelegate.swift -import AEPCore -import AEPEdge -import AEPEdgeIdentity -import AEPEdgeConsent -``` - -**Objective-C** - -```objectivec -// AppDelegate.h -@import AEPCore; -@import AEPEdge; -@import AEPEdgeIdentity; -@import AEPEdgeConsent; -``` - - - -#### Java - -```java -public class MainApp extends Application { - - private final String ENVIRONMENT_FILE_ID = "YOUR_APP_ENVIRONMENT_ID"; - - @Override - public void onCreate() { - super.onCreate(); - - MobileCore.setApplication(this); - MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID); - - MobileCore.registerExtensions( - Arrays.asList(Consent.EXTENSION, Identity.EXTENSION, Edge.EXTENSION), - o -> Log.d("MainApp", "Adobe Experience Platform Mobile SDK was initialized") - ); - } -} -``` - -#### Kotlin - -```java -class MainApp : Application() { - - override fun onCreate() { - super.onCreate() - - MobileCore.setApplication(this) - MobileCore.configureWithAppID("YOUR_APP_ENVIRONMENT_ID") - - val extensions = listOf(Consent.EXTENSION, Identity.EXTENSION, Edge.EXTENSION) - MobileCore.registerExtensions(extensions) { - Log.d("MainApp", "Adobe Experience Platform Mobile SDK was initialized") - } - } - -} -``` - - - -**Swift** - -```swift -// AppDelegate.swift -func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - MobileCore.registerExtensions([Identity.self, Edge.self, Consent.self], { - MobileCore.configureWith(appId: "yourAppId") - }) - ... -} -``` - -**Objective-C** - -```objectivec -// AppDelegate.m -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileEdge.class, AEPMobileEdgeConsent.class] completion:^{ - [AEPMobileCore configureWithAppId: @"yourAppId"]; - }]; - ... -} -``` diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/api-reference.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/api-reference.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/configuration.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/configuration.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration.png diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/index.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/release-notes.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/release-notes.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/release-notes.md diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/tabs/api-reference.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/tabs/api-reference.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-journey-optimizer-decisioning/tabs/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer-decisioning/tabs/index.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md diff --git a/src/pages/documentation/adobe-journey-optimizer/api-reference.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/api-reference.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md diff --git a/src/pages/documentation/adobe-journey-optimizer/assets/index/configuration.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/assets/index/configuration.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/configuration.png diff --git a/src/pages/documentation/adobe-journey-optimizer/assets/index/update-datastream.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/update-datastream.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/assets/index/update-datastream.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/update-datastream.png diff --git a/src/pages/documentation/adobe-journey-optimizer/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/index.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md diff --git a/src/pages/documentation/adobe-journey-optimizer/public-classes.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/public-classes.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/public-classes.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/public-classes.md diff --git a/src/pages/documentation/adobe-journey-optimizer/release-notes.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/release-notes.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/release-notes.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tabs/api-reference.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tabs/api-reference.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tabs/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tabs/index.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tabs/public-classes.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/public-classes.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tabs/public-classes.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/public-classes.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/handle-clicks.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/handle-clicks.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/handle-clicks.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/handle-clicks.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/index.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/index.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/index.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/javascript-from-native.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/javascript-from-native.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/javascript-from-native.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/javascript-from-native.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/messaging-delegate.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/messaging-delegate.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/messaging-delegate.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/messaging-delegate.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/native-from-javascript.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/native-from-javascript.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/native-from-javascript.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/native-from-javascript.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md diff --git a/src/pages/documentation/adobe-journey-optimizer/tutorials/validate-messages.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md similarity index 100% rename from src/pages/documentation/adobe-journey-optimizer/tutorials/validate-messages.md rename to src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md diff --git a/src/pages/documentation/edge-network/api-reference.md b/src/pages/documentation/edge-extensions/edge-network/api-reference.md similarity index 100% rename from src/pages/documentation/edge-network/api-reference.md rename to src/pages/documentation/edge-extensions/edge-network/api-reference.md diff --git a/src/pages/documentation/edge-network/assets/index/configuration.png b/src/pages/documentation/edge-extensions/edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-network/assets/index/configuration.png rename to src/pages/documentation/edge-extensions/edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/edge-network/index.md b/src/pages/documentation/edge-extensions/edge-network/index.md similarity index 100% rename from src/pages/documentation/edge-network/index.md rename to src/pages/documentation/edge-extensions/edge-network/index.md diff --git a/src/pages/documentation/edge-network/release-notes.md b/src/pages/documentation/edge-extensions/edge-network/release-notes.md similarity index 100% rename from src/pages/documentation/edge-network/release-notes.md rename to src/pages/documentation/edge-extensions/edge-network/release-notes.md diff --git a/src/pages/documentation/edge-network/tabs/api-reference.md b/src/pages/documentation/edge-extensions/edge-network/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/edge-network/tabs/api-reference.md rename to src/pages/documentation/edge-extensions/edge-network/tabs/api-reference.md diff --git a/src/pages/documentation/edge-network/tabs/index.md b/src/pages/documentation/edge-extensions/edge-network/tabs/index.md similarity index 97% rename from src/pages/documentation/edge-network/tabs/index.md rename to src/pages/documentation/edge-extensions/edge-network/tabs/index.md index dc03a0aeb0..02a477e078 100644 --- a/src/pages/documentation/edge-network/tabs/index.md +++ b/src/pages/documentation/edge-extensions/edge-network/tabs/index.md @@ -2,7 +2,7 @@ noIndex: true --- -import Alerts from '../../resources/alerts.md' +import Alerts from '/src/pages/documentation/resources/alerts.md' diff --git a/src/pages/documentation/edge-network/validation.md b/src/pages/documentation/edge-extensions/edge-network/validation.md similarity index 100% rename from src/pages/documentation/edge-network/validation.md rename to src/pages/documentation/edge-extensions/edge-network/validation.md diff --git a/src/pages/documentation/edge-network/xdm-experience-events.md b/src/pages/documentation/edge-extensions/edge-network/xdm-experience-events.md similarity index 100% rename from src/pages/documentation/edge-network/xdm-experience-events.md rename to src/pages/documentation/edge-extensions/edge-network/xdm-experience-events.md diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md deleted file mode 100644 index bfb8a6c0c5..0000000000 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md +++ /dev/null @@ -1,260 +0,0 @@ ---- -title: Identity for Edge Network API reference -description: An API reference for the Identity for Edge Network mobile extension. -keywords: -- API reference -- Edge Network -- Identity for Edge Network ---- - -import Tabs from './tabs/api-reference.md' - -# API Reference - -## extensionVersion - -The extensionVersion() API returns the version of the Identity for Edge Network extension. - - - -Android - - - -iOS - - - -## getExperienceCloudId - -This API retrieves the Experience Cloud ID (ECID) that was generated when the app was initially launched. This ID is preserved between app upgrades, is saved and restored during the standard application backup process, and is removed at uninstall. - - - -Android - - - -iOS - - - -## getIdentities - -Get all identities in the Identity for Edge Network extension, including customer identifiers which were previously added. - - - -Android - - - -iOS - - - -## getUrlVariables - - - -This API is available with version 1.1.0 and above. - -Returns the identifiers in a URL's query parameters for consumption in **hybrid mobile applications**. The response will **not** return any leading `&` or `?`, since the caller is responsible for placing the variables in the resulting URL in the correct locations. If an error occurs while retrieving the URL variables, the callback handler will return a `null` value. Otherwise, the encoded string is returned. - -An example of an encoded string is as follows: `"adobe_mc=TS%3DTIMESTAMP_VALUE%7CMCMID%3DYOUR_ECID%7CMCORGID%3D9YOUR_EXPERIENCE_CLOUD_ID"` - -* `MCMID`: This is also known as the Experience Cloud ID (ECID). -* `MCORGID`: This is also known as the Experience Cloud Organization ID. -* `TS`: The timestamp that is taken when the request was made. - - - -Android - - - -iOS - - - -## registerExtension - - - -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. - - - -Android - - - -## removeIdentity - -Remove the identity from the stored client-side [IdentityMap](#identitymap). The Identity extension will stop sending the identifier to the Edge Network. Using this API does not remove the identifier from the server-side User Profile Graph or Identity Graph. - -Identities with an empty _id_ or _namespace_ are not allowed and are ignored. - -Removing identities using a reserved namespace is not allowed using this API. The reserved namespaces are: - -* ECID -* IDFA -* GAID - - - -Android - - - -iOS - - - -## resetIdentities - -Clears all identities stored in the Identity extension and generates a new Experience Cloud ID (ECID). Using this API does not remove the identifiers from the server-side User Profile Graph or Identity Graph. - -This is a destructive action, since once an ECID is removed it cannot be reused. The new ECID generated by this API can increase metrics like unique visitors when a new user profile is created. - -Some example use cases for this API are: - -* During debugging, to see how new ECIDs (and other identifiers paired with it) behave with existing rules and metrics. -* A last-resort reset for when an ECID should no longer be used. - -This API is **not** recommended for: - -* Resetting a user's consent and privacy settings; see [Privacy and GDPR](../resources/privacy-and-gdpr.md). -* Removing existing custom identifiers; use the [`removeIdentity`](#removeidentity) API instead. -* Removing a previously synced advertising identifier after the advertising tracking settings were changed by the user; use the [`setAdvertisingIdentifier`](../mobile-core/identity/api-reference.md#setadvertisingidentifier) API instead. - - - -The Identity for Edge Network extension does not read the Mobile SDK's privacy status, and therefore setting the SDK's privacy status to opt-out will not automatically clear the identities from the Identity for Edge Network extension. - -See [`MobileCore.resetIdentities`](../mobile-core/api-reference.md#resetidentities) for more details. - -## setAdvertisingIdentifier - -When this API is called with a valid advertising identifier, the Identity for Edge Network extension includes the advertising identifier in the XDM Identity Map using the namespace `GAID` (Google Advertising ID) in Android and `IDFA` (Identifier for Advertisers) in iOS. If the API is called with the empty string (`""`), `null`/`nil`, or the all-zeros UUID string values, the advertising identifier is removed from the XDM Identity Map (if previously set). - -The advertising identifier is preserved between app upgrades, is saved and restored during the standard application backup process, and is removed at uninstall. - - - -Android - - - -iOS - - - -## updateIdentities - -Update the currently known identities within the SDK. The Identity extension will merge the received identifiers with the previously saved ones in an additive manner; no identities are removed by this API. - -Identities with an empty _id_ or _namespace_ are not allowed and are ignored. - -Updating identities using a reserved namespace is not allowed using this API. The reserved namespaces are: - -* ECID -* IDFA -* GAID - - - -Android - - - -iOS - - - -## Public Classes - -### IdentityMap - -Defines a map containing a set of end user identities, keyed on either namespace integration code or the namespace ID of the identity. The values of the map are an array, meaning that more than one identity of each namespace may be carried. - -The format of the IdentityMap class is defined by the [XDM Identity Map Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/shared/identitymap.schema.md). - -For more information, please read an overview of the [Identity Service](https://experienceleague.adobe.com/docs/experience-platform/identity/home.html). - -```json -"identityMap" : { - "Email" : [ - { - "id" : "user@example.com", - "authenticatedState" : "authenticated", - "primary" : false - } - ], - "Phone" : [ - { - "id" : "1234567890", - "authenticatedState" : "ambiguous", - "primary" : false - }, - { - "id" : "5557891234", - "authenticatedState" : "ambiguous", - "primary" : false - } - ], - "ECID" : [ - { - "id" : "44809014977647551167356491107014304096", - "authenticatedState" : "ambiguous", - "primary" : true - } - ] - } -``` - - - -Android - - - -iOS - - - -### IdentityItem - -Defines an identity to be included in an [IdentityMap](#identitymap). - -The format of the IdentityItem class is defined by the [XDM Identity Item Schema](https://github.com/adobe/xdm/blob/master/docs/reference/datatypes/identityitem.schema.md). - - - -Android - - - -iOS - - - -### AuthenticatedState - -Defines the state an [Identity Item](#identityitem) is authenticated for. - -The possible authenticated states are: - -* Ambiguous - the state is ambiguous or not defined -* Authenticated - the user is identified by a login or similar action -* LoggedOut - the user was identified by a login action at a previous time, but is not logged in now - - - -Android - - - -iOS - - diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png b/src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png deleted file mode 100644 index 1d91105baf627461334ba1554591f9729787e577..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 51462 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%0Dp-VgxwVIhtV>L`klqjID zM1M5F1*5FdXYbs&3?*lbu&L}bid~SSeY+U(nfv5k+wDn}^dKkIL4H0lIa;f)l&3G7 z6Acf1wJc@7M6`ugv==;^sSS~i4Dn{b+|Eihs9xk?s9}mRVU3Zd%Hv~qbJp43s{E=a zZ`{vza{Jw=3=f|zJ29>D>u@dU#8Att>wiB(kK=Of#8FcP($w*K32FD9+zo-YDRb|= zmLhDb7=;F%n}Zw!KUrhdpE%}qxzN@bSQ+q3VN{34tm`dzmXBVdGD2ak#}nM{u}6&K zs}h}IueH%DVeQH>F3273a!~i;swbU8LUPFnADepAa7wCZrmMOv_F@|w!*_Cb(JQIx zPBM-qve0o*3{1vfN~??M6)hVdLy^F>LX=}+Ld3~XVM?Q1rB#OfO^*0-x&6Ns(vvO7 zyT{4g0uE#ix8Fp1GVr#I=`_n@>cCWM+BJPAq%OpHXiPeo;WL>*cEI+&`yim_9%!n3 zv8A=i9B*e7&ReQIXAd3rnSN@G9ln*y+wxT>Rc=2%r1IUdw>oJFx-@JmYIAT)QbKpJ zNOtIsN_-1SEs0!Y3t;9ac*1i%5|%SozmjogF#-n`OX_BL8-f6EJlL62$Go^dNPD9U8I&wUY5Upk}a-ki1BXBBj_3sXZnFiiD z0hOB=me&`InJX?6{G$Zi)@}H`kwFGUrNew$Q zY{aMrFOn|)qxl$QN0c6DKKXi~M+Y+ncQ7|J+S-irDZjwxE0F;e1Ao13hDd!sI|Rf9 z?fGQC&%;Ibk1U#oW$*@E8V)Tj%+i*H{pm#-cx0I)=UR6ovI>cSc-f8~P7ktxY&kPG z_RMH^yKJtg`1Bxpdzfs|fbvD`f`jj)zlJ6X=iLYxuv%`>-%3yZ(W2mAV&lq7)z8Sh zFF~Bm5n*Hnz5xg4c}7Qb$3q~&;EmjJd3u=3K_}zHo$b|%AaS|0*PTJTFXDB7P$xLl z#A=?#s_b8@-5GK)VniNy;kV>BNm?PN zQ&iW;z}mf)c|6)Bb>QH{+S2wc!@}N|mZ7DtZ4tmgn-7uKS~mk!aB?Ttjpf{b$)mUJ zRpW+J0)*MrHKm2)og#-rtP_Z+g?GP#2z!yeVe%x@NOTvLP=!6X%X@!^PXvgnD@M#c zHqrRIEKhHeJ8E09)a;?-=iyTu0*3^(rk$}!R>a1g$zI}CmUvWwWgj3KKa<5i^WRYC zEF;6pMP-C`eosvTus&xvs^I?qnXs?_xlXV8uhr`3P^-|>c8K!ywQL zn{OQobr9hp_u0uau*1NAa;%{Nk&w?{6a`-<#<>ol-hT^QJ%(TNXOLjFT)JJiHIvMK)ELJ zw|IxfZ@{qKD2>zAJh?r|HkJ~PipdK;Ed3*}km+dK3Nh`pRf7a(>7jH}){#}eC9_Vq zKZCgN#ovx;JounBd96b^YsFQt`<3PLVASafgRtp)yA=)aCOhYB4nL6^Us98<JddbFcAcDLk|K4G@4*}Gs88@EO4Hc=4o)88ITP|R(&(1I;4-K8*0zGfM z&OPBVN#7l3LBtL~qv9+m1FCxfwJ1jpqv5Oe0oUuqbz*0?)rhr* zG2bh8e?A~rMp2Nt^l{`+{HN&R|9_i6IRC%;G#7TLzP=B#Ysl%+K*1kV!(#?TdX7>5 E2fA#rivR!s diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md deleted file mode 100644 index 8cda8769ad..0000000000 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md +++ /dev/null @@ -1,151 +0,0 @@ ---- -title: Identity for Edge Network frequently asked questions guide -description: A list of frequently asked questions about the Identity for Edge Network mobile extension. -keywords: -- Edge Network -- FAQ -- Frequently asked questions -- Identity for Edge Network ---- - -import Tabs from './tabs/faq.md' - -# Frequently asked questions - -## Q: I am using Edge and Adobe Solutions extensions, which Identity extension should I install and register? - -A: Both. - -When using both Adobe Experience Platform Edge and Adobe Solutions extensions, both Identity for Edge Network and Identity for Experience Cloud ID Service extensions can be registered with the Mobile SDK at the same time. - - - -The following instructions are for configuring an application using both Edge Network and Adobe Solutions mobile extensions. If an application will include only Adobe Experience Platform Edge extensions, follow the instructions [here](./index.md#download-and-import-the-identity-extension). - -### Download and import the Identity and Identity for Edge Network extensions - - - -Android - - - -iOS - - - -### Register the Identity and Identity for Edge Network extensions with Mobile Core - - - -Android - - - -iOS - - - -## Q: Will an existing Experience Cloud ID (ECID) migrate to the Identity for Edge Network extension? - -A: Yes. - -If the application previously installed the Identity for Experience Cloud ID Service extension and upgrades to the Identity for Edge Network extension, the existing ECID value is migrated to the Identity for Edge Network extension on first launch of the application. - -Note, however, if the Mobile SDK's privacy status was set to `optedOut` at the time the application is upgraded, the Identity for Experience Cloud ID Service extension will not have an ECID, as it was cleared. In this case, the Identity for Edge Network extension will generate a new ECID. - -## Q: What is the Experience Cloud ID (ECID) used by the SDK when using both AEP Edge extensions and Adobe Solutions extensions? - -A: The Identity for Edge Network extension and the Identity for Experience Cloud ID Service extension each manage their own ECID. However, the two ECIDs are synced as part of the XDM IdentityMap. - -At first launch of the application after upgrading to the Identity for Edge Network extension, the existing ECID from the Identity for Experience Cloud ID Service extension is migrated to the Identity for Edge Network extension. In this case both extensions will have the same ECID value. - -The [resetIdentities](./api-reference.md#resetidentities) API causes the Identity for Edge Network extension and the Identity for Experience Cloud ID Service extension to independently generate new ECID values. After calling this API, the ECID used by each identity extension will be different. - -Changing the privacy status to `optedOut` will clear the ECID value used by the Identity for Experience Cloud ID Service extension. Changing the privacy status back to `optedIn` will generate a new ECID used by the Identity for Experience Cloud ID Service extension. Privacy status changes do not change the ECID used by the Identity for Edge Network extension. Changing the privacy status will cause the ECID used by each identity extension to be different. - -When each identity extension has a different ECID, the Identity for Edge Network extension will include the Identity for Experience Cloud ID Service ECID in its [IdentityMap](./api-reference.md#identitymap), and so the Adobe Experience Platform Identity Service will link the the two ECIDs in the customer's Identity Graph. - -The following example shows an IdentityMap containing the ECIDs from both Identity for Edge Network extension and Identity for Experience Cloud ID Service extension. The ECID from the Identity for Edge Network extension is always listed first in the list of ECIDs. - -```javascript -"identityMap" : { - "ECID" : [ - { - "id" : "73586628797489658169123381027155647197", - "authenticatedState" : "ambiguous", - "primary" : false - }, - { - "id" : "81117527655405132265917409409236407340", - "authenticatedState" : "ambiguous", - "primary" : false - } - ] - } -``` - -## Q: I set privacy status to opted out, why do I see an ECID value when calling `Identity.getExperienceCloudId()`? - -A: The Identity for Edge Network extension does not change its ECID based on privacy status changes. - - - -The Identity for Edge Network extension and the Identity for Experience Cloud ID Service extension each manage their own ECID value and are generated independently of each other. - -The Identity for Edge Network extension does not clear its stored identities or regenerate the ECID due to privacy status changes. Instead, use the [resetIdentities](./api-reference.md#resetidentities) API. Note this API does not clear the ECID but instead generates a new ECID. - -Each identity extension has its own API to retrieve their respective ECIDs as well. Use [Identity.getExperienceCloudId](./api-reference.md#getexperiencecloudid) to get the Identity for Edge Network extension's ECID, and [Identity.getExperienceCloudId](../mobile-core/identity/api-reference.md#getexperiencecloudid) to get the Identity for Experience Cloud ID Service extension's ECID. - -## Q: How can I get all the identifiers used by the SDK when using both Edge extensions and Adobe Solutions extensions? - -A: Use both `getSdkIdentities` and `getIdentities` - -To get the identifiers used by the Adobe Solutions extensions, call [getSdkIdentities](../mobile-core/api-reference.md#getsdkidentities). - -To get the identifiers used by the Edge extensions, call [getIdentities](./api-reference.md#getidentities). - -## Q: How can I clear all the identifiers from the SDK when using both Edge extensions and Adobe Solutions extensions? - -A: Set privacy status to `optedOut` and call `resetIdentities` - -To clear the identifiers used by the Adobe Solutions extensions, call [setPrivacyStatus](../resources/privacy-and-gdpr.md#set-and-get-privacy-status) and set the privacy status to `optedOut`. - -To clear the identifiers used by the Edge extensions, call [resetIdentities](../mobile-core/api-reference.md#resetidentities) - -## Q: What steps are needed to generate a new Experience Cloud ID (ECID) for a user when using both Edge extensions and Adobe Solutions extensions? - -A: Both identity extensions' ECID must be regenerated in sequence to avoid linking the old and new ECIDs in Adobe Experience Platform. - -When using Real-time Customer Profile and Identity Service, the ECIDs from both identity extensions are linked together in the customer's Identity Graph. Care must be taken when regenerating new ECIDs such that the old and new ECIDs are not linked within the same Identity Graph. - -Perform the following API calls to regenerate the ECIDs in sequence: - -1. Set [privacy status](../resources/privacy-and-gdpr.md#set-and-get-privacy-status) to `optedOut` to clear the ECID from the Identity direct service extension. -2. Call [resetIdentities](./api-reference.md#resetidentities) to regenerate a new ECID in the Identity for Edge Network extension. -3. Call [getExperienceCloudId](./api-reference.md#getexperiencecloudid) on the Identity for Edge Network extension. This ensures the new ECID is generated before continuing. -4. Set [privacy status](../privacy-and-gdpr.md#set-and-get-privacy-status) to `optedIn` to generate a new ECID in the Identity direct service extension. - -After completing the above steps, each identity extension will have its own, different, ECID. The new ECIDs will get linked under a new Identity Graph for the customer. - - - -Android - - - -iOS - - - -## Q: Can I safely remove the Identity for Experience Cloud ID Service extension in an app if I am using the Edge Network extension? - -If no other extension relies on the Identity for Experience Cloud ID Service extension, you can safely remove it. Please refer to the [Identity consideration document](../adobe-analytics/migrate-to-edge-network.md#identity-consideration-for-the-migration) for more information. - -## Q: I am passing the ECID from to the WebView using `getUrlVariables` API, but the web interactions get a new ECID assigned, how do I fix this? - -1. Ensure that the output from the `getUrlVariables` API includes accurate **ECID** and **Experience Cloud orgID** values. Please note that the orgID set up for the Mobile SDK must match the orgID configured in the Web SDK. -2. Make sure the timestamp (TS) included in the `getUrlVariables` result did not expire (that is, it is not older than 5 minutes since the time it was retrieved). For this reason, it is recommended that the result from `getUrlVariables` is not cached and reused in the app, but retrieved on demand before loading the WebView. -3. The query string returned by the `getUrlVariables` API is already encoded, so please ensure that you do not re-encode the generated query string. - -For further information, refer to the documentation on [mobile-to-web and cross-domain ID sharing](https://experienceleague.adobe.com/docs/experience-platform/edge/identity/id-sharing.html?lang=en) and [handling WebViews](https://experienceleague.adobe.com/docs/platform-learn/implement-mobile-sdk/app-implementation/web-views.html?lang=en#implementation). diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md deleted file mode 100644 index de22f90df3..0000000000 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md +++ /dev/null @@ -1,84 +0,0 @@ ---- -title: Identity for Edge Network overview -description: An overview for the Identity for Edge Network mobile extension. -keywords: -- Edge Network -- Identity for Edge Network -- Product overview ---- - -import Tabs from './tabs/index.md' - -# Identity for Edge Network - -The Adobe Experience Platform Identity mobile extension enables identity management from your mobile app when using the Adobe Experience Platform Mobile SDK and the [Edge Network extension](../edge-network/index.md). - -## Configure the Identity extension in the Data Collection UI - -1. In Data Collection UI, in your mobile property, select the **Extensions** tab. -2. On the **Catalog** tab, locate or search for the **Identity** extension, and select **Install**. -3. There are no configuration settings for **Identity**. -4. Select **Save**. -5. Follow the publishing process to update SDK configuration. - -![Identity for Edge Network extension configuration](./assets/index/configuration.png) - -## Add the Identity extension to your app - -### Download and import the Identity extension - - - -The following instructions are for configuring an application using Adobe Experience Platform Edge mobile extensions. If an application will include both Edge Network and Adobe Solution extensions, both the Identity for Edge Network and Identity for Experience Cloud ID Service extensions are required. Find more details in the [frequently asked questions](./faq.md). - - - -When using the [`setAdvertisingIdentifier`](./api-reference.md#setadvertisingidentifier) API, see the setup guide for [Consent for Edge Network](../consent-for-edge-network/index.md) for instructions on setting up the extension and profile schema for proper usage. - - - -Android - - - -iOS - - - -### Register the Identity extension with Mobile Core - - - -Android - - - -iOS - - - -## Advertising identifier - -The Edge Identity extension compares the previously stored advertising identifier value with the new value received from the [`setAdvertisingIdentifier`](./api-reference.md#setadvertisingidentifier) API and handles the following scenarios: - -Ad tracking enabled - when the new value sent to the API is: - -* A valid UUID string (example: `"a127a99e-50be-4d87-bf6f-6ab9541c105b"`) - -Process: - -1. Updates the client side XDM `IdentityMap` with the new value for IDFA/GAID, which is included in subsequent [XDM Experience events](../edge-network/xdm-experience-events.md). For more details, see the [standard Identity namespaces](https://experienceleague.adobe.com/docs/experience-platform/identity/namespaces.html#standard). -2. Sends a [consent update event](https://experienceleague.adobe.com/docs/experience-platform/xdm/data-types/consents.html) with ad ID consent preferences set to `yes` (only when a valid ad ID is absent from the `IdentityMap` and the Edge Consent extension is registered and properly configured). - -Ad tracking disabled - Given a valid ad ID already exists in the `IdentityMap`, and the new value sent to the API is: - -* `null`/`nil` -* Empty string (`""`) -* All-zeros string (`"00000000-0000-0000-0000-000000000000"`) - -Process: - -1. Removes the ad ID from the client side XDM `IdentityMap`, which is removed from subsequent [XDM Experience events](../edge-network/xdm-experience-events.md). -2. Sends a [consent update event](https://experienceleague.adobe.com/docs/experience-platform/xdm/data-types/consents.html) with ad ID consent preferences set to `no` (only when the Edge Consent extension is registered and properly configured). - -No operations are executed when no changes are detected between the previously stored and new ad ID value. diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md deleted file mode 100644 index 6db6964839..0000000000 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md +++ /dev/null @@ -1,70 +0,0 @@ ---- -title: Identity for Edge Network release notes -description: The release notes for the Identity for Edge Network mobile extension. -keywords: -- Edge Network -- Identity for Edge Network -- Release notes ---- - -# Release Notes - -## July 25, 2023 - -### Android EdgeIdentity 2.0.1 - -* Added validation to ignore `IdentityItem`s with an empty ID value. -* Fixed an issue where the `getUrlVariables` API may fail to generate a response on Android 6 (API 23) devices. - -## June 1, 2023 - -### iOS EdgeIdentity 4.0.0 - -Major version update for [Identity for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: - -* Updated the minimum supported version to iOS 11.0 and tvOS 11.0. -* Include XCFrameworks built with Xcode 14.1 with the GitHub release. - -## February 28, 2023 - -### iOS AEPEdgeIdentity 1.2.0 - -* Added tvOS support. -* Identity map no longer accepts identity items with an empty string value for ID. - -## January 31, 2023 - -### Android EdgeIdentity 2.0.0 - -* Major version update for [Identity for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeidentity-android). - -## June 7, 2022 - -### iOS AEPEdgeIdentity 1.1.0 - -* Added the `getUrlVariables` API to support passing the visitor ID from a mobile app to a web view. -* Added support for advertising identifier and ad tracking consent collection. - -### Android EdgeIdentity 1.1.0 - -* Added the `getUrlVariables` API to support passing the visitor ID from a mobile app to a web view. -* Added support for advertising identifier and ad tracking consent collection. -* Internal fixes for IdentityMap deserialization. - -## April 1, 2022 - -### iOS AEPEdgeIdentity 1.0.1 - -* Synchronized updates and reads on the Identity for Edge Network shared state to avoid any race conditions. - -## April 13, 2021 - -### Identity tags Extension - -You can now find the `Identity` extension in the tags extensions catalog for mobile properties. - -## April 8, 2021 - -### iOS & Android EdgeIdentity 1.0.0 - -The Adobe Experience Platform Identity (AEPEdgeIdentity) mobile extension is now available on iOS and Android! This extension enables handling of user identity data from a mobile app when using the Adobe Experience Platform SDK and the Edge Network extension. diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md deleted file mode 100644 index e97b1e376f..0000000000 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md +++ /dev/null @@ -1,950 +0,0 @@ ---- -noIndex: true ---- - - - -#### Java - -**Syntax** - -```java -public static String extensionVersion() -``` - -**Example** - -```java -String extensionVersion = Identity.extensionVersion(); -``` - -#### Kotlin - -**Example** - -```java -val extensionVersion = Identity.extensionVersion() -``` - - - -#### Swift - -**Syntax** - -```swift -static var extensionVersion: String -``` - -**Example** - -```swift -let extensionVersion = EdgeIdentity.extensionVersion -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (nonnull NSString*) extensionVersion; -``` - -**Example** - -```objectivec -NSString *extensionVersion = [AEPMobileEdgeIdentity extensionVersion]; -``` - - - - - -The ECID value is returned via the [AdobeCallback](../mobile-core/api-reference.md#public-classes). When [AdobeCallbackWithError](../mobile-core/api-reference.md#public-classes) is provided to this API, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../mobile-core/api-reference.md#public-classes). - - - -#### Java - -**Syntax** - -```java -public static void getExperienceCloudId(final AdobeCallback callback); -``` - -* _callback_ is invoked after the ECID is available. The callback may be invoked on a different thread. - -**Example** - -```java -Identity.getExperienceCloudId(new AdobeCallback() { - @Override - public void call(String id) { - // Handle the ID returned here - } -}); -``` - -#### Kotlin - -**Example** - -```java -Identity.getExperienceCloudId { id -> - // Handle the ID returned here -} -``` - - - -#### Swift - -**Syntax** - -```swift -static func getExperienceCloudId(completion: @escaping (String?, Error?) -> Void) -``` - -* _completion_ is invoked after the ECID is available. The default timeout is 1000ms. - -**Example** - -```swift -Identity.getExperienceCloudId { (ecid, error) in - if let error = error { - // Handle the error here - } else { - // Handle the retrieved ID here - } -} -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) getExperienceCloudId:^(NSString * _Nullable ecid, NSError * _Nullable error)completion -``` - -**Example** - -```objectivec -[AEPMobileEdgeIdentity getExperienceCloudId:^(NSString *ecid, NSError *error) { - // handle the error and the retrieved ID here -}]; -``` - - - - - -When [AdobeCallbackWithError](../mobile-core/api-reference.md#public-classes) is provided, and you are fetching the identities from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../mobile-core/api-reference.md#public-classes). - - - -#### Java - -**Syntax** - -```java -public static void getIdentities(final AdobeCallback callback); -``` - -* _callback_ is invoked after the identities are available. The return format is an instance of [IdentityMap](#identitymap). The callback may be invoked on a different thread. - -**Example** - -```java -Identity.getIdentities(new AdobeCallback() { - @Override - public void call(IdentityMap identityMap) { - // Handle the IdentityMap returned here - } -}); -``` - -#### Kotlin - -**Example** - -```java -Identity.getIdentities { identityMap -> - // Handle the IdentityMap returned here -} -``` - - - -#### Swift - -**Syntax** - -```swift -static func getIdentities(completion: @escaping (IdentityMap?, Error?) -> Void) -``` - -* _completion_ is invoked after the identities are available. The default timeout is 1000ms. The return format is an instance of [IdentityMap](api-reference.md#identitymap). - -**Example** - -```swift -Identity.getIdentities { (identityMap, error) in - if let error = error { - // Handle the error here - } else { - // Handle the retrieved identitites here - } -} -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) getIdentities:^(AEPIdentityMap * _Nullable map, NSError * _Nullable error)completion -``` - -**Example** - -```objectivec -[AEPMobileEdgeIdentity getIdentities:^(AEPIdentityMap *map, NSError *error) { - // handle the error and the retrieved ID here -}]; -``` - - - - - -When `AdobeCallbackWithError` is provided and you are fetching the URL variables from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate `AdobeError`. - - - -#### Java - -**Syntax** - -```java -public static void getUrlVariables(final AdobeCallback callback); -``` - -* `callback` has a String value that contains the visitor identifiers as a query string after the service request is complete. - -**Example** - -```java -Identity.getUrlVariables(new AdobeCallback() { - @Override - public void call(String urlVariablesString) { - // Handle the URL query parameter string here - // For example, open the URL in a webView - WebView webView; - webView = (WebView)findViewById(R.id.your_webview); // Initialize with your webView - webview.loadUrl("https://example.com?" + urlVariablesString); - } -}); -``` - -#### Kotlin - -**Example** - -```java -Identity.getUrlVariables { urlVariablesString -> - // Handle the URL query parameter string here - // For example, open the URL in a webView - val webView = findViewById(R.id.your_webview) // Initialize with your webView - webView.loadUrl("http://www.example.com?" + urlVariablesString) -} -``` - - - -#### Swift - -**Syntax** - -```swift -static func getUrlVariables(completion: @escaping (String?, Error?) -> Void) -``` - -* `completion` is invoked with `urlVariables` containing the visitor identifiers as a query string, or with `error` if an unexpected error occurs or the request times out. The returned `Error` contains the [AEPError](../mobile-core/api-reference.md#public-classes) code of the specific error. The default timeout is 1000ms. - -**Example** - -```swift -Identity.getUrlVariables { (urlVariables, error) in - if let error = error { - // Handle the error here - } else { - var urlStringWithVisitorData: String = "https://example.com" - if let urlVariables: String = urlVariables { - urlStringWithVisitorData.append("?" + urlVariables) - } - - guard let urlWithVisitorData: URL = URL(string: urlStringWithVisitorData) else { - // Handle the error, unable to construct URL - return - } - - // Handle the retrieved urlVariables encoded string here - // APIs which update the UI must be called from main thread - DispatchQueue.main.async { - self.webView.load(URLRequest(url: urlWithVisitorData)) - } - } -} -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) getUrlVariables:^(NSString * _Nullable urlVariables, NSError * _Nullable error)completion -``` - -**Example** - -```objectivec -[AEPMobileEdgeIdentity getUrlVariables:^(NSString *urlVariables, NSError *error){ - if (error) { - // Handle the error here - } else { - // Handle the URL query parameter string here - NSString* urlString = @"https://example.com"; - NSString* urlStringWithVisitorData = [NSString stringWithFormat:@"%@?%@", urlString, urlVariables]; - NSURL* urlWithVisitorData = [NSURL URLWithString:urlStringWithVisitorData]; - - // APIs which update the UI must be called from main thread - dispatch_async(dispatch_get_main_queue(), ^{ - [[self webView] loadRequest:[NSURLRequest requestWithURL:urlWithVisitorData]]; - } - } -}]; -``` - - - -#### Java - -**Syntax** - -```java -public static void registerExtension() -``` - -**Example** - -```java -import com.adobe.marketing.mobile.edge.identity.Identity - -... -Identity.registerExtension(); -``` - - - -#### Java - -**Syntax** - -```java -public static void removeIdentity(final IdentityItem item, final String namespace); -``` - -**Example** - -```java -IdentityItem item = new IdentityItem("user@example.com"); -Identity.removeIdentity(item, "Email"); -``` - -#### Kotlin - -**Example** - -```java -val item = IdentityItem("user@example.com") -Identity.removeIdentity(item, "Email") -``` - - - -#### Swift - -**Syntax** - -```swift -static func removeIdentity(item: IdentityItem, withNamespace: String) -``` - -**Example** - -```swift -Identity.removeIdentity(item: IdentityItem(id: "user@example.com"), withNamespace: "Email") -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) removeIdentityItem:(AEPIdentityItem * _Nonnull) item - withNamespace: (NSString * _Nonnull) namespace -``` - -**Example** - -```objectivec -AEPIdentityItem *item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; -[AEPMobileEdgeIdentity removeIdentityItem:item withNamespace:@"Email"]; -``` - - - - - -In order to enable collection of the user's current advertising tracking authorization selection for the provided advertising identifier, you need to install and register the [AEPEdgeConsent](../consent-for-edge-network/index.md) extension and update the [AEPEdge](../edge-network/index.md) dependency to minimum 1.3.2. - - - - - -These examples require Google Play Services to be configured in your mobile application and use the Google Mobile Ads Lite SDK. For instructions on how to import the SDK and configure your `ApplicationManifest.xml` file see [Google Mobile Ads Lite SDK setup](https://developers.google.com/admob/android/lite-sdk). For more information about advertising identifiers and how to handle them correctly in your mobile application see [Google Play Services documentation about AdvertisingIdClient](https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient). - - - -#### Java - -**Syntax** - -```java -public static void setAdvertisingIdentifier(final String advertisingIdentifier); -``` - -* _advertisingIdentifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. - -**Example** - -```java -import com.google.android.gms.ads.identifier.AdvertisingIdClient; -import com.google.android.gms.common.GooglePlayServicesNotAvailableException; -import com.google.android.gms.common.GooglePlayServicesRepairableException; -import java.io.IOException; -import android.util.Log; - -... -@Override -public void onResume() { - super.onResume(); - ... - new Thread(new Runnable() { - @Override - public void run() { - String advertisingIdentifier = null; - - try { - AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext()); - if (adInfo != null) { - if (!adInfo.isLimitAdTrackingEnabled()) { - advertisingIdentifier = adInfo.getId(); - } else { - Log.d("ExampleActivity", "Limit Ad Tracking is enabled by the user, cannot process the advertising identifier"); - } - } - } catch (IOException e) { - // Unrecoverable error connecting to Google Play services (e.g., - // the old version of the service doesn't support getting AdvertisingId). - Log.d("ExampleActivity", "IOException while retrieving the advertising identifier " + e.getLocalizedMessage()); - } catch (GooglePlayServicesNotAvailableException e) { - // Google Play services is not available entirely. - Log.d("ExampleActivity", "GooglePlayServicesNotAvailableException while retrieving the advertising identifier " + e.getLocalizedMessage()); - } catch (GooglePlayServicesRepairableException e) { - // Google Play services is not installed, up-to-date, or enabled. - Log.d("ExampleActivity", "GooglePlayServicesRepairableException while retrieving the advertising identifier " + e.getLocalizedMessage()); - } - MobileCore.setAdvertisingIdentifier(advertisingIdentifier); - } - }).start(); -} -``` - -#### Kotlin - -* _advertisingIdentifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. - -**Example** - -```java -import android.content.Context -import android.util.Log -import com.google.android.gms.ads.identifier.AdvertisingIdClient -import com.google.android.gms.common.GooglePlayServicesNotAvailableException -import com.google.android.gms.common.GooglePlayServicesRepairableException -import java.io.IOException -... - -suspend fun getGAID(applicationContext: Context): String { - var adID = "" - try { - val idInfo = AdvertisingIdClient.getAdvertisingIdInfo(applicationContext) - if (idInfo.isLimitAdTrackingEnabled) { - Log.d("ExampleActivity", "Limit Ad Tracking is enabled by the user, setting ad ID to \"\"") - return adID - } - Log.d("ExampleActivity", "Limit Ad Tracking disabled; ad ID value: ${idInfo.id}") - adID = idInfo.id - } catch (e: GooglePlayServicesNotAvailableException) { - Log.d("ExampleActivity", "GooglePlayServicesNotAvailableException while retrieving the advertising identifier ${e.localizedMessage}") - } catch (e: GooglePlayServicesRepairableException) { - Log.d("ExampleActivity", "GooglePlayServicesRepairableException while retrieving the advertising identifier ${e.localizedMessage}") - } catch (e: IOException) { - Log.d("ExampleActivity", "IOException while retrieving the advertising identifier ${e.localizedMessage}") - } - Log.d("ExampleActivity", "Returning ad ID value: $adID") - return adID -} -``` - -Call site: - -```java -import kotlinx.coroutines.CoroutineScope -import kotlinx.coroutines.Dispatchers -import kotlinx.coroutines.launch -... - - // Create background coroutine scope to fetch ad ID value -val scope = CoroutineScope(Dispatchers.IO).launch { - val adID = sharedViewModel.getGAID(context.applicationContext) - Log.d("ExampleActivity", "Sending ad ID value: $adID to MobileCore.setAdvertisingIdentifier") - MobileCore.setAdvertisingIdentifier(adID) -} -``` - - - -In order to enable the collection of current advertising tracking user's selection based on the provided advertising identifier, you need to install and register the [Consent for Edge Network](../consent-for-edge-network/index.md) extension and update the [Edge Network extension](../edge-network/index.md) dependency to minimum 1.4.1. - -Starting from iOS 14+, applications must use the [App Tracking Transparency](https://developer.apple.com/documentation/apptrackingtransparency) framework to request user authorization before using the Identifier for Advertising (IDFA). To access IDFA and handle it correctly in your mobile application, see the [Apple developer documentation about IDFA](https://developer.apple.com/documentation/adsupport/asidentifiermanager). - -#### Swift - -**Syntax** - -```swift -@objc(setAdvertisingIdentifier:) -public static func setAdvertisingIdentifier(_ identifier: String?) -``` - -* _identifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. - -**Example** - -```swift -import AdSupport -import AppTrackingTransparency -... - -func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - ... - if #available(iOS 14, *) { - setAdvertisingIdentifierUsingTrackingManager() - } else { - // Fallback on earlier versions - setAdvertisingIdentifierUsingIdentifierManager() - } - -} - -func setAdvertisingIdentifierUsingIdentifierManager() { - var idfa:String = ""; - if (ASIdentifierManager.shared().isAdvertisingTrackingEnabled) { - idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString; - } else { - Log.debug(label: "AppDelegateExample", - "Advertising Tracking is disabled by the user, cannot process the advertising identifier."); - } - MobileCore.setAdvertisingIdentifier(idfa); -} - -@available(iOS 14, *) -func setAdvertisingIdentifierUsingTrackingManager() { - ATTrackingManager.requestTrackingAuthorization { (status) in - var idfa: String = ""; - - switch (status) { - case .authorized: - idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString - case .denied: - Log.debug(label: "AppDelegateExample", - "Advertising Tracking is denied by the user, cannot process the advertising identifier.") - case .notDetermined: - Log.debug(label: "AppDelegateExample", - "Advertising Tracking is not determined, cannot process the advertising identifier.") - case .restricted: - Log.debug(label: "AppDelegateExample", - "Advertising Tracking is restricted by the user, cannot process the advertising identifier.") - } - - MobileCore.setAdvertisingIdentifier(idfa) - } -} -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) setAdvertisingIdentifier: (NSString * _Nullable identifier); -``` - -* _identifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. - -**Example** - -```objectivec -#import -#import -... - -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { -- ... -- - if (@available(iOS 14, *)) { - [self setAdvertisingIdentifierUsingTrackingManager]; - } else { - // fallback to earlier versions - [self setAdvertisingIdentifierUsingIdentifierManager]; - } - -} - -- (void) setAdvertisingIdentifierUsingIdentifierManager { - // setup the advertising identifier - NSString *idfa = nil; - if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) { - idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; - } else { - [AEPLog debugWithLabel:@"AppDelegateExample" - message:@"Advertising Tracking is disabled by the user, cannot process the advertising identifier"]; - } - [AEPMobileCore setAdvertisingIdentifier:idfa]; - -} - -- (void) setAdvertisingIdentifierUsingTrackingManager API_AVAILABLE(ios(14)) { - [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler: - ^(ATTrackingManagerAuthorizationStatus status){ - NSString *idfa = nil; - switch(status) { - case ATTrackingManagerAuthorizationStatusAuthorized: - idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; - break; - case ATTrackingManagerAuthorizationStatusDenied: - [AEPLog debugWithLabel:@"AppDelegateExample" - message:@"Advertising Tracking is denied by the user, cannot process the advertising identifier"]; - break; - case ATTrackingManagerAuthorizationStatusNotDetermined: - [AEPLog debugWithLabel:@"AppDelegateExample" - message:@"Advertising Tracking is not determined, cannot process the advertising identifier"]; - break; - case ATTrackingManagerAuthorizationStatusRestricted: - [AEPLog debugWithLabel:@"AppDelegateExample" - message:@"Advertising Tracking is restricted by the user, cannot process the advertising identifier"]; - break; - } - - [AEPMobileCore setAdvertisingIdentifier:idfa]; - }]; -} -``` - - - -#### Java - -**Syntax** - -```java -public static void updateIdentities(final IdentityMap identityMap); -``` - -**Example** - -```java -IdentityItem item = new IdentityItem("user@example.com"); -IdentityMap identityMap = new IdentityMap(); -identityMap.addItem(item, "Email") -Identity.updateIdentities(identityMap); -``` - -#### Kotlin - -**Example** - -```java -val item = IdentityItem("user@example.com") -val identityMap = IdentityMap() -identityMap.addItem(item, "Email") -Identity.updateIdentities(identityMap) -``` - - - -#### Swift - -**Syntax** - -```swift -static func updateIdentities(with map: IdentityMap) -``` - -**Example** - -```swift -let identityMap = IdentityMap() -identityMap.addItem(item: IdentityItem(id: "user@example.com"), withNamespace: "Email") -Identity.updateIdentities(with: identityMap) -``` - -#### Objective-C - -**Syntax** - -```objectivec -+ (void) updateIdentities:(AEPIdentityMap * _Nonnull)map -``` - -**Example** - -```objectivec -AEPIdentityItem *item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; -AEPIdentityMap *map = [[AEPIdentityMap alloc] init]; -[map addItem:item withNamespace:@"Email"]; -[AEPMobileEdgeIdentity updateIdentities:map]; -``` - - - -#### Java - -**Example** - -```java -// Construct -IdentityMap identityMap = new IdentityMap(); - -// Add an item -IdentityItem item = new IdentityItem("user@example.com"); -identityMap.addItem(item, "Email"); - -// Remove an item -IdentityItem item = new IdentityItem("user@example.com"); -identityMap.removeItem(item, "Email"); - -// Get a list of items for a given namespace -List items = identityMap.getIdentityItemsForNamespace("Email"); - -// Get a list of all namespaces used in current IdentityMap -List namespaces = identityMap.getNamespaces(); - -// Check if IdentityMap has no identities -boolean hasNotIdentities = identityMap.isEmpty(); -``` - -#### Kotlin - -**Example** - -```java -// Construct -val identityMap = IdentityMap() - -// Add an item -val item = IdentityItem("user@example.com") -identityMap.addItem(item, "Email") - -// Remove an item -val item = IdentityItem("user@example.com") -identityMap.removeItem(item, "Email") - -// Get a list of items for a given namespace -val items = identityMap.getIdentityItemsForNamespace("Email") - -// Get a list of all namespaces used in current IdentityMap -val namespaces = identityMap.getNamespaces() - -// Check if IdentityMap has no identities -val hasNotIdentities = identityMap.isEmpty() -``` - - - -#### Swift - -**Example** - -```swift -// Initialize -let identityMap: IdentityMap = IdentityMap() - -// Add an item -identityMap.add(item: IdentityItem(id: "user@example.com"), withNamespace: "Email") - -// Remove an item -identityMap.remove(item: IdentityItem(id: "user@example.com", withNamespace: "Email")) - -// Get a list of items for a given namespace -let items: [IdentityItem] = identityMap.getItems(withNamespace: "Email") - -// Get a list of all namespaces used in current IdentityMap -let namespaces: [String] = identityMap.namespaces - -// Check if IdentityMap has no identities -let hasNoIdentities: Bool = identityMap.isEmpty -``` - -#### Objective-C - -**Example** - -```objectivec -// Initialize -AEPIdentityMap* identityMap = [[AEPIdentityMap alloc] init]; - -// Add an item -AEPIdentityItem* item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; -[identityMap addItem:item withNamespace:@"Email"]; - -// Remove an item -AEPIdentityItem* item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; -[identityMap removeItem:item withNamespace:@"Email"]; - -// Get a list of items for a given namespace -NSArray* items = [identityMap getItemsWithNamespace:@"Email"]; - -// Get a list of all namespaces used in current IdentityMap -NSArray* namespaces = identityMap.namespaces; - -// Check if IdentityMap has no identities -bool hasNoIdentities = identityMap.isEmpty; -``` - - - -#### Java - -**Example** - -```java -// Construct -IdentityItem item = new IdentityItem("identifier"); - -IdentityItem item = new IdentityItem("identifier", AuthenticatedState.AUTHENTICATED, false); - - -// Getters -String id = item.getId(); - -AuthenticatedState state = item.getAuthenticatedState(); - -boolean primary = item.isPrimary(); -``` - -#### Kotlin - -**Example** - -```java -// Construct -val item = IdentityItem("identifier") - -val item = IdentityItem("identifier", AuthenticatedState.AUTHENTICATED, false) - -// Getters -val id = item.id - -val state = item.authenticatedState - -val primary = item.isPrimary -``` - - - -#### Swift - -**Example** - -```swift -// Initialize -let item = IdentityItem(id: "identifier") - -let item = IdentityItem(id: "identifier", authenticatedState: .authenticated, primary: false) - -// Getters -let id: String = item.id - -let state: AuthenticatedState = item.authenticatedState - -let primary: Bool = item.primary -``` - -#### Objective-C - -**Example** - -```objectivec -// Initialize -AEPIdentityItem* item = [[AEPIdentityItem alloc] initWithId:@"identity" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; - -// Getters -NSString* id = primaryEmail.id; - -long state = primaryEmail.authenticatedState; - -bool primary = primaryEmail.primary; -``` - - - -#### Java - -**Syntax** - -```java -public enum AuthenticatedState { - AMBIGUOUS("ambiguous"), - AUTHENTICATED("authenticated"), - LOGGED_OUT("loggedOut"); -} -``` - -#### Kotlin - -**Syntax** - -```java -enum class AuthenticatedState(val name: String) { - AMBIGUOUS("ambiguous"), - AUTHENTICATED("authenticated"), - LOGGED_OUT("loggedOut") -} -``` - - - -**Syntax** - -```swift -@objc(AEPAuthenticatedState) -public enum AuthenticatedState: Int, RawRepresentable, Codable { - case ambiguous = 0 - case authenticated = 1 - case loggedOut = 2 -} -``` diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md deleted file mode 100644 index 0f8271d17c..0000000000 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md +++ /dev/null @@ -1,171 +0,0 @@ ---- -noIndex: true ---- - -import Alerts from '/src/pages/documentation/resources/alerts.md' - - - -1. Add the Mobile Core and Edge extensions to your project using the app's Gradle file. - -```java -implementation platform('com.adobe.marketing.mobile:sdk-bom:2.+') -implementation 'com.adobe.marketing.mobile:core' -implementation 'com.adobe.marketing.mobile:edge' -implementation 'com.adobe.marketing.mobile:edgeidentity' -``` - - - -2. Import the Mobile Core and Edge extensions in your application class. - -```java -import com.adobe.marketing.mobile.MobileCore; -import com.adobe.marketing.mobile.Edge; -import com.adobe.marketing.mobile.edge.identity.Identity; -``` - - - -1. Add the Mobile Core and Edge extensions to your project using CocoaPods. Add following pods in your `Podfile`: - -```swift -use_frameworks! -target 'YourTargetApp' do - pod 'AEPCore' - pod 'AEPIdentity' - pod 'AEPEdge' - pod 'AEPEdgeIdentity' -end -``` - -2. Import the Mobile Core and Edge libraries: - -**Swift** - -```swift -// AppDelegate.swift -import AEPCore -import AEPIdentity -import AEPEdge -import AEPEdgeIdentity -``` - -**Objective-C** - -```objectivec -// AppDelegate.h -@import AEPCore; -@import AEPIdentity; -@import AEPEdge; -@import AEPEdgeIdentity; -``` - - - -#### Java - -```java -public class MobileApp extends Application { - // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI - private final String ENVIRONMENT_FILE_ID = ""; - - @Override - public void onCreate() { - super.onCreate(); - MobileCore.setApplication(this); - MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID); - - // Register Adobe Experience Platform SDK extensions - MobileCore.registerExtensions( - Arrays.asList(Edge.EXTENSION, Identity.EXTENSION), - o -> Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") - ); - } -} -``` - -#### Kotlin - -```java -class MobileApp : Application() { - // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI - private var ENVIRONMENT_FILE_ID: String = "" - override fun onCreate() { - super.onCreate() - MobileCore.setApplication(this) - MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID) - // Register Adobe Experience Platform SDK extensions - MobileCore.registerExtensions( - listOf(Edge.EXTENSION, Identity.EXTENSION) - ) { - Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") - } - } -} -``` - - - -**Swift** - -```swift -// AppDelegate.swift -func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - MobileCore.registerExtensions([AEPEdgeIdentity.Identity.self, AEPIdentity.Identity.self, Edge.self], { - MobileCore.configureWith(appId: "yourAppId") - }) - ... -} -``` - -**Objective-C** - -```objectivec -// AppDelegate.m -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileIdentity.class, AEPMobileEdge.class] completion:^{ - ... - }]; - [AEPMobileCore configureWithAppId: @"yourAppId"]; - ... -} -``` - - - -**Java** - -```java -MobileCore.setPrivacyStatus(MobilePrivacyStatus.OPT_OUT); -MobileCore.resetIdentities(); -com.adobe.marketing.mobile.edge.identity.Identity.getExperienceCloudId(new AdobeCallback() { - @Override - public void call(String s) { - // ignore - } -}); -MobileCore.setPrivacyStatus(MobilePrivacyStatus.OPT_IN); -``` - - - -**Swift** - -```swift -MobileCore.setPrivacyStatus(.optedOut) -MobileCore.resetIdentities() -AEPEdgeIdentity.Identity.getExperienceCloudId { _, _ in } -MobileCore.setPrivacyStatus(.optedIn) -``` - -**Objective-C** - -```objectivec -[AEPMobileCore setPrivacyStatus:AEPPrivacyStatusOptedOut]; -[AEPMobileCore resetIdentities]; -[AEPMobileEdgeIdentity getExperienceCloudId:^(NSString *ecid, NSError *error) { - // ignore -}]; -[AEPMobileCore setPrivacyStatus:AEPPrivacyStatusOptedIn]; -``` diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md deleted file mode 100644 index ba6a5e1bbf..0000000000 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md +++ /dev/null @@ -1,133 +0,0 @@ ---- -noIndex: true ---- - -import Alerts from '/src/pages/documentation/resources/alerts.md' - - - -1. Add the Mobile Core and Edge extensions to your project using the app's Gradle file. - -```java -implementation platform('com.adobe.marketing.mobile:sdk-bom:2.+') -implementation 'com.adobe.marketing.mobile:core' -implementation 'com.adobe.marketing.mobile:edge' -implementation 'com.adobe.marketing.mobile:edgeidentity' -``` - - - -2. Import the Mobile Core and Edge extensions in your Application class. - -```java -import com.adobe.marketing.mobile.MobileCore; -import com.adobe.marketing.mobile.Edge; -import com.adobe.marketing.mobile.edge.identity.Identity; -``` - - - -1. Add the Mobile Core and Edge extensions to your project using CocoaPods. Add following pods in your `Podfile`: - -```swift -use_frameworks! -target 'YourTargetApp' do - pod 'AEPCore' - pod 'AEPEdge' - pod 'AEPEdgeIdentity' - pod 'AEPEdgeConsent' // Recommended when using the setAdvertisingIdentifier API -end -``` - -2. Import the Mobile Core and Edge libraries: - -**Swift** - -```swift -// AppDelegate.swift -import AEPCore -import AEPEdge -import AEPEdgeIdentity -import AEPEdgeConsent -``` - -**Objective-C** - -```objectivec -// AppDelegate.h -@import AEPCore; -@import AEPEdge; -@import AEPEdgeIdentity; -@import AEPEdgeConsent; -``` - - - -#### Java - -```java -public class MobileApp extends Application { - // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI - private final String ENVIRONMENT_FILE_ID = ""; - - @Override - public void onCreate() { - super.onCreate(); - MobileCore.setApplication(this); - MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID); - - // Register Adobe Experience Platform SDK extensions - MobileCore.registerExtensions( - Arrays.asList(Edge.EXTENSION, Identity.EXTENSION), - o -> Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") - ); - } -} -``` - -#### Kotlin - -```java -class MobileApp : Application() { - // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI - private var ENVIRONMENT_FILE_ID: String = "" - override fun onCreate() { - super.onCreate() - MobileCore.setApplication(this) - MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID) - // Register Adobe Experience Platform SDK extensions - MobileCore.registerExtensions( - listOf(Edge.EXTENSION, Identity.EXTENSION) - ) { - Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") - } - } -} -``` - - - -**Swift** - -```swift -// AppDelegate.swift -func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { - MobileCore.registerExtensions([Identity.self, Consent.self, Edge.self], { - MobileCore.configureWith(appId: "yourAppId") - }) - ... -} -``` - -**Objective-C** - -```objectivec -// AppDelegate.m -- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { - [AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileEdgeConsent.class, AEPMobileEdge.class] completion:^{ - ... - }]; - [AEPMobileCore configureWithAppId: @"yourAppId"]; - ... -} -``` diff --git a/src/pages/documentation/current-sdk-versions.md b/src/pages/documentation/resources/current-sdk-versions.md similarity index 100% rename from src/pages/documentation/current-sdk-versions.md rename to src/pages/documentation/resources/current-sdk-versions.md diff --git a/src/pages/documentation/getting-started/assets/configure-datastreams/configure-datastream.png b/src/pages/documentation/resources/getting-started/assets/configure-datastreams/configure-datastream.png similarity index 100% rename from src/pages/documentation/getting-started/assets/configure-datastreams/configure-datastream.png rename to src/pages/documentation/resources/getting-started/assets/configure-datastreams/configure-datastream.png diff --git a/src/pages/documentation/getting-started/assets/configure-datastreams/create-datastream.png b/src/pages/documentation/resources/getting-started/assets/configure-datastreams/create-datastream.png similarity index 100% rename from src/pages/documentation/getting-started/assets/configure-datastreams/create-datastream.png rename to src/pages/documentation/resources/getting-started/assets/configure-datastreams/create-datastream.png diff --git a/src/pages/documentation/getting-started/assets/create-a-mobile-property/configure-extension.png b/src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/configure-extension.png similarity index 100% rename from src/pages/documentation/getting-started/assets/create-a-mobile-property/configure-extension.png rename to src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/configure-extension.png diff --git a/src/pages/documentation/getting-started/assets/create-a-mobile-property/create-mobile-property.png b/src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/create-mobile-property.png similarity index 100% rename from src/pages/documentation/getting-started/assets/create-a-mobile-property/create-mobile-property.png rename to src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/create-mobile-property.png diff --git a/src/pages/documentation/getting-started/assets/index/edge-network-integration.png b/src/pages/documentation/resources/getting-started/assets/index/edge-network-integration.png similarity index 100% rename from src/pages/documentation/getting-started/assets/index/edge-network-integration.png rename to src/pages/documentation/resources/getting-started/assets/index/edge-network-integration.png diff --git a/src/pages/documentation/getting-started/assets/index/solution-specific-integration.png b/src/pages/documentation/resources/getting-started/assets/index/solution-specific-integration.png similarity index 100% rename from src/pages/documentation/getting-started/assets/index/solution-specific-integration.png rename to src/pages/documentation/resources/getting-started/assets/index/solution-specific-integration.png diff --git a/src/pages/documentation/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png b/src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png similarity index 100% rename from src/pages/documentation/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png rename to src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png diff --git a/src/pages/documentation/getting-started/assets/set-up-schemas-and-datasets/create-schema.png b/src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-schema.png similarity index 100% rename from src/pages/documentation/getting-started/assets/set-up-schemas-and-datasets/create-schema.png rename to src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-schema.png diff --git a/src/pages/documentation/getting-started/assets/validate/assurance-analytics.png b/src/pages/documentation/resources/getting-started/assets/validate/assurance-analytics.png similarity index 100% rename from src/pages/documentation/getting-started/assets/validate/assurance-analytics.png rename to src/pages/documentation/resources/getting-started/assets/validate/assurance-analytics.png diff --git a/src/pages/documentation/getting-started/assets/validate/assurance-places.png b/src/pages/documentation/resources/getting-started/assets/validate/assurance-places.png similarity index 100% rename from src/pages/documentation/getting-started/assets/validate/assurance-places.png rename to src/pages/documentation/resources/getting-started/assets/validate/assurance-places.png diff --git a/src/pages/documentation/getting-started/assets/validate/configuration-response.png b/src/pages/documentation/resources/getting-started/assets/validate/configuration-response.png similarity index 100% rename from src/pages/documentation/getting-started/assets/validate/configuration-response.png rename to src/pages/documentation/resources/getting-started/assets/validate/configuration-response.png diff --git a/src/pages/documentation/getting-started/configure-datastreams.md b/src/pages/documentation/resources/getting-started/configure-datastreams.md similarity index 100% rename from src/pages/documentation/getting-started/configure-datastreams.md rename to src/pages/documentation/resources/getting-started/configure-datastreams.md diff --git a/src/pages/documentation/getting-started/create-a-mobile-property.md b/src/pages/documentation/resources/getting-started/create-a-mobile-property.md similarity index 100% rename from src/pages/documentation/getting-started/create-a-mobile-property.md rename to src/pages/documentation/resources/getting-started/create-a-mobile-property.md diff --git a/src/pages/documentation/getting-started/enable-debug-logging.md b/src/pages/documentation/resources/getting-started/enable-debug-logging.md similarity index 100% rename from src/pages/documentation/getting-started/enable-debug-logging.md rename to src/pages/documentation/resources/getting-started/enable-debug-logging.md diff --git a/src/pages/documentation/getting-started/get-the-sdk.md b/src/pages/documentation/resources/getting-started/get-the-sdk.md similarity index 100% rename from src/pages/documentation/getting-started/get-the-sdk.md rename to src/pages/documentation/resources/getting-started/get-the-sdk.md diff --git a/src/pages/documentation/getting-started/index.md b/src/pages/documentation/resources/getting-started/index.md similarity index 100% rename from src/pages/documentation/getting-started/index.md rename to src/pages/documentation/resources/getting-started/index.md diff --git a/src/pages/documentation/getting-started/set-up-schemas-and-datasets.md b/src/pages/documentation/resources/getting-started/set-up-schemas-and-datasets.md similarity index 100% rename from src/pages/documentation/getting-started/set-up-schemas-and-datasets.md rename to src/pages/documentation/resources/getting-started/set-up-schemas-and-datasets.md diff --git a/src/pages/documentation/getting-started/tabs/enable-debug-logging.md b/src/pages/documentation/resources/getting-started/tabs/enable-debug-logging.md similarity index 100% rename from src/pages/documentation/getting-started/tabs/enable-debug-logging.md rename to src/pages/documentation/resources/getting-started/tabs/enable-debug-logging.md diff --git a/src/pages/documentation/getting-started/tabs/get-the-sdk.md b/src/pages/documentation/resources/getting-started/tabs/get-the-sdk.md similarity index 100% rename from src/pages/documentation/getting-started/tabs/get-the-sdk.md rename to src/pages/documentation/resources/getting-started/tabs/get-the-sdk.md diff --git a/src/pages/documentation/getting-started/tabs/track-events.md b/src/pages/documentation/resources/getting-started/tabs/track-events.md similarity index 100% rename from src/pages/documentation/getting-started/tabs/track-events.md rename to src/pages/documentation/resources/getting-started/tabs/track-events.md diff --git a/src/pages/documentation/getting-started/track-events.md b/src/pages/documentation/resources/getting-started/track-events.md similarity index 100% rename from src/pages/documentation/getting-started/track-events.md rename to src/pages/documentation/resources/getting-started/track-events.md diff --git a/src/pages/documentation/getting-started/validate.md b/src/pages/documentation/resources/getting-started/validate.md similarity index 100% rename from src/pages/documentation/getting-started/validate.md rename to src/pages/documentation/resources/getting-started/validate.md diff --git a/src/pages/documentation/release-notes/2021.md b/src/pages/documentation/resources/release-notes/2021.md similarity index 100% rename from src/pages/documentation/release-notes/2021.md rename to src/pages/documentation/resources/release-notes/2021.md diff --git a/src/pages/documentation/release-notes/2022.md b/src/pages/documentation/resources/release-notes/2022.md similarity index 100% rename from src/pages/documentation/release-notes/2022.md rename to src/pages/documentation/resources/release-notes/2022.md diff --git a/src/pages/documentation/release-notes/index.md b/src/pages/documentation/resources/release-notes/index.md similarity index 100% rename from src/pages/documentation/release-notes/index.md rename to src/pages/documentation/resources/release-notes/index.md diff --git a/src/pages/documentation/adobe-analytics/api-reference.md b/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-analytics/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md diff --git a/src/pages/documentation/adobe-analytics/assets/index/compareWorkflows.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/compareWorkflows.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/index/compareWorkflows.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/index/compareWorkflows.png diff --git a/src/pages/documentation/adobe-analytics/assets/index/mobile-analytics-company.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-company.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/index/mobile-analytics-company.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-company.png diff --git a/src/pages/documentation/adobe-analytics/assets/index/mobile-analytics-configuration.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-configuration.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/index/mobile-analytics-configuration.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-configuration.png diff --git a/src/pages/documentation/adobe-analytics/assets/index/workflow.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/workflow.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/index/workflow.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/index/workflow.png diff --git a/src/pages/documentation/adobe-analytics/assets/product-variable/map-products.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/product-variable/map-products.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/product-variable/map-products.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/product-variable/map-products.png diff --git a/src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-condition.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-condition.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-condition.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-condition.png diff --git a/src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-data-element.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-data-element.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-data-element.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-data-element.png diff --git a/src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-rule.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-rule.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-rule.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-rule.png diff --git a/src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-token-replacement.png b/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-token-replacement.png similarity index 100% rename from src/pages/documentation/adobe-analytics/assets/track-beacon/beacon-token-replacement.png rename to src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-token-replacement.png diff --git a/src/pages/documentation/adobe-analytics/event-reference.md b/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md similarity index 100% rename from src/pages/documentation/adobe-analytics/event-reference.md rename to src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md diff --git a/src/pages/documentation/adobe-analytics/faq.md b/src/pages/documentation/solution-extensions/adobe-analytics/faq.md similarity index 100% rename from src/pages/documentation/adobe-analytics/faq.md rename to src/pages/documentation/solution-extensions/adobe-analytics/faq.md diff --git a/src/pages/documentation/adobe-analytics/index.md b/src/pages/documentation/solution-extensions/adobe-analytics/index.md similarity index 100% rename from src/pages/documentation/adobe-analytics/index.md rename to src/pages/documentation/solution-extensions/adobe-analytics/index.md diff --git a/src/pages/documentation/adobe-analytics/migrate-to-edge-network.md b/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md similarity index 100% rename from src/pages/documentation/adobe-analytics/migrate-to-edge-network.md rename to src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md diff --git a/src/pages/documentation/adobe-analytics/product-variable.md b/src/pages/documentation/solution-extensions/adobe-analytics/product-variable.md similarity index 100% rename from src/pages/documentation/adobe-analytics/product-variable.md rename to src/pages/documentation/solution-extensions/adobe-analytics/product-variable.md diff --git a/src/pages/documentation/adobe-analytics/release-notes.md b/src/pages/documentation/solution-extensions/adobe-analytics/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-analytics/release-notes.md rename to src/pages/documentation/solution-extensions/adobe-analytics/release-notes.md diff --git a/src/pages/documentation/adobe-analytics/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-analytics/tabs/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-analytics/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-analytics/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-analytics/tabs/index.md rename to src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md diff --git a/src/pages/documentation/adobe-analytics/tabs/product-variable.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/product-variable.md similarity index 100% rename from src/pages/documentation/adobe-analytics/tabs/product-variable.md rename to src/pages/documentation/solution-extensions/adobe-analytics/tabs/product-variable.md diff --git a/src/pages/documentation/adobe-analytics/tabs/track-beacon/clear-beacon/android.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/android.md similarity index 100% rename from src/pages/documentation/adobe-analytics/tabs/track-beacon/clear-beacon/android.md rename to src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/android.md diff --git a/src/pages/documentation/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md similarity index 100% rename from src/pages/documentation/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md rename to src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md diff --git a/src/pages/documentation/adobe-analytics/tabs/track-beacon/track-beacon/android.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/android.md similarity index 100% rename from src/pages/documentation/adobe-analytics/tabs/track-beacon/track-beacon/android.md rename to src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/android.md diff --git a/src/pages/documentation/adobe-analytics/tabs/track-beacon/track-beacon/ios.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/ios.md similarity index 100% rename from src/pages/documentation/adobe-analytics/tabs/track-beacon/track-beacon/ios.md rename to src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/ios.md diff --git a/src/pages/documentation/adobe-analytics/track-beacon.md b/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md similarity index 100% rename from src/pages/documentation/adobe-analytics/track-beacon.md rename to src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md diff --git a/src/pages/documentation/adobe-audience-manager/api-reference.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-audience-manager/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md diff --git a/src/pages/documentation/adobe-audience-manager/assets/index/configure.png b/src/pages/documentation/solution-extensions/adobe-audience-manager/assets/index/configure.png similarity index 100% rename from src/pages/documentation/adobe-audience-manager/assets/index/configure.png rename to src/pages/documentation/solution-extensions/adobe-audience-manager/assets/index/configure.png diff --git a/src/pages/documentation/adobe-audience-manager/event-reference.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/event-reference.md similarity index 100% rename from src/pages/documentation/adobe-audience-manager/event-reference.md rename to src/pages/documentation/solution-extensions/adobe-audience-manager/event-reference.md diff --git a/src/pages/documentation/adobe-audience-manager/index.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md similarity index 100% rename from src/pages/documentation/adobe-audience-manager/index.md rename to src/pages/documentation/solution-extensions/adobe-audience-manager/index.md diff --git a/src/pages/documentation/adobe-audience-manager/release-notes.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-audience-manager/release-notes.md rename to src/pages/documentation/solution-extensions/adobe-audience-manager/release-notes.md diff --git a/src/pages/documentation/adobe-audience-manager/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-audience-manager/tabs/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-audience-manager/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-audience-manager/tabs/index.md rename to src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md diff --git a/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md similarity index 100% rename from src/pages/documentation/non-edge-extensions/adobe-campaign-classic/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md diff --git a/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/assets/index/configure.png b/src/pages/documentation/solution-extensions/adobe-campaign-classic/assets/index/configure.png similarity index 100% rename from src/pages/documentation/non-edge-extensions/adobe-campaign-classic/assets/index/configure.png rename to src/pages/documentation/solution-extensions/adobe-campaign-classic/assets/index/configure.png diff --git a/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/event-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/event-reference.md similarity index 100% rename from src/pages/documentation/non-edge-extensions/adobe-campaign-classic/event-reference.md rename to src/pages/documentation/solution-extensions/adobe-campaign-classic/event-reference.md diff --git a/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md similarity index 100% rename from src/pages/documentation/non-edge-extensions/adobe-campaign-classic/index.md rename to src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md diff --git a/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/release-notes.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/release-notes.md similarity index 100% rename from src/pages/documentation/non-edge-extensions/adobe-campaign-classic/release-notes.md rename to src/pages/documentation/solution-extensions/adobe-campaign-classic/release-notes.md diff --git a/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/api-reference.md diff --git a/src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md similarity index 100% rename from src/pages/documentation/non-edge-extensions/adobe-campaign-classic/tabs/index.md rename to src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md diff --git a/src/pages/documentation/adobe-campaign-standard/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md diff --git a/src/pages/documentation/adobe-campaign-standard/assets/index/aep-cocoapods.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/aep-cocoapods.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/index/aep-cocoapods.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/aep-cocoapods.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/index/cocoapods.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/cocoapods.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/index/cocoapods.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/cocoapods.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/index/configure.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/configure.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/index/configure.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/configure.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/android-server-key.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/android-server-key.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/android-server-key.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/android-server-key.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-identifier.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-identifier.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-identifier.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-identifier.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/tracking-click.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-click.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/tracking-click.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-click.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/tracking-impression.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-impression.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/tracking-impression.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-impression.png diff --git a/src/pages/documentation/adobe-campaign-standard/assets/push-notifications/tracking-open.png b/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-open.png similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/assets/push-notifications/tracking-open.png rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-open.png diff --git a/src/pages/documentation/adobe-campaign-standard/event-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/event-reference.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/event-reference.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/event-reference.md diff --git a/src/pages/documentation/adobe-campaign-standard/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/index.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md diff --git a/src/pages/documentation/adobe-campaign-standard/push-notifications.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/push-notifications.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/push-notifications.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/push-notifications.md diff --git a/src/pages/documentation/adobe-campaign-standard/release-notes.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/release-notes.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/release-notes.md diff --git a/src/pages/documentation/adobe-campaign-standard/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/tabs/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-campaign-standard/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/tabs/index.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md diff --git a/src/pages/documentation/adobe-campaign-standard/tabs/push-notifications.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md similarity index 100% rename from src/pages/documentation/adobe-campaign-standard/tabs/push-notifications.md rename to src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md diff --git a/src/pages/documentation/adobe-media-analytics/api-reference.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-media-analytics/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md diff --git a/src/pages/documentation/adobe-media-analytics/assets/index/configuration.png b/src/pages/documentation/solution-extensions/adobe-media-analytics/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/adobe-media-analytics/assets/index/configuration.png rename to src/pages/documentation/solution-extensions/adobe-media-analytics/assets/index/configuration.png diff --git a/src/pages/documentation/adobe-media-analytics/index.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md similarity index 100% rename from src/pages/documentation/adobe-media-analytics/index.md rename to src/pages/documentation/solution-extensions/adobe-media-analytics/index.md diff --git a/src/pages/documentation/adobe-media-analytics/migration-guide.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md similarity index 100% rename from src/pages/documentation/adobe-media-analytics/migration-guide.md rename to src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md diff --git a/src/pages/documentation/adobe-media-analytics/release-notes.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-media-analytics/release-notes.md rename to src/pages/documentation/solution-extensions/adobe-media-analytics/release-notes.md diff --git a/src/pages/documentation/adobe-media-analytics/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-media-analytics/tabs/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-media-analytics/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-media-analytics/tabs/index.md rename to src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md diff --git a/src/pages/documentation/adobe-media-analytics/tabs/migration-guide.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/migration-guide.md similarity index 100% rename from src/pages/documentation/adobe-media-analytics/tabs/migration-guide.md rename to src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/migration-guide.md diff --git a/src/pages/documentation/adobe-target/api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-target/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-target/api-reference.md diff --git a/src/pages/documentation/adobe-target/assets/index/configuration.png b/src/pages/documentation/solution-extensions/adobe-target/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/adobe-target/assets/index/configuration.png rename to src/pages/documentation/solution-extensions/adobe-target/assets/index/configuration.png diff --git a/src/pages/documentation/adobe-target/event-reference.md b/src/pages/documentation/solution-extensions/adobe-target/event-reference.md similarity index 100% rename from src/pages/documentation/adobe-target/event-reference.md rename to src/pages/documentation/solution-extensions/adobe-target/event-reference.md diff --git a/src/pages/documentation/adobe-target/index.md b/src/pages/documentation/solution-extensions/adobe-target/index.md similarity index 100% rename from src/pages/documentation/adobe-target/index.md rename to src/pages/documentation/solution-extensions/adobe-target/index.md diff --git a/src/pages/documentation/adobe-target/raw-api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/raw-api-reference.md similarity index 100% rename from src/pages/documentation/adobe-target/raw-api-reference.md rename to src/pages/documentation/solution-extensions/adobe-target/raw-api-reference.md diff --git a/src/pages/documentation/adobe-target/release-notes.md b/src/pages/documentation/solution-extensions/adobe-target/release-notes.md similarity index 100% rename from src/pages/documentation/adobe-target/release-notes.md rename to src/pages/documentation/solution-extensions/adobe-target/release-notes.md diff --git a/src/pages/documentation/adobe-target/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/adobe-target/tabs/api-reference.md rename to src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md diff --git a/src/pages/documentation/adobe-target/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-target/tabs/index.md similarity index 100% rename from src/pages/documentation/adobe-target/tabs/index.md rename to src/pages/documentation/solution-extensions/adobe-target/tabs/index.md diff --git a/src/pages/documentation/adobe-target/tabs/raw-api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/tabs/raw-api-reference.md similarity index 100% rename from src/pages/documentation/adobe-target/tabs/raw-api-reference.md rename to src/pages/documentation/solution-extensions/adobe-target/tabs/raw-api-reference.md diff --git a/src/pages/documentation/places/api-reference.md b/src/pages/documentation/solution-extensions/places/api-reference.md similarity index 100% rename from src/pages/documentation/places/api-reference.md rename to src/pages/documentation/solution-extensions/places/api-reference.md diff --git a/src/pages/documentation/places/assets/index/add-environment-details-fieldgroup.png b/src/pages/documentation/solution-extensions/places/assets/index/add-environment-details-fieldgroup.png similarity index 100% rename from src/pages/documentation/places/assets/index/add-environment-details-fieldgroup.png rename to src/pages/documentation/solution-extensions/places/assets/index/add-environment-details-fieldgroup.png diff --git a/src/pages/documentation/places/assets/index/add-new-field-group.png b/src/pages/documentation/solution-extensions/places/assets/index/add-new-field-group.png similarity index 100% rename from src/pages/documentation/places/assets/index/add-new-field-group.png rename to src/pages/documentation/solution-extensions/places/assets/index/add-new-field-group.png diff --git a/src/pages/documentation/places/assets/index/config.png b/src/pages/documentation/solution-extensions/places/assets/index/config.png similarity index 100% rename from src/pages/documentation/places/assets/index/config.png rename to src/pages/documentation/solution-extensions/places/assets/index/config.png diff --git a/src/pages/documentation/places/assets/index/datacollection-tag-correct-datastream.png b/src/pages/documentation/solution-extensions/places/assets/index/datacollection-tag-correct-datastream.png similarity index 100% rename from src/pages/documentation/places/assets/index/datacollection-tag-correct-datastream.png rename to src/pages/documentation/solution-extensions/places/assets/index/datacollection-tag-correct-datastream.png diff --git a/src/pages/documentation/places/assets/index/datastream-choose-platform-services.png b/src/pages/documentation/solution-extensions/places/assets/index/datastream-choose-platform-services.png similarity index 100% rename from src/pages/documentation/places/assets/index/datastream-choose-platform-services.png rename to src/pages/documentation/solution-extensions/places/assets/index/datastream-choose-platform-services.png diff --git a/src/pages/documentation/places/assets/index/datastream-ensure-correct-dataset.png b/src/pages/documentation/solution-extensions/places/assets/index/datastream-ensure-correct-dataset.png similarity index 100% rename from src/pages/documentation/places/assets/index/datastream-ensure-correct-dataset.png rename to src/pages/documentation/solution-extensions/places/assets/index/datastream-ensure-correct-dataset.png diff --git a/src/pages/documentation/places/assets/index/final-schema-structure.png b/src/pages/documentation/solution-extensions/places/assets/index/final-schema-structure.png similarity index 100% rename from src/pages/documentation/places/assets/index/final-schema-structure.png rename to src/pages/documentation/solution-extensions/places/assets/index/final-schema-structure.png diff --git a/src/pages/documentation/places/assets/index/manage-places-context-fields.png b/src/pages/documentation/solution-extensions/places/assets/index/manage-places-context-fields.png similarity index 100% rename from src/pages/documentation/places/assets/index/manage-places-context-fields.png rename to src/pages/documentation/solution-extensions/places/assets/index/manage-places-context-fields.png diff --git a/src/pages/documentation/places/assets/index/mask-everything-except-poiId.png b/src/pages/documentation/solution-extensions/places/assets/index/mask-everything-except-poiId.png similarity index 100% rename from src/pages/documentation/places/assets/index/mask-everything-except-poiId.png rename to src/pages/documentation/solution-extensions/places/assets/index/mask-everything-except-poiId.png diff --git a/src/pages/documentation/places/index.md b/src/pages/documentation/solution-extensions/places/index.md similarity index 100% rename from src/pages/documentation/places/index.md rename to src/pages/documentation/solution-extensions/places/index.md diff --git a/src/pages/documentation/places/places-to-platform.md b/src/pages/documentation/solution-extensions/places/places-to-platform.md similarity index 100% rename from src/pages/documentation/places/places-to-platform.md rename to src/pages/documentation/solution-extensions/places/places-to-platform.md diff --git a/src/pages/documentation/places/release-notes.md b/src/pages/documentation/solution-extensions/places/release-notes.md similarity index 100% rename from src/pages/documentation/places/release-notes.md rename to src/pages/documentation/solution-extensions/places/release-notes.md diff --git a/src/pages/documentation/places/tabs/api-reference.md b/src/pages/documentation/solution-extensions/places/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/places/tabs/api-reference.md rename to src/pages/documentation/solution-extensions/places/tabs/api-reference.md diff --git a/src/pages/documentation/places/tabs/index.md b/src/pages/documentation/solution-extensions/places/tabs/index.md similarity index 100% rename from src/pages/documentation/places/tabs/index.md rename to src/pages/documentation/solution-extensions/places/tabs/index.md From 884974ee6201e565d83f5e17a6daa47aff567f5e Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Tue, 3 Oct 2023 11:52:48 -0700 Subject: [PATCH 03/12] Re-adding files back since they somehow disappeared. --- .../consent-for-edge-network/api-reference.md | 68 ++ .../assets/index/configuration.png | Bin 0 -> 75216 bytes .../consent-for-edge-network/index.md | 66 ++ .../consent-for-edge-network/release-notes.md | 55 + .../tabs/api-reference.md | 296 ++++++ .../consent-for-edge-network/tabs/index.md | 134 +++ .../api-reference.md | 260 +++++ .../assets/index/configuration.png | Bin 0 -> 51462 bytes .../identity-for-edge-network/faq.md | 151 +++ .../identity-for-edge-network/index.md | 84 ++ .../release-notes.md | 70 ++ .../tabs/api-reference.md | 950 ++++++++++++++++++ .../identity-for-edge-network/tabs/faq.md | 171 ++++ .../identity-for-edge-network/tabs/index.md | 133 +++ 14 files changed, 2438 insertions(+) create mode 100644 src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md create mode 100644 src/pages/documentation/edge-extensions/consent-for-edge-network/assets/index/configuration.png create mode 100644 src/pages/documentation/edge-extensions/consent-for-edge-network/index.md create mode 100644 src/pages/documentation/edge-extensions/consent-for-edge-network/release-notes.md create mode 100644 src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/api-reference.md create mode 100644 src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/index.md create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/index.md create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md create mode 100644 src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md new file mode 100644 index 0000000000..2bb7425957 --- /dev/null +++ b/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md @@ -0,0 +1,68 @@ +--- +title: Consent for Edge Network API reference +description: An API reference for the Consent for Edge Network mobile extension. +keywords: +- API reference +- Consent for Edge Network +- Edge Network +--- + +import Tabs from './tabs/api-reference.md' + +# API Reference + +## extensionVersion + +The extensionVersion() API returns the version of the client-side Consent extension. + + + +Android + + + +iOS + + + +## getConsents + +Retrieves the current consent preferences stored in the Consent extension. + + + +Android + + + +iOS + + + +## registerExtension + + + +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. + + + +Android + + + +## updateConsents + +Merges the existing consents with the given consents. Duplicate keys will take the value of those passed in the API. + + + +Android + + + +iOS + + + +For additional information about the management of consent preferences, please refer to the [Privacy and GDPR documentation](../resources/privacy-and-gdpr.md#using-experience-platform-sdks-for-edge-network). diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/assets/index/configuration.png b/src/pages/documentation/edge-extensions/consent-for-edge-network/assets/index/configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..c750b9d9fd2cba922decd4caf19a83df2c406bd0 GIT binary patch literal 75216 zcmeFYg;yNQ);>%K1PgA#Awh!%cMT9+f(-8NE`tPuOCY$r1$PFw;2PZB-Ccg2Bkw)u z-oM~m>zmcHrlz}g*{;27*Yi{d%gc%*BjO`MK|vu)eEO&e1@&?m3hKo*{43y&`SU9* zC@925GZ7Ja2@w%ed3zgUGfN{Vs87MM@o@6dvp8RlpYsF#pb#=YAv7b5A&^pBKuMNm zVMGZEBYYquo%!B{t%?0H=Laq1eb&kzVy`+Hk_r~m46dPqd|D_h!TV!4Vm+7Trt7WL z#N_j#zWV%y+vCA{sK~Ee`gYvKFoFTpQW!_aT|wcYCM&OA;73B?K|wh{6hF|ivcAz{ z%6@)-42EL;VWT12eRuu*TvTv!qsRay58WZbOT+PU)!DFlErdc1D&rfe^Vbx*Q}Sh@ z1WF;qkFKUspYv`9$f;yLsGIduF)tA4i9nr@qliaAL-pZTuvFI5d?Hk&?wER;ChvEm z?zdPEje@F2&X|z={X19RJNV?cPx?^3tbU0S-XV!+@i!7@H-xewDf#zF7)=rK?`5|) zp3=q7TPfaYu}62lQ6u*uCnfylxbbk5YxJs5EvA~uFu=cw=9vbk7dp#0f%fuSx*l;4 z)u$E?PrZ}ZR7j6AXPjyWy?9$vp6`r7QFsg^v2>@#Lrmh#$*OTU6m>{9mTnKcLWYB{ zO^~v2hs#;%-gi$PnYHn>M#t#JVCP=2ke+_TSSMBWZUbBu8R6h;Q}FQmGnY>$%WGdB0o^Z9 zD=$0HiC%W(y)itEH<4jqPo)`-h5rnr_8P~2{pNLTkOf=3o`sdg%eIZj)F<+#0J%k} zATRf+xO&{%nB{jad4^MQO0NW^$e{L6jjaM2p)#LcZX~UMhRl0;0oK>eKKz~32{7ZjRx@wX;8^r<2w}uK zLRYa|@lxP$+mcriAvpXn9GxbsMJHMiR4;^xOeo10qT;)mbPCcj9PeSUBP7Kn^fWg z*D{k~7*03zy04yr{s)=_LTR!*!YWh;LWdU)xGX_#5ncMbAk1P+b|`{CnXb|{>yD$J z?0WMRi!(0{-k=1Ix2dfx*phLgFd(T075yaYNNr#2Kwjft!#-(n)o3E&CuZ!}ULQDx zJIz0>I~h4$hoSIAZ}&$NUO~4<(0~UcSosn733YHPB$^64z7xav9K0Wd{ZniWcJ1Ao z1}rSBC#;D-6KrOOx<8`-JH&XbJ8b^%N}smKZ4{v;#O9>utI)F3E-8A5lF5fr)AeIW66dDahuME+&iW|Nta7HZ zMqQ#(sKT8&QN)@jtz4^sqA)DKl;a_PTX`0VDBA__@f!oSr(am6EdPq&AznQ@wf39?c{_cZjvL$@uuL#*X+d-^Gae zoH-p^%bZw^SdE4`$;5U6xbS>3bRv1;xX^n_*Yw6b$1KLQ+LU+dqeYTMfZ3Mm(O6Rk z7jqzcj}wZE?5~t;2V&E9^)2;Pb=vB^>Qb|CvwhQhi_jX{nh~>zolz%VCq<`zN7?4JM8{OiFlkV%*ujc4;39^K)@CsK)2Br*k<d7$u1E~G2S@ckY)a?jKj=AyQZ$Tl~*Tpt!*`$`a$(hT4>@vuPSSuvvnCoUzAaz z)vWHUjc6TWZGWA4g*)4bt@cAxlw0a~iy99oU*ovO%QRab(=^&<-1xkEY9Y=-!wTH< z&2rnMuDf*dsHWMUZ`mvUkq@r06FLwXg$PB5D3y@nTllw5*#OyKSvJ{bX?&KL`e3&{ zy!C_4rtaIEb1Gc%c)Iv(25*RZLtZ_xBTo@pa$#>GlgWK*<^7L38uc4eqb3`<2#^PckjPyC|%S}pHe6k3#9 zzF)Mc~Cx=+Q zXd<<3uZ4}k!KcTfw?ueBb`WVr79k=d9Pj^xAApR6T!aF~vBqp+ZesDpuV7u%{dxbX zte5^fYPNK?p#ssbm>s{JyB*XI{2y{ZcvhV2t9EIJkB4D)*L1J1Wv^d%MbMvVReS!@ z^%W7;6CTlz?i#?=(ax$T_w4(T8%QDR5gKcndBp%&Vqg3ApivDFg-0rWWCPEoi2A3wr|RH~gp0h_ z9%B042;W1fWgPiGQ#rU9*UboPQXgq-Ra)LxDo8{crej4h#MK)AiWJ&S8dSPUEf$#P zYvjH+kaZlc*z6w=9VpvO+O{6_OxupX9!I=DJPP?1>rOjea-h?tUSq;m&28q?ga4Hc z*5cLlT^V2bHwc5(;-$y_!`Oq%zQI%-wkd8g{hOQN=f(ixE@271<5$zjjjiI|j1Mgq z*^Ax%;maYeqN*V!p#!0_UD%GMmb9Ag&m%fWjt@_l$2Bc9HM9du21>!T9PT#Ta)ar6*JekwOV>`Vrrygw zCoi}6Q}^~!&50Jqpg4N*15hal8{B5LZ7s5m*3&56KcAx8estdG8VMG-CPe0*vkP-8 zKE=(}G5_{C0+&r>sD3D$-Z!pg3Nm$s=|jamr#b)a+5B?(}8 zr511#Smb*AxYaB2QTJhWPCP+eG$NKbUf`Fz;(hY0jg03v&-^=2K!xG1ceY=6PR?9* zk9A%lrF~D26`1za7BJ*-w4brL*$Ne9e5Dhj^DP4FN#vGr*pyIZ&?t!czn;3;z_ySwLQdO|w4K#zwPf7&_hb?#cx>~yV-&@!=% zp|o@m7sl`e^%r5Bl$6(P$&bArgm6%olu$oK$ImZg1jlWBX`r8j^G!}@>|ioValiCp zL&504WmF>KnSH;(+R#Fi6gnt{s;!DH^A2X69d_o%>3fMMLo6rV#0Cqc3f(px6&!rp z5FA|Q^r-^%h3QCY+CG&ioSVT$!Hd_A$|J*QCoYL;x6c#n%WMh7ZNv{+&zO@Z1Pa>r zq8LEDt6~I_FqV;ldJm-Gpnw z#r5xuLZ3w>B!J(~2KGiq)()mNj=0_mu|QE%W=bGOkc>39fsGY|o}rDt5reCh?Qan% zURQ1)X=UW7N9t;2Y3;!6%J=q<9Na+q_ie_vq<>^_wBUOSl94ABv9UKIWn*AvV0z1s zNJ>h|Yj0@Gt@u&wFLB@>-&<2hM_X=2Mi&j_|0^31<^6q^Ti(po$P)C?%nBGDpbma64p!bj^8e41|J3-Wq_TsN zy@-t!APD%m{~O=Gg#Y>QzXkuOQtdxgvN5szv&w%w`Ad?Q@psSvF%o|c^B;GCapp(l zW&A&#@gwe+HR(Y?2|`JH6jE}1agYkzq@+9@IGu})S%K8p*ywq9^b=-qdSu#Kq2lFB zje{fLV{Hlh5e{H<9H(6Nn|Br_1!^{&8u0LuU_Rs z0uQDF4>whh59ei9`!-*#PF6D6H?EhhX3AIDJ$}Lye6Y_6CuW-yi@-A&8X98vdT_Nc zH?O=poY%P>QKp4x+ zVAY^0pK)>*WqPs2qOFq9e;E`0S74fPmu@q*-gPfMu3+AuWXm09%kfvq@!yZ}->(&A zkjE=p#%xy@^aMP68)NNfig?Kp5%phaI$V{zZKsWIrMoa_=svkweuv$z;&LBM;zn7d zhJH)>uggjzgC-j$+-3kKR>ck8BejCG^XBPdThGKoj>2@fz;Ij zQrV0HV~e?t=c844967iaJjh>E($v9R+b=mVw@1rpb3V*sa+U0qy9NKruC)IB=YaoM zV1^!G<)z;XdnoQQ#nWrWNxZv>JO)gHCTz)uQ4HY$ z8KwQSUG=4fpZ(GQ&;ETHC;=Z6QWP)JcvSza(0JV5bMO?H4iD#`Z09`BYC$MpyXrkv z9nKD#XJ51>O4hsEon!T+P~iqTlgpy?`t7I+Ov}w0(*0^6Nr(4Xid{FJRbHZTCD&F$ zc1dN1<6oN0$O3$bD%SJQV28rX5|<^Ly2ZyYd{;lKFqboIFc69xw+d^!jQ8iKl5I>E zneTHcCglMCb~*jso*FuW?<#@s>1O=}j3jeE^V#F|@_f9G7v54?^VMAKl)8og_1(L_ z6nQBLNX1SZ5MA>caxB@`Ejmv>Do16{4ZZ3=ch;~m*04NFpQHcyaziu3;iXb#2&f9C zoMG90zl5E+O2%}*q^_20TbkbhTI!-^THE5Y9AC|0)A{gfjWJS5Sm>X+6hr|Wr9&Id zH3iBIzUyL%^H6x*yvy=4=x76<;VIE1soi;2k9NO)U4VC0<^BNQuuV##=VbgqB{5fBietFyd ztK#{rN&0L6fwk%RFpo{ChJ&_<9Ug~uO8wZtHu$KXinrDMsD4}a^#C7Z^F>tVgXn;d zV&(M`m@44MMLc86jXw3ZBy9<+g32pYVoQ@Wx4grK{ZjVlhjTf{WE25! z+HRYcZ!lU-rRwGNES~}WZVF|=(GN0cpw#k` z`mH3P7dJHfWB~Od1hLbL* zG_32pmfZL0HSGH+tY(ekYkuS<^#{Dh8_UC)FHRh=e-Xb;%;#=cudbz&t;v7Z`_6}+ zN<>u{N7Ghl-Xz`Aax2kp0H)B*NnAYf_@;q>ma?V&qCgRQb`F%(&2pVEX z;$*w;7;)oL|9)~~GcA8Wcx?O1_j|Xga>J&5mgkB#r*cbg|66d1W~Uy<3% zl~vSoH|JtL%g&w=Z*C3q99PTn-;zUovo)hhVzMLn@2F$UY9>{X?p^FIwe^E3EP+s4a`<}j>L>g&x9g{=2%+IH)d z%b-WwcG1KxCmbXa;WT-DyK}MAcSJECG)>UgywCcmMC#cAKZ)ay#W3rdaiBn4Tnz~| zKrmUp1l%minjgBGSp8-*ZOE#Ann28URwx5=Oz|X3pxSp692WT?g{x23sV+-q!TzGK zSZ-J@SWZ`K`rl3TzSw7f!7yRad+{<@J$V*sBU-x~RzX$;uOP>y2%;d#31u`Qzc2J;P3vhTL$kJUe@h)&|b1iU83 zpc}>2atwQY(8|A4Mt(440Mz}%fq^|b@P5ZzRzroU@^Y0;YN%6c{4Q$T}s0@hu zdWj~~=O`q>1x)Tv7R&7<3x;RzV_HPwINccH82UPp_)GoM0Vfc4KM~lW;tB)K*Z;B| zj^uSncH_p?-ei%{F`bG7)@MJyLhAY$m&!g$q@yN}h$6PAp9cQeD)7^~72Wt2e%ByQ z1$~8+DK(SSjHYZlt}@%tAp$XQ{utA`b+TDA`mbthzz3k;Wt$%a_hC$}HP+B#}b;Aw+UO~t1w5uqYqfoH%GX2r09PjBzTXFuKjIW4m=n>=V3|o^W z@dwG_aeV_VGy0*hUAI8^iOMh+IhpYZ z2oosj+6<9MBFaWb>LHM~DMQQ$W(xc`Zdq|ot#OC3oO)V?Kf43D2{?0*U0?Q>b?p;cZ8;aMWCGyQ~P}O(?Ie z7YA_!j)thac@D}&LPePiIkQjdML9GGPmil;=BRx}`0p)UUopaocVV*-hx>PgZYD=3 zqMrq>G$hk6*>)~_Lr~)liIsn@YEUQEyF#*X!r$$BCRMMmE_kMSZfK|N@Eve;!xFey zp{#W1f3qL-UMQJ89^C!qA4F0ea5;xc6dEWlG=eQ)J;^&3!b?Gu=O=24+X9a!_wI>H zeH!S!;>fCPy=+jv=R55sS9ghYwV(`{nD^BZsfAkaMg9L&d;vQ&H(_xbzT3sAiDfYM zbo`hmX`Om&>dT*TAT!VGCtyeL1v84v=}n!XEM&{iK-S$@fMIQffSA)(SDttF<=}4L z>C0vat|%rM!@`$EtvRi)3heTVoQ|Qcw)A3w(7{z#SS zAz^DlYjSwkL7XYf4dbWYLMJs}+q{!Ym_2!FjFAlScv~ z%a!%4g}xPIo6v^i&+lH2rQ+4mF?#KUDd5(fn)KM>x4y#C@fMP9P;}bepMVE6F~>?`+oHgr6 zhy&WD`LU&>aaYz^Fn#f`*h~C*0Je6iUwvRxNKLeFL*SUpGPJXr)3U$BU3#x>!Cq>; zLY~moPnTjNXAh!#`Y};-_2Okh`P(zT4j&NpUJ7^kjh+JaDm54N6!ju?GcSI~_Hx5n zZ@X5hW?);Q01*0mac&ZbrhQJ+;>2nJ#G^p|NwZML08Z9E85#Qv3&w3jq zIg2Ud#??Hpv&KTixkKwrq^TYd@|BgV#oy1P0gC|;h{ za?vWUbV$7j>V$Q%BEI)a_H>l{fFncKLPy+&o2jkfs(?d7MdeT8G@(GO>?-J~ z9{>qsItO++wgFekTx=HDQn0e%8s2h!!pr@-?2Dyl zfep@UASjPLNpFg#>Zq6J$5EZPehmD^K6&6CAcw4XX`3YrktABr@}KpsCKTtSJicVst`Z%E@D!@ z_13!aa4X&y?q!_m9;52KIYQ(KB`)q>)W!O#!KRp=3D`#fnx1U0Sf>I?SdH^_FwjwEg7p=j=e@#S!)eeO#I$H%_)WBa{FQfpG>Do;;mw?B>0JP+#9D zJXO{zBf@=BoL-L*WJ$*Uk4jvj-NA2@a#$Tu%^+igCf-VD#|{Waq(eECXeODGEN1Ac z?74~iW^T4NO4Q&ANtRPI_F)=)@7n7L0+mVEW?fGi#iU?3T6P?Dy1SNMMbif_0Vh1U z`LcFD=1mI?FYhr628IbEUa$VIU2jkW^<#|B%7M)e+_fu~ofxHN&{V^z1v?#ipH zS4OpZyG}hAQwGulzZfZ?WJpsxx{r%qTgL|qk2A(`C;!iOccU;>z9?SX?dv7~Nzepb zJ^9DXGW;+ooZQg+>#Am#`OJ1nZ4bMF%|b1YZ&->jAyjQ-S|Es94v4SMAc7AEWjI^< zfK2>{7$@N%w)qw7KGxwEQSU#om%Ri4JOgcBah-f>yb0OYU*5}x&v`crj!3m^bIZ?Z ztZzS#T3c8_7VIjcfu`=G9^lQ!Tb1XEF-=X=`aD@M81e`15d*;B=gTKERSn>DkpusD zZQ2+4z9C;`Lk1YFRFOHyw^B`HS9^s3_yvWtf&3r1n!GYhbr08P0FgOKC@JqYR!k}? zG@G(E26?Di4-FkGNjFCQ6=nX7l}+&b1gNHrG@l^OJ0>q$^^V?gljdC|8(YQe?nGwR zO5|y!f-}?ZwdUD=Ed1pL{}NRbp&fp9aa|rfPn47ALG!6ZU%6d|Bl%Tlc}lDQZ(Q5w z4AT_U<<_WmUFE<4DSq&a74F33ynh(5yidDl5Fi zdbYbQa({nTWV4^e``+(g+yX12Pk=(o^5cquhDkKh;cu)gra_sjD6&n%rj=xl>`>wD zKSmcoFy#qg@P+NX9!p%T9*3N3M_O+h*v&=ji!Gqjy-$@*BdVqT4l(|Y<}Wb|z+JaB z)62EU?8}oa_fI{0WyqW5dhnyf91HrY;LGqjg1o`^1^;T-#Cx9xm6VDdE6Akv)j4D9 zl=&m|vXk^me!6!}ILqPZH~^qE#FqI750JqCKT)zaNIWJ}H!C9Ppv5|VM-S7_a;OAO z+pqhk%={09_{>qs$A_@wo7l80rrD2_K3>hDQM6fs&kwJd=Sn{Qqfmg-$hd=_NL?Fr zNUEF3j7NbkYN^d5+$3%D(bG7Xks5IuZvXUeJ|;sEW>3~`$$WdseM2c%J$j5j7%HN0 z&OD!=qARoQzd+y;xr|b*?L+6qku(6OoyyO7BbpHo&wG1uUh6sXI7iJ!@i*4^mtbUo z;3DCJV{t?_3pg=oia;AeWuI%TP2zjlNQPNH+}l&^Fh+<00oqo+uRnqB5c?riJU1 zM8V|Pdt9rL{yb^<6l?bn{k%XgfP*G7uR-%f;T_X<-K|j{YB{5a{(&$$YODu|z~L zO#zl-I^DZ14pi;YZ>#~$kiX`!Uu1Bw0)D0|;54z~{bAJ{Ry+bLG(Pm7;zmhf%&jBN zTi}T3bL)lh^FwZJpy_aaJyFyn=$bJonNf;$psD=ZI_;p@ayd!d9Ru1r!T*k_+@-OZzHfjTa_P9$W^JlMn{1$=|*!g=1;`y zS{_c63|6StY4s|Z>K@yabitO=?TsXJ2H=T#hQOtnJ^y$}p#k zpn|^=DS81FbiT=5yGY^_X<`BtoX_U`IImrScMBPv9oE}rulo`r$5A0?0M?^?)%bWd z-|3{vjcN1#Jf6hsCKG@z+{j4gZCX7OY%}2V7thXs^z3hprxQ2`#PtXSiyhm?tn8sd&t#&rNY!irXy6t$vdZzCN-7_RLnpmfjDiJtbq^_LPcnxN58b zeKkU>9)&5#`wPJNtdarH-7?86?}w>&jO#jj0YX<|Y{yp=o|aQ{aS9wCI+!Q$41$~L zXcbJ!ei;`Zk3?R2PG9M)86ttB{q;%uwMRVp?AoV>_+#T#Czbut%&&X^T;9Dw`<^-l zfK?sjOSh6NN_TSE-9|nVNiEv-5SajYa8r%N^l%)2O(z5K{~^E|SK6(2*GTY>k)QR` zmcdxiN_x@vDywQ40nneLykcmd4cCB%`BDgt9KE00-EO`JuwS^h1a^3x#ZvJMR!N8U zQ*OyPIRO}dV9aT5TNMBjJ0V|M#8Ctwt&miwDK+c?($*i#p4VD8M4gyMB{frpAnh1i z1B`-T14C5)HF6*uj87O=LzWWdUK*>)veT|1|u|W&8^3n}1Q#DMhn1TPP+MwrKdr94^N_9*%!Vmg>GCYUX*aJn^tG_uWeK+}z zaG8uf?Cswa*c~dQvcf_l7uN>{`XV%ZN@ILV&0^B8DEu~7AfHS7jt%!l-0aFiV%d&f zgOHeEHh174h2ceR1mMG(h^+SL1@nWkC;=YTNgFN+bI>T1=Oc z^$R@Rbe1+Aaf7cHUB3F`OG%VzH~aFaD<<8x{3gK;(!fU*Gyu{0P2kDZ06I~ooPXK2 z6Pdm=B$TlQV%2z9OJ-TiB(eN?DUjH`*ES->x?xxNw!F7-1^=n{UBnEK>rL@1P+Q%+ zbz|F}Kdv@>otE>g5&NXl=h>(GZO=m?^nGvP56zMZaa`T&cYp1Am*dDH(HBO$LvnV@^7Xi(om##78 zgdYOcF?f87XBFE4o(-Y-(% zyIAxOJHH?n73YCGKiwa;y+nOYOi-OJg332x3{2xs3{*{z07C7%{WC-8YsXJdfSRZS zg7agY>rHb4&-*K@A1u7EJJAzVo8XgnIFaQ?z!P?^VKl`9WJMeVq4A^x2~H0AZo)8H z#+WVuon1BEI+*l4Z-SeVoPLZ#r+QKIK`o=@5X-BA9pTJ z!x~R>*{sZ>w0`R&jvyA%9j_-sOEoNA8~C6i@HesWLZK95U!zbQL8rt}@e_lLgsgIq zgx5-zYcqzadrZtUqNt=csibO{+e>OkV*==jml^d}z~)V)ydX3r$JL&Tn1=T-j~f7x z#4*Qg@M_-3INkGVrKaQUHqUVr=9!OE3jdnQ8LI)t?n&}jsXJ92Popq`u;!fhH$EHq z={jDwMvVYF)yYl_8CAUFU`N+fyn|)Laywx%Ai1=%e(zD zlD)R$=BK;;!yXdv*Cxmdj^i>{UAQ_hQqBxVVTnv1i9IhAzySMMESJu&*VN0Fw~cRN z?=Llw`d~-^XLekFhpu-%NpStCFi>!^(VWCR3`MvwZ7VB9iQvU$#NH2d6aw?*mS!zr z->kRRtu1Ld!gu|;j4IVp(RRMO1PqWCtSGQ|$KKBbF{ajShX(-5@;W*U7FUx=nma)r zhn6}nh*oKKO|KRIR@dIAa=;Iz?)>?__1R)}JcZu!0!*m|X=COxex`O4N6;sO(u?u} zh?W4pJn1N70F%x5Ql6j4H~w&apJ2#*8;*pj8BjZ?o|6KGji=4JRA;tITi+7G@su?y>h~}SFh3> z_n@jaWt8-e+Qk>D`)vhZ%>-U%E+b)XZ2?d>qdD2bm8n_@P-$Q@^!LM9R2W)R8!}POC`UaT)G4`tMxqds1M;fwg zf(wvlpF+WBHQ}7`zp}*x3ls`}b4zz*R#6gkPI8U*dJ&hv))EKHrT@Tfa5|rlw=8$c zjm+%3HvUsgaIKhU1xSoo;ULn3w>donvSudY9%f~iDPTYR5)m=fCt8l*?TrNr=gOD3 z=E~W%{%NsBr+u7m2^@qbfhc|h+Q;Pmm|%AC<_7sXaYDO~Z)ia~5_4kF5iWBrvPso0 zS86O`S)a1dqIF`N<|qvC*O5Ho%Si9I4X6%L?D*@u$-7DWe?sI)gv`V$3_S$T!bg^H z6@q3NI@jbK56D_KCjGCM0v~w1jaI)eW8NWnB8n!9#=Us?s`^58?qxrBnmpaY&6}i9 zp2y{LD9okkG7p1>czXWf4W#%09;0D4l&yX7+r6R0y&89TY2JQixuxP`v&X}dL5Jku zoN*t_4#`Ed0SXW4ZNRI0=eSattD%!q%-FkNQ~>x=PA0fvkO<0tBh)u*UR2_1KL``p z*F%|Xi4j9UDJ;EF?s@Pb2$Qow}~-zwgv}sN$x%7DJ8=RCw41@PD6$q61PDVT))JzU||Mu;=nfE zn2QOw(7B^l~&u;r%fP67I-fVam(QqCFqNYX_j8gR4I3JRls zXZZv7j??O`PI?}_Xl@KQBWsCiL;X^=?px~CmhufGm0Q;=5E-?xYv5=Z-#6RUV}U24 zkTbwT;k6k33WPe8HT>wUAl33h%`{pWB!J8GNoZdWZf=`($4l>g6P?9T0}l0F-Mn7 zS257(dmqnoy%Fug%{2+&w1S^ZjCdIq;^oS_8#HRA0#3kpIYaD^okZW75svy)~^KBWZ0u zd+F3pS6`+T4VPQ~>b9Mv7c--@8OARQGrb>(vw0@wm_TNqA@y+FWYn2IDgUKftPg*< zc#m(X0G&9PW%y3hKz~F(pf1?MlN*L^MXr?F=CGPq!!>{u;?O8Mg}n$kvLh8OCuI$z zSY?b@V>zm){w&;ea)XzT3^b+HRucelhYl+wVITxUvAF*}=?OTlgUz3H&^SieJbdrb zgtWVVfsUnDyY(}6%T%2@hJg;|!&Z4@fav7y27WZiQ55uXL*Q_FpLyu!z)YUwX{nC( zV-N9&0a@9F>a$Eccc?2q;h6Zc@R=PdN7oY;bDnrlqHxFNTG}7lx1ZD~F1Q0xz(koO zDo55E+^1>5*3093%wUHn1dpjXk5A%Gi5U+h4AkK4n7VlLp7zZNgcGK_qJb1ug0ewE zWFNn`T}G=?zJ~9|_l?5Dj^Ryj($i|M^aV3LSKvdsXz^d+niiWVw8IWlkv#E*5O-)V z9?v5cz6im2?1l|1de8#C~RE?UKVJUI>q3PzM1t`NOG%V@GbW&Z>HtD?hMi z&F2BJ<#Ez2VJdC1J)Zn@rg4e4YXU^oR}^gH9x-GaFL-dWA|lxVJ3_279@4DZZf zHmmG_kIROaJH_vn@sEgyb&&AJv(2zEhR4sQsa;6CE5pCu-YJy2pI=<4YrzyM+O=G_ z_Z-IY9F;IA0;jB$KK#MKIWJfv&AUF<6mrIIj?5WLIad#)Tj*R=rQjYeEd^y`wMY4W z#8!J|h?k<3q$o9p;Ghz6GC?qz^+JddMVl73j}|<{G`Uhw%sO-y`{#Ig11ZLqStI8&0#_#E0wC!#D`dMX zYyWOOe1CwiI@EMZt}VNV&N~muhcoFG#rc_q$$ku@xzZgFQPkn9v4I zdmrw(Fu=x7)is^8Tz__iq(JQASV4~Lg1TL%U8`xpjpI!|*D~fepkk87UUu8v?(rDJ zSvjeZEBj0(7j*y=qVax^Sf@yn>vY0FgMwJ}Ep+(DjIukKf}_r<0X~V5NlHnCWLoVy z>x|J&3`%s6G?(iuySiG_H*~d-Gtp-%n(rV-+f;x7j;5jfY1cm1j>>Zn%C_!37};`Q zrN3x4loOnFV7>`)djzB~MpWF4vBx(U1Tw{44|O(GU3D|M{Q zZOa|4bcfu~PPtqKytVF=9A{rUb;Wz|b7&pzJNYybf|a`BKyQ`4wFJTH&rGOBTpe*( zoUQ5?P6UVLY~m@4t!)loC5mL0=P(C|c8V|OTV>}|-0c+w=9G_)EzMjLmX+CxY@r&7 zW(BtTGrsj6JChxsRv48potZv7I{BW{;frj5Kc$O{64TKYUop!U^`PFOiu3A({6vH% zm}BTBg>h-;Qh1&*q?IIY_mK@hy;W{t@p!vt=0o$0?XPOLV}nn%c1%_Rl7)4y>UWw% zFonZw9(~x;^A=^#=OP+J2{B0M1zyl)#&^h%`P0NaD&By9>{Q-5)cuXO5qTV^!{!RV z>4+1VS?)rmm3(&}Z>BtpdOl`-7{C~+n`+#iuc;3sNmn52pYNMk}YfMdzyAcx~?L7g%7*!vmxZbWuXf zfJwB?FXD1!r=lsAlCrEL2NotHY)IUwyeEP?0@W{6t;cJ_O;ch}%fbMphm%fsG{9`V z+UzRMWPVMM@b=Czs$>09(KHn|S_S_prDM?ZLPyh7ZRU(GzUw5cGQ8Df`GWyU2t5*Z zm>VHytjt)gLPyn?pJbo;t?yd4b0E*>>Cb+5dBb+oMkI_O@7L2boX<}g9Gmje?WxHO z==#ab?8jKrn5gTi>mZ=@lFo!4npHaYUu9#6M)}?!u70J@Y=<$4<>94|=XI_jEe+YM9>~Mbm1j#wOb$MXl!iPJ*%+|c@ zKE`de7(}Xcvv=dam~#eb11UPP=lm2mA%sk9R%D;aM%G!fL-Dz+p-!s?yIWK=NlcSc zaEqltBHv(9==!Q z*82z+fkB1`2yl8)mZB?a1uj4rZok;Acx~9I zjcd1CwWise7%$%)#eEmor+3wObu<2q%-(C4>1A?Y$c{yYleV8aQ`R%v|;993K-d&brlbWOjBF#=IdiiyIiyEG%QJK6`Agu0(+bh;4o$F&+?O> zKKe)KLbrH&;mc$A^h^14-t~&Xo38 z;bao+Q`yz3h&b;8Lt<=moT{znWo%I6byUkf-4;^(`YgxWfpXu4X~ebY z*GHKtAkC;Vp{H{5kL%>pnh6Pd{y!1FA1}Frp2H^7?J?n^C-q^BrKeIQGMy4?n@*eB z@t#inSumd=KhJSmhqpa0kM!&(@!WhU+)iQfP{sL9)7evF#9JAcX{QAHLo2uMF{}J( z@~lRW<##HwC~9Uc%}zZ_`BSkc${z#r%!otJIB{`6@sZ?A*#@xEu$6m zRs@%<<1J%(^0M+XASlVgYfUE&QynTD*KsD4PM#$a(`ESS5bU`Rn<3XC5sW~neQgY; z@S0;sf!NQ0x9qXSVy=bk2R* z8KzLo?umuvdy>;q*nNLwrj_d5D=D*9iJo~igVrL`A3f?k8XgaWSGx&?YGpsDBkalf zo$7vAj`lFl=Oo5nn#a{DrW7UmoKgN}PcNn0uuYm2AGn4uHML`{I#?>yu)3o~-a=oB zWtgMD@f1B9DJBifG&C5S-_3043?v9Q6!6S&?oXeVIdbfmX2HM4O-uMkvC}IQvL3 zGF(M9&S)y~H|99_jc?vujP ztji^pKLn?47N%xlIEDU$Jrq<%D?kiAzs1#2#%9`M!%WH2l96OdaUr=+c8dE|Uo0d0 zSXk_eUH?y!m*@o$fL1kW1qk6+!b?}8hvS*tn$_79=^hKF^SKQpr6I<3l*{8~J39Z} z@iBNMO*>-STfgnNIF;A_!(zGtgW78{-O{cB_)6Df_2rKoCtLevK&SsC zBUzz+Lf#Kw^WQ+4ACKU|+v@d=4#w+e=Zw-S)WUu5Zwk+*87wA8TX#(UyV^AbB_+ES z{gv>pZB4RsjGcs8k)~@%zku(1Rk8b>UrO~S)%|RjRVwWTpZ>`@;wK1pVQtItKXx3o zJb!;Brt_3#ljsJcT(|XWQ?9@di+up{U9L?0bF3hfxBMO6qs+fKy|?m&J|Q&2FUuNh zAcV9^=FrW_Ptu+?xz<0!J(k0G>T{Z4CYJjLR4e}3$qA0%GSdsLV9)3h+g+Rk!`hAn zGVEc|hK*}$VoOM@RKK|3V~K|)cGW+1@`zawwC2&nhq{ZdWMr)Y=ZOD#3rn5x?nh5} zrBy?p!JUa)%@XV!*7X~Oc z-wC#6KmR?0|9;I7@!fCP5*JA`hT;&!#^jQY=AK7wP{#Xu@G`zVV;P1atcl2DnXVz? zzhAtX0;H^51V|5z$jhyb%T5S~YId)hWV)L@lCF&WvI}G$<--52<4-*zQjO+?oTCan zSw`@kTCUbB1x>)X*FDo-HcvXgJK6+05vy9w78X5>KJNtn_oTUinFA)x_LKPdwzLb5 zv~DemOzqQ*4kC)G%!@00f$GCW(n175f(_Bfa%56kgntfB!`t80dZO~HsGby-FnMxE z{6D_lDk`p~?b;0lf?IG2?k<4@XxxHZfX3Z|LvRbhJ-EAt5ZpbuySqbh8f%=rc;4^d z@ALg*kDa5O&|_8As=I2{yymRhLdZ;FN#{A2>_t}Hetux!#7ZERk`Qx5(#ikwZ2Ix2 zrazPLPM-MQAYrj#`;Dfkc6dbHm&#Sv187K^WSz}-v_zuEA5ZlE*EoKX${xYl3nukm z?2RsWaI)Yl#BH={mL6{6jxPJOSeo(oz}Tl6{>tLlZ13V*vj6WN5NleJX+NCk%VH3C z+w&tqILn2qO0T2`#hWjx_ED-{^WwLJIL%JVQ$r8!VFHd+DI6gAL>~{awbuY*L(dZ+ zp8hzNrpuTv%y7|4Gmhf5ZoAzrNyw$o`mZ!j4vR}U9$zU~8%pSQBB4)V~AdceOUu;<fy~QbOpt$L!gWgiLk0`r3g7|A z`9(l2!mIk=bz^@I7<7&SPfB%`@6!UQ$6tz<<0oqXCH@_B#Dwwh7OP2S%U^#K0<3&$ z>PL423eao$x|#XAk2uVFO!rauEBQQq#WkyY9>+=GR9#CwK*X~F=@o%mqBJYhpYGrApY7ZeE z{MCx14ZtG?dZXT10ji9X@`99Qt}S3IC`&x6$pX~asvW0FJ3wKs+)t!hezDrM@CKm~ zt2MIAKf2}!C~}Rwr|HwMfP;A40y>W9f)8L<5Y3x>WI#&yx!b=6{5$i2XqH}U zmjmA7m?pAeHm&<|&f|ms28{^kqhp&CO+a7`Q&~eNpUaWO%g5gtY>BvFd?6x^SoRU# zUU@sA$&1sI!(BBQ1jjQ9`u-(x7pVwtud&vQtz76DKdscCq;5#r?^5>8TmY%aoazW* zN+RMA>3;zdm>&m&fueJP37{WyF)t&=-O*iAU9jP8`gaLduV%X9vZanh=0S1&Lq67e}O2eja-h5a*R7oFFE^%_T zuHrttRI2z`zQVNwDzxOgFOerr$5U)=6PgmLUoh%wV#pUNT2LHg%{O>y0`>2;rADVc z_Ks#i)ArA80tk@1f>6B_3!$5J|7&2_5bz-l?qaYw3xb_gR&!;s1x_%No;`~D3EM#HMpn1CVE zAHd#5JYqKFd9VX$R%jazc16Puu7}n(TQ3BKDR~v}h|@1l#>1&1Mf>U^uMf-iV)SHl zz<13q>qUH|p!>QX!r}``ORDPnHzzo#Vquah^QTD(K66e#nePMEBHR+U{hFRb4{ldt zB>KCj6tjt_g(Ue$V*#4z$TMIngH^3dWq+!8)$ikYfHk1j29%OjA7Dtw z*?y)0W>U%t|L=k#+PytV*D@KUz);mKekrLn5zyxEpOds}KIZWRJVVFX{^(V{UbCS2KxBr^`m>GR|Em8-kZZ0)%aNW(kg&+ z*>%lZ(p#zilCT%2{MpO+twTj^kb{5KlpX$TE!*kuOk9r_C|=+^3c z9qcuLcdoP=nk2o?Ts{2uybJCK=rT-$T6K^Eps-ePY1Wdvy)UV7tQX&e3o-v`0SYSxaxYV_3EtgbvHUSR_$_28 z)$))L9ZDX3b4?DQ?s`2)d7(NLZVa_QkAKhv<$DjaccJ#G(*M<;cuFl*+}S#LOw4yX z-7;(A5YWCK#Aii=>THqU0$Q%)4DkldmBe~h!8m8aA%KfAsSZaH+sq9+_OXs!-6H<7 zuJ!naR?T#@CKR!7G6UU5n$~{qevFVtVY+yj$EOSsk#R8GLLjhuohYwjRzMhXNLO!gC4M3 zidUMdggAEOBPYrsr+m&k;|LY=+vA%xxwfVPdnV^|-u8)ZsgwQ&GySd*4e=ikQs<(L z1+O_kB?g|ye4ntH_q)6DaYZ^b0m8QPK0kElsCvv6@UWR722(l!zWzYZM~quDEVyti z>lAyV1oNs;H8hlG1^(md&NE<>g*3~!C{fqqzWkJ0h}LliY~@h)**hXgjU+*GQOclV zSA_;=TOC=?d0gjDe83*1(gv_Si#X7D#a^DQ@VlYfqXnW#lKhfdDX=7_N2w9GLs&&X z9AtM6sEw?P%>D|=x)yE&KZt<)v)di?+b;1mO=2*6pMl~WZx3gh+)#NpiE)-|Pzj5H z3MVTt+3x#1erhpS!*wp5CNaVASqa%fzhWMkK4SJ@xAwuAIeIb><|0=(hQpz6L-MVd zP~liE92LF3)H~Uu>r0u8ne8$qEu^T=H{aM~v#;1Hu_ zp!BA3ydIdFYYdhEtTer3IBH}c8iU|7A+c*{y#zk4KVP4S#Yo%+ltW9cjo;3C_RcKf48s>x(c4nV}QRfs7^GmYenyi*d?$@Ko7 zLVNsIphh2ub(y8|x)8UHdi;$gUCqFI8!FNd;kqX$r!rj7@p4SOB22rN90>DpM_oA& ziYjK`Ph-isx%WFxtjy%5s;P13 z61*84dT&0d@PC?;wB!P2F!-lb{rV&;*6GCt;I33!+~2D)*GSEqbI%HLrSM)U-C$;w zNHCie|KDgw+|2sRwQy$Kut?4DxbTf zP*M-SXeN_OMx4PYJD?vBD6#J{an?R__~qPk!rPc}jO}^)$F@Li?WnHKfm@5f@ulWO^m( z(pxkPHX0rQ1xKCW`hbES8d7b{X7D+gS`zw6vK&H613yrB>4f&QWL+&^ac8XCaW^us z01^1MtR3RkmTXVikZg1;;bk=J>DsvME$D#WxcH+8UyU&jqVf!U&8dcW;k>sk0uU!BFR!K$mD&(aLbV z0Ezt`&)2f#>e9?-XJ<7|SKMP#@!`HnrwNs>aaUJ4VQ;_@SKdjjx3RMx`|tG=402}iN&!>FWxW5#a_9@+Q~&1N`Nf8 zdZr?r#<* z(&>{aX`&RxIi>hv!QgvBISHiRG@brS1AYO>Y%pH0u#@3w|@baER1_t zSaZz9Unc$1UA{!M?u7m`0Oz8QnHb1z9+Ws8fRZwCvsyNwOVUwHK)W}vxtaYYq+3t@ zy7^8L58YA)V=l$wa_79i_fcpq(8hsd7pnVZg!U^9{!q_#@ikM=ZCPmbv;@CC>8&(9{3uMw#CP(HqxzWlzc$!^-zA&T9?F^2AX)EpHo7pDsFgh~67nlFl*qsNC4x-y=e3W!X9S zXCxE<8Of$EzLx{$wTeFnWybl9ooznv8*Eu;jbbzNL=I+??3C5}3^Md1merk{q=geh z8??)UN1S~r<~|0-he}SX$hoZv4IFrXwm+7PWezBt&iirEt~B%!TWHO`oT$(v=ZtGOJ?k{#``OQ`SSm2rYX4DKyy=H)qw#;qpIrd|e1Q*mLR7-2?_|KAl zn?qC&Z?7Im^TA#muRIn`_B}IUcooYXPABk4XjXam z!7|*(Yu-4Fk>FA8d$v82YtPrL;q%!-_@y7+eC1_|Fi$4VM(Nj*N$vCj+-6F~1E6P^ z^T}vtv{gLr%Ic6_mf8Vx{aKz2#-T^lcd4i)R#dX(yB#hns;rCm{o*j6co) z_?n3!7%u0P1AQEnicNJa3Uc~eGVDHj!BbrPb5u4I<-R_W8SB*(xSpKcvl zR^8hE;$Pz8^|?`Fdtr927tyi)WEOi_gs@MA*NN=wYUpq**MQw2uzD zg8rj%UVMGzUi+AQ`hiKKwbEkLg-T)E^{}?6WNwjKNxkQ`nyu}ZJfm9bVJn~cGHqW( z$>egad|e^whrzl*k|>w0{=z!x3K*5*KA*wva59GLMNWw8&c|ZDluri7^lFx7=Y$#J zZd!7`mFSgcANka)d>-!tv7?pAZ=%^@TuNes*)C`3I_NhZq>{n8$+?(PbkaWMdqY!3 zn?b}J_thx|6mqE**;1wLUeS|7zHos|9$>i}&g)=vSG}(j5*jqIArh-Y&LAP&!^slwO9mu(Zz|%W*Ck;jhx@au1P>~pM5n-jDj}W7c z@Od&k2{%^Y?W1t%S(rLsdgLl6`Q0rZ9_OU2uA5BGB_bAkj;EnCSw|6%viLFj(r9zc zH^9T_+#5Ja3BD6f*$psniF-FPb5ZRL{sR*DMflkT zYBJwJX)lMxMU_cAJ@A*pdq%Csw7h*s2F{NX%0#xN5YHrqte z;urAZ=3A!Z?U2(m&UMYdh^D))5pfk*y>Arq%#OC9-90R;Pe4`ly*||h`C|v4L&%^O z2VBxE={m;0O(y=FMkZ1b@sPQmLJt&-J9+=D@BmG^l3B{J!eu z&nDn$MY>Wy^iAU|qcN>qdF1d4kmu+Mz=pMYr&7D^tCXZ~z370Q*`ZMk@}4#f3p=g! zDc+i{TMQ{n5LHUrN56-NrFm7=nTB!C)4A;g42r+8qL1@la}Bbh!Y=w*r7{ZI4of3b zTh3Pg^nf5R_h?zh@!Pm{J0Vp2>*NnwuS-&m*mYc7JgSeTiAcC{&a}S;J0e$;js@Js zG{s^}IMwAAl#}hfB{`g|4C*ecyrXAA-MmCUwIy#G$SZJ7bQnbq(c5+fI$rP5#PN`9 zz8%wkX!2E<3Tn}@SKt##Y4dZ14gMl=A^K5g#_;H*E7LZod>gwbq%OXsE!>j0#?=mG zyB3q-eQV8CEDJ^r+j%%;luDxP7=cRam zxrV?jN%e- zO6i)(nhJ20oacu?-FQNZ})-%2&pTl%z3(BI%eEo$u;<(@pPins-t zJOqvRWUo`79K7#&ELkv$EHx?jzVKGQ2*>HnlA{Ks)Wjp|pm z|E~Q>U2|?Twb&0txB|$NJfUi~LZ>&w>bv2Rbo{jGOP@7++!J?&Y~onmUmZ9y!XA_t zv+vXXTYi2+qr}tW4n(k`h1EERx1KhvX@BU1HTKLEbG^5gJI5Zf?N8U>$=5aIo?Cq< zi3g@!$rKlUpO3< zGHU?hpBng^dYh-xz4UP#=*>#FRBic9UNQP~Ua?G>`_)`579;GxTg6BF(yE&fEa!;Q z2Z^*&u{fI_?%OIfrozp|%nQ=@SvnAlU!IH)7QZt39?W!yW@DcjtOVLseM|Qi)fWEy zB*JhqK>s)!clUz|2UVQ(_BK47E$dviE{aQc{Mnm|TXp$3b%7Jw3yWVe$iYR&vjvX7 z88xqGWwak_YdOL898O4@hL^ZEb%KtxHxw?O=7f@gqAsm7iQz)>`DYq)G|2%WzB$Mx<_(D=h%MkSk=-SOc4DtV-QDT_Dj9Lc%VZItt?$?t~5C9+VpsOws!yg>a zX>{ckGkPU!@h*yL_Y^-Zs^=#}{ritu{+W(#-|wBQDk(u@vM!w3W^$%kegXy$`I#Bh zM}9)*SQ1f)RICT_0fnS6)WHNVavD)BW|a6LpEKG+a}?U6l>f1L7~)CD&>W z2~s6pwCKXc>e~;8I_axfpJ~u8GJxOsT#L;3uVf1)xR-L6!H4J4@EOa!yqR2pD?0n& zeVe0aSD$GM9P2|#4SckWQ0kX+hdi6UPJxlbG8SAd@~b(~(0!kOkEJA~l3-7xtXXv# zH8)H|zIU&hi`~V_yQ12xUOY?Nr{?^Zu6W&tAv>b`L4kZ+`cX|@U+elt@*SFKT~jLCDQQqe=$7%STB`P zbFK_6sH$f3+E(aS4WbO{qjE6A(Y|tlW|{!X%M%E`L-xu{G;b3Dq7aB{Hr1^E-GO3pLh-Vy8%D<7r>iVI>OOM@**wG zsOkP<|2HN9Bx(RJL%pqPt&i;?yJX$wHOalUgshAFy`^<`!|aHt+k3SnOPlHmp?ceH z`0l#B`3@HuRcJ0*xtg#Fx387J^&DWGT-5W}rvZX$H^rbz*^Q&m^{XC3iTXb7X@ClC z)kdoJ>fhaU{?E+uP91DINJP*$>}yipRjL^1Qy*Oh3FbBEzfUzA=etkK3t$~2;i=QS z4CnC?T4_+O+o9e%E)>$9OI_{lv54C~C~fxv9LCqcS@;{5{~H#W7v=o_gGH>dS7rVk zTasP(GM_SinoepZazz^j{xIJE&8Or0T0bUP(>95!fKGgGG0702TE;}2h|5&PG&026{2L;~`eNZ!idBx+|0kb{U6(7EXz-k*s9@~hy=}VmimwZGD%6$~ z7Q|T`D?_tD%w8s&sgvl^2)w6SKEs&WO3^rD+M!p|`VM1~RSY8z1QYil>xWFOn}38@ zieM5WJXam)h^{!Q~4CZlGE2d85(`;{aIPx9dh>T_gk46CO{e?;qpC@M*v@Mvq``Er{YCn zKT0Ca;>9d4E@o&5!XA4=Y;6E!K8_`RE%83}tW!?r2dE7|gl=jDoa!z>GUigenj?4% z&{56l$=M}E(tyy77u=*0u%eIgx!Pvz_16=P6NQ8{k-oQ3`ngtI$ata?^KS-)9-{C2 zh)CCm1fs^;HlWGCJ6A0l8wTC&p8{y`YGp0E&y>8#!e&L8fg!8 zv<~e6`EfiUMTXXHc&;K#`MG^9VPq3@!OS(wR;y002^|id(vEm4z%^nN41+l?Wb7K< z_1!BXB9*VT*;Uq`ir2Thb?vY^Qf3EKq{qt@g z?$Fz~ojN>p&Y!2Bd-fLpewSaj`!t=N9pSp^H~4BG z_Y6ocumg_iPsKY@j*=*WSdaLc5?3R3om;%ri zG-e2iN&_+_4uJHJMWt*enlaEt1mr6^UZE>M1<06+?W=ziUSJ*t!s82Idx|rtJxxgy zrVZto$V_#GAyOY|>t&@9ZC1ARd5eK%i!aiyZlyV*noF`q-u+qahUiv_?J+@0fr121 z{eK$k^9&FVB&(Z=z{o=v0Pe!}B_<`A{$9Wa(gcKx5T(Do>1mwjqxRl+~s7DA9#Y^%pgD`^kd>slT8NIWCFLL!cGSw{*fn1?{u`H%_UK zmq((5+lHVh(N5ZxArWIBTcT6|Fgye$48SLS!r2F+MVP_Cs_c6+cl;8j z+y-d1>qL>9W5t`Gp(gXO%$Kz6V0L=hZD?g5DT;&28`pOxu}VjScQ2VCn?eA+pdD}4 zW&uPpgOzUn=0$&>!GSgdaT6maKo={y=xBKxbw0^%E&vP~nico=o=YIC5v3^4xJMhP zg*L(OTr7~BfUN1o_fv8gRn$jHk~dPI#)E)E2S050Zja!!LqMCfx<9H` z48hR21c(=Y@IPZn1PzSNS;M{HwJsE<9}ipJnbFU3L_<#$SqZU7Rjy}rd4DY z0HG9TQLC;+9*97H9(+w!L9_x?NJDKH?{eUrEhox764}#_%xxW}tJ?VT?}Q;!5EIo| zF59>yJ(uGoSa6X+^lW;R0O6PO@-RUv_W-ZC1n97qF96s3 z+eBy)Kx+P#Y5)Vk$tH{GHL>Fi(<-i_z}4pl+`3B^yjaXdR1}*_m`$^Z@Q01o@0Z6* zAKWI#HBJGk|197ez{AZs*7jhspVMi#-mpX<#Xnz+31Mi{@hn+$X?q^mK03PXkRV>S zJF#gSSwP$V-jow_krA|?L!>mvX7rpO)UDP!x$Zf7gmVO{?qRUT$caAJMRzxeCGWPs z9tbGNDCKT1)TJ*;dBmjLk2+-!eB766Ne(Z%@S)@BohFAWmLVHKj z+0c6MWLS_c!YW zM+MR|8Y>duCDPXX03LBoUE8KMap`X~ko;nNgSHKY02wV6K)?r+&RB28+Bm@a(Z@%6 zbe+q$FqPJ*jIPD#95d+?D|ThbO(_r}toc5BcfEQ=42lKk4<)_XLML^MD7Q|_Rm4u@ zp}hUzSM@f!?h8dfQsj=tL84RsH_il32smp(@vOEUDqn zQc$!&cP}_NRIrnj$0s8BGy8@?l_S7yyrGFWJmQwX+UO(R!R^6C!NMl;+19-=JOYR( zrS2Q_9+ozZSZRcP4tJ3o5fjco;&GwW*p9TwV0YbpNy2W}VQTb(Z_*UEhMUTR81&fc zK;%QC+*=&}ZJ-M<$}^$=NIyTf0q3|Vsj{f@-F(&%b!HE2yiEh;5hO_Mb8-Wg;v!!t zaKcHi_Y#9-5W){ap?ZEi_4R)%&%1F#*X&6^`~FDEOf;44)N&C9nfw`xc3dv?rxlJX ztsi?fdL!NFH}+*&K^;WJCRY01h8fk&e4bD4$?2RFJHmX6^eDKW{$UJcQl}{l`JE4N z=CiHedHl`kH3~zq$#My&l=GObCG(O>GwgUZC%tLVDdoc;g#60+SY3V7ANNXZNh+N? z49zyFMnFTo3$0S<68>O$XjmQfROt2~foCrm+7WV2MW5^TYh2MR#WXQncm>Gq+2B_s zC7osodu@9Clw88%0rnlyV5=dHhdCf|0m6bTm3#z1C@eq}l1oDnY#^twt||XIGupGx zF*ljwc|v6PUWx{uo6`FJJ-wrKk%&8J{oCvB=Ys+Ziz012gPR18sg-ecJDtg|@by8) zhSZA~geBk>Dm(fNX1QJ<@<8Wk(;=pwDjLKY0R+e3(Q7iB!QdI@Sg!x^%h7j0lL%X* zINuk2(%kM;OYK3JS5oNJNdj!}GnroJ1LKPBU*N4RfV)uFgvhp(B^Q9(BR7wKywBh| z)dVZN#mg=>zC+p(*)a992FM+jc8nT?c;`CI${&9nb~Z;FM4J$A*9C0o^cSjX%ir68 z&|H1+fqboZc%%e*9wvCC17zVGx0Bh+H4>y_yg-ghFh_jlY~L^Hw#WxvU_lnna6REY z267^;Oxi+CPiI)CCg_GuvCEV0hm!c^Z0txD>=XvJ339e6Pf8ZCM|{>D>%XYyh{dzCxFgL<-6Pt z0B}Lx$@DGxx)Env;YKlsgbVTbhF3zR2DNm0H@s^=1`sXyIGKP}UOaAdRD;eIa$Q01 z0$jT`9pU{8G0q5wj8>oIYY=?$-68-{b~)2V$-M%&!Y=lW;UrfeK4u2}qctK5s|+B| z)OV^TA%$?S#GZFH{rR{RjkD*01up#cqFzbF;1>2^$36;cetQ?qlj~^hbyeTWa6N6P4dv^j-Q6 z2677hlYo-)aQ4nYg%q8SNz$=)&g(JYP60Tg4W6U>PwWS4_1~_KgUKD6hIKB&D*zl8 zk-_}L&dOXjZ$#mPcZu0zu-Ul@_n0X0ezBBkPJnAwh}F_<&u9;Fa|rA@2=S0C)?RYd zhwRYilw;2nj3Nrh@~qFBdvfudD+XxO0vu2d*}l)gqkt|6lZ{#>_f28G1=986`lMm@ zzImd$?bUjY>|FA9>6s_C3(lAKp7`LE!zxaCFGgrl@}xbGiUg$-8u=F{7y_hOXzc%j0xH5hw~qJi%m+a z{$O6!5siaqs4=PZ-Rl_-$^}CX0`g#lel(OfP99knx$AoD7j)U=@5J$GfK!t5l5gOG zYOrXb(w+IF1ryJzZ4DKZQQLP|*U}Oo>$0)7Pr|F|1s6kRFyVbkg$kR7U{n$N;>)kz z`XG{@A85xKs+!c|2go*U%Wuz5c7QipGyuuB0*;biZ?({=QZa>R9)-q9T&4UZlTyJniZdNh?Vwam0G>1U|U z4E)(38Ggo=-c7f#d}vW79ZW9j?|=UsPZ-*Fwz^S#-YW*5OLcD8OSTsm%tUt5D~6O9 zX5m8j#^=`EQt%Qj`t>G;q5(kUrjt`P>N|k!e=Skhj5!%2WLgWIpG=*v_X`>7`?d?+ z43MZrV9uLFvOB)8lPFoRvZT9b2Qa!Pf)SCer>5ao_b;i3lldj_o0GhM@6K(}A<7K2}cs#eR^n5CIfQfJt>!-Z>ysVnaZgCTfdcCu#2*1W+L_VUY9P8@`{DU)j^Z9T7K?U&63kk^ibHkv z&3tB-Udq+g-&UP`HWoPv=rR^ZlBgDkVnq;w46?HjQFBrM_Vpi9Xsre|u;n2e4Y4fZ zQ%)t@lo1m3^V1Hk?s_uLR;wN6nHkM;sUo;>&-8~m+nguV{Fy{n5jQ_0t7KaW=WT%t@RZ;pqa{90 zUfUBOSWVl97HwgdlV0Q}WAtM@D-jk*Axd&}cDB%^Z&i|JV|AmFR1hfCAh5S+fVVk7 zA1dL@L_O$;wde(uV4HTV zOKxu(`6&Mq*RvJM63|=8U8#mlI-!>7JnOxpIheD!y%l-g;&FDlOW561^eJh$_U{GL zaZ$SlIDHJ|*5o3hPiXZj6?x3$P@E5r3d%5-&>lot?hg$4dFSEqn$MfJjY0%+VYP++ z&%_FdAHVab(sc2YHur-Fw;`~M=gI9+1o2mT){{5w8IZD${ua!=046Sr8v_f2gdblQ zH;WFs@1KL`-pB1qIBY+sWGBl9d78X?rL(oB3CfUr(oF~lmDvF zvK8}8;H~up17QzDL=2Pn1uZDH!}44RPH`ZUF(>&}gusZZr}Xvw<+|WBt_=;Qena%2 z_}jN?c%VBu7?<#RL>OTc{j?r>eUHH1QnyM;)`qn;jeDxVd=Wl$b9*D<3LSL|8iWqgcMH&C>}XQ)8pWbRKY>I=HrC;Q=lziD%ipwy}1 z9b)|Za^hfj>O5PTY_sRGSCl6J&yi(QZNm@U_#5?P+VS2DXCIFiG3F}4Tyj15D%3gh z{vy|#a}WQ*S*}38HCxyMZmDnCa#-Ka8iDN0zi(4FJU`s5@}s!ykl^WvQIthRX60mc zJM}}JZu!7@#P-{Ag(m`EXrs{W67JFcI*(;sqonjpb|++`<@dwNrcbn5`TCl@t4h2+ z&BnV(U6VweJUIwtPVKCrJ^F$1@rl3*S{W<(b=>wTxI&3Q@=_L<=_>;cKDYEqAEi5k z3DS)>WQRR7yAWOz(`=k5GD$B{mY189JLs#|CgKbnuLWJ2?rDb+XlmM~P3A7(+h7l$=6r)&`xA6IG@|MpqGXr|nJx z>nZCAGR$th*}+-ihX_u&Gb4&?qY$`&Vu>Ppl0H3%v3mz9nE;_lXY9W3Zkwp@2e^k{5twc|?=@Y7|0$R( zPak`PLBKQ1_13wVPO+j@Z(zHUzt%#nW6^4di|$+8_4v*LWkw-%5TcSKK#r}s!S6?)2W&fYixL7^U?oV|PA;0^~wmrQ- zoAK{PJcK75P7AE^OOwu#7p}=Yb0N$|6_Hk9Ki|*JeER(6vHMx04C$$ibBu7y4tosd z;W=MXmdJ9GbD&F~5Pwv+ZdIj|_v^;xPj!>DGR^cES&Qz2UpeR1OzAN8=6`2CBbda% zJ&u=r(e)G<@<-GZ$7D^t=ORPP>7-|d#WXzXaj2;~S0p$!;1lP17TzKZCxAqUBH#mQ zh^H}E&wr$`Yx++goJ?>vK%Kwu4kBIdYuZ?2-0x1)x2EpAA71Zl1P2RulW)u*;)&X0 z(Sm*!eHpIafeCBuh|$C7^mYed1XV~XP5D-I&Ie=ez+h7el;oc)$b;Q3NI`8}?NNS6 z0XP)?ZXA#@a<~3q_5pG4&5Nt7?GC2y2gcoLY_V;(T`zOJkCu>t^K6nDacAh`#(iHF z@$I{uPsyZ@-548N%s4&#N*o8TG1PxXnt_%*HbN11y{nn^ut&a|a)E`l;5^Un#9rM6 zFIqT<f~pWWuHI6({_Vr6TZ zD#rBrt({i5Ft^I3*GBtWVjCp~Ft$>AN~D{qdNj}MUS|q)rZk=qf-hpY^O4YnsW;z6 zuiOzmUJzq-%iLU&`C@3+l5Y88m^wydVRiq(6e18E^dwt}8ZZAO_{5*JT!Lta*WZ0J z3LEd!^C0ePO?A>g7m6l}Xxs4>Zh20qF#OS-)#dus#+BVujr|%O6;<{l zf4({nY=$z;)#ZipafPv>roI-;vrp5m48Ot5-JF-n>#l9&+TSbZ%aAG`P2(7wHa<_% z8xA$1`HpbHPxRKF2OC%}7Hi(surPM)zR6rRpb$>iaAorrJA#c8H+M)kB$|mhh`r}9 z&}{>T3U_Pl!|mCCQ1j=D9P68k3N$@g5aE+ZV4xJ{2hb5DI|NFe_yA{w%Ex{ilZm!y-i0M>(me=W2ED%^8wW2U|S;?_FMb+!vI3wXk`RnEPBU! zo|KoCFPjoRo8u$LXjiq=YRJgvkt7lR#@S6x#>YW&l$HjCJeEzIa?m0;){0}nCsdu5 z1XF)H#s`XVIx$(rhUFVY*QBSqv480QXY({7TISQG>z^$A+mvB$B6o${Q@3O+I-Mlc zR}#jA(XO0Fl!t%T^jcyj%DBYe`iF_bNtDQ%=uNc63EiH#^3Sd<#Xglrs-w^GLp^HR z9RSU+<=!*IAU~sc8478TDv4f8`m!YB6nS5DOMMs8PV>+j{*Xpej(Qhy$Z>v3cN}^J z6#(1jSexs7RLtZY(Xy>H&N+)%94$-;JE})k%_C(h$;b*`U1{l>Of^;0>2$mc{>5oD zQxmYynUejuXvSmdEZG;ysrgv5EwF!&G@E;Sry-k9)AiOwMZL2TPL1(zzFRXGmHI|O z_uH945CUeUBXH|oeg@X6zPh0)rk}#Q^7hw3xw-q)Q{FUPo7ohco1 zEq^(&KGFF_1b?|uTCI}!lr1+}W-muq6T8d(^NWRo-t{b;)69z56{xvd9XHJsS61us z=f3&xQUkU!`l|N1d|D70qJ*~IJ0ioC0fV%W=~9jn)xF_Pdo)co z-BNiWpWz6o`S;H@+=I{NC$cGsZmqK1B3PaheWKU6oJweLk}`C>?hD$zyR!c-xTiwf9a<0R`=9gIhH2 zN<(pM$?O?iT<5Hpx+s*ln}d0+Uq#aCqf$_Ky?$p|?!F{dN#p`Oo?Fbuj*4*pxOI>F zE5o6i0sqgJk{085rFx5tK9x~0-G6xrVO|;~ul-q6Zln5)x-q5E#;oJw#I;}6)iWri zW9@UB(!Y!g19tJF%a+-TYf@ysMzIWkp5@K515DApYrL9eP_*c_?wSl852I;e~~TO-;m-{>`!K#=Dv68@QYuE%rsWggEhYimCGFX!_{lM z1UjuH_-f~kdmV~ai8hm=6x+?H{~NQo#HQ!kSZVuh?)l6{CnNz|I zc~^D7w&gujJWn+=jHmW#!Zbq$xY_e_RV@$w<(FTgmASc;TR!pseYgH;9JN&TaDda* z!Ho4Q6ci-tZr9+{Qt=USV);s!Om(yKUfVThOcJ2I2Os# zP=y>+h_auEok;!Po#qHPDECn{L-776MyGVp{a344YW{xeH2yH-|HIx}M@8AT?V}2a zAQA&gNP~pZAl;#ufP!>Lch?XDA}Otibc!I|J%E68cXvq)-7v7PdEW2$z38+5-fQi( z_gcEv=nZq<_Z8=L#&I4;e%Dr=YbYc&F>tDqZt)1$MXJ~kcZ9v%JInu$`*qcnN&g$Y zk!Gn^CP9J>^7Qp`nsPPzAtG`dG)v}0u;eit^UBFP@~c+&V-Bmvy)jah&QHImm?`;u zC4D_jG3b_l!8e7?Mh7jDcG)X)Ac4`YB*1Sq*n7B9_(EIJnksgsdStC`uPS8cp7WF6 z2O61vBF1M!O2Rp@#&9Xtq>!_)GlhRBto{r72p93v2ABC1djl2Kjbq0fWPXteCNtp{%x)-=BtYVjb357p;CKF=xaXy zmaG!Lexh}XM$6Ei<&jw?+kPYh%+0Mr$sxtKjD&S$H>?H8^am*MI)s_bi<_idX=~f# z=GUCBOZN}j?tc9e5o=T%yP|ZfCSLHy!jRID;mMFvMoxltX4}P`dzyY3i|a5IKdiTZ z;O4vtTLW!2t1q>O4I-LdeBJ#O;tz*eaMq`~c7$wt-WFRHKg?|FnN#!Ny_-+CP83Mh z%Cz9IP#f{rTKp0(q3pvmBy!j){aky3LTn-Jx$nuXELE)rG*fSu4C1mx9AMkNH|(mu zVu?E2LwK-6B_uz;%K7v~15J&nyM;PZyrI&giEf=_x1c?cNWgArW|(>3HBV`yoA<4v zAe-gN{_O+fIHj5F$TIabj&JT&GySrU1^;*)2|J7;fDtXVG(0;RcBCr*0qv{*@{_ic?rK@%}B<-hWcrU#4va@(VYtV zH`$J%3683th;IZ9F;wTju>8ciORlZNqFiQJDh~UvA;(;O%8lhj9C)*_U}RSBzogojY{p%!TU#9J3k_=T-NMIhPu?hY3EJSm>Xtf z&njY4Mdamt3A?f(-(%fj^-6W5?QmL;E1T#}?>Xj~7IGf<*TRS0Js}S;7m}hsdBV9774xjTl&&dcts|Y+)jT!T1;aF096_rx!)e`hJ88Ogns~ocV%dpM7pnO zlvz~rn$L7CcP6ML9%ts!h1+BBWvPs$U+fpY&8Lc`NNi*bv&VA|&AMud6oMt>pz)ay ze4xhxvny<01$=Z8ZP+%{OI0T9F4+!#e@vJ`m_#=;Ui1TT+}1nAbh#s)g9pG6p`o$G z@)kZ5cUS$uQxv5{wX#vD(stEWG0=zeP#NnWf_lUot=ANRtKfs-_xs`jEf>T8=*Rx& zg}i=Y*vSbb4PHK7ud-bE#jA1)xLtY}RaVuJwwJ9}F}mP${|lNGAD*u2{nX-tiRVj< zXg4Hg`)RAJZzabK$y{0UUaSPI&*mmGoaKc#W|2kjr5^`MoZSD3>^I(`S}NYnD*fXP z7X`fH?{srkpMSQur%1?RLaUUX-A$>|vCH6BBD(sm?)2fs4V79G%1%wad%Gd!FdT|j`p;k^$tO%R5{z)~J;Gw_YCSyOSwH}^V&St0#>(An&Hj|nW8m%vj~_pdVa=OdtZ^Swj}y@MbxbJb zUKPq$tM2wlsBGsOPfi`mPnbm3S|yB?T^?1JW+{$o*Hrkjm^V;&K$VB0)Fn+!iRCpPcbc$Vk>Sx6mC3lg>?qtatWhp=frI40+58ZBA!qD^VDI#f&Lc(5Ttz(HNL+(U^xwUQBINa)e{dQ z;RtonUiA7zFFVcpq(y{L`v*RDF3ZfN!WD z+}j8YB-?B4%=;dI9B9&%f65_33p(ek49tg8QJ)|!nzeh)FQ+=)A{Z56ZQH$tJF-rh zmJ{Wfi5m}|GofD4lqr0G%2>VHI81A!Q}JxV(pfD0u$e^~!rX(=E#&yVTD;w!ykE;% zW*Ts(nWA`$z#D5``{e}BW3w|C)#e^3p%$4khk z4}d|%0MjF&TcwH(A1QS`C~{+Nwub@`U{luTL*wwDpBY{}r$9mwt}>6Jl-_5Ivts%e z0L`%PvA*4B)Lw!?BNe%^L(iAlF1Au|n-ox9R?%~s6<;0)EBGlPP&IVk04TbShpczm z(JG~qVb#M<(!XoN?=sD<2=kftr;U0&g#_{M0|aF$UTlC@`bx8vAT2SqA$wh$(60czCcK+#0z1>rQm`7o;+DB&Z3_>b)w zD5JBWbh|X4J`xrK5F!-8-NvYXSSjG^sdfl}qvMP80(KvK=kD=Ra|ECmdjx-1;!Cja zjVIJv<+#2a%49YJ_O>M;a;w~ntpRdt>=wjZ>wuAO5$=pHx*z^3nzMe%5fFq4ZJm%A z$G_I=lMsbuL_U051W=Q8-Zm|N4RebZenI08YKuUInNYaCcq~UIQRA-6M*Y z#+wBpq}E$)~Tyq*sT1_3=xh3XywlDRJ>+iV4%I7{ggJ=IROSV zwta$Bf5wIJp9j!~+9cJp&dEmaru90!k7QA)YQ1&3=|^r=08n*5RDTQhk%0F~#3keY z^;lN~FxRm^e+Ssw%2$#+r)NjuF82J9@7Mj-1I;70-IsUm5-`}NVUp7_PCtp3CxtcR z7K;IhuyP9pQ4C_Gp?r-=Ddb>dx#-%M4GgGwb*nEB)EUN=utl^~QIXwu0}w*Z3(N5m z+o6}gILFo*N0(82Zd%?O-?{--*m*>idjx02X=AjnH0i7o>>I1`r<|UiJp&^EFl}qt z7X}2>dB&S~=Ps2C!)kH-0zE+=>841!uuYN;97rq8xy=Ijqdj`yK00h4g{QtrF@IoO z5L%BYOyVdaVPY@ZO3yD~$d=|Bgb)Y*Ds!8THqLi1Z8c(5)t|6bpUM+UO&QA5uFr$n zmWALYgyF(YIm}6KjnrQJelqOvt=(xWZqH)gx?>~Tl*M8}0qZDb!rDX@0oN5cs>kmt z!p$O4W4(^-2#$1``aO2&_(QuiOR3;6BztuGdWiIhVyhP0KiP>#1g$3umgBAHyhE-IJE4T;{6-(YqYs2U0?WN}hbEX- z6T3}DgqFgnJKhvU=|<$peT>9yh4!-ll6U;hAk-@mEI#o0Fr{(Juh4p%GIe)hH zxUE9!D2(5yq&+!ys&+zX)0#4H z(SACaIT>xv`;Vx(g0~+tzuT6kpf8Ay3bc6=uRG|y2O*z+diKtwn-%sxdXey{^@Y$@&ZV>{M31|=-X$c!-2th#A>NtY8JWhQ{o!&x~l=FPnnCg4fpMcN-ND2 zFP%kl_!C${M5Xp`;Y}4)4=}=33N+!R6KNME=yIHkiT)E{udZNjkRHFI9*{&yoo|c& zY`eY5CD1hcdLaE($aNCTBHl6APGe!&IWbgN}GC;h}8Ggcgt4FL(CVsvt zv50uZXPY<9;kl3Fn>Q==KDWf14bFV;kILKMh z*%bm?EC`SON>cW5yai2j@a{r=yuYPSdyH}7s>r7R&hh6@AJXC0`>Sv!?p%|b`rzlE z=oKuDC-}=nWT$Knn_So_$E`y4=`7_pJSG@kse;Q?AT zt_Nt9c{A{ZP~rHBZ*tHvu3uu_w9^DbSU&)>z$DO9Uw7hxaytB07%>uqs02Wljd@xj z=6!rg#wGG~$M@)BBuOez3g~ho3l9#1MrmisRJ|C`NhZ-hZsN=^VUYztA;!Hy%VbzEySd#&%@x~mK;CL5U_IBoLc-X&VlOMUz>D|R$u zQZ#}CH$^|X3z%{;x=R{$r@Pb6$^ zeAYvXv$**~oza-lY-s&QgVTYx_qW$SIj>A~(C)Zye91xO}&QZ>gJv`Ic)#7k6%;L}Y3>O%1FK9%#LLuoPw4nsS zo#;nW!;}HXP12%tUP9bYXU{%*VV`2=#~VwFX$OZ>rPQC0&efC7Psq|h=%VzRJ7@s%L!CH3}*>6eYkyxHXVEuvIC5m4;M>EZDcSoV1Lj-W5t z7PeK~BW5*$UvR=#{DW*opJ7$rS?c%50uixlWH>?1<_|x)M`y_To{>8BI_7sZ>UTFz z!bmEUR_#?P?{6VVr!+Qt^2ya{;}j4~(>f;dzU^kJ-%?-UxnxEZcEu?>wpo#j_fWaI z)#l!EiDih5pv`y$tPcaNf|W>j?dwMC+Ws;`t-L^5|JFzb)}rurs-I7M@;ue_&{*&J z$cDIl2`~|H_IW|&IQV+bzZ;kej(CU#B+TcGP%3y1LAO6dZmRe3E_~2OcY!N-$?-7T z)p>Jr%y?A{yIzK(iE!!ue0|JKJ!*D zM_*<6!uNIJM1HhrP~;ezScxj1EvflJGe+V_^e$reUcRu?36H9yb{7-7oMoCD7}2y3A+q0C(KaYR!x?Tv z1njYp`AshLu|lV0gsCd??~eqL#qUz0?BFW~y{ANVMWY-N-1Lx-^!LXD=0?g2!UzXFZOR|4IJV6}Z5D}29YF4@>E z>g7Y%FfmiC;wC-Z*a~l34;PMaN&XZp50HM_(lVGgG0)wVFo@=wIwy=IXk(9=taWBo zm(r?cj-EZ+3^M4@^AZwCmQe%P=oy#CI?%Zr{P^NyB2S}kOCP5EY_(&Y@{b zZ7im;-3ML_eN$2di_Xz`H5s*V^UVj{&I?uUB%kvEVyWM-M-nA_1najS&h{NNOIgRa zIC{%|iA?9hgr&OZLEhYE=4AV+A#@rBKR;0WeAX~RJ8oQ{J$?2px(c5m)CuqG!^-3I zXMVbif|(v1Z3l#Rax%Y?AVe@XI5B-bj5Gp9*v-RYEG^a--^I(VwWo~Owe+oF)%TUl z$`I-6(i=%gsBY(@i=RckQo7TOUD{ijVn$IyD8t5p%z2yJDmPP|s5O)SNtpLF6#8sW z#TA@E4U7t#z(!R+nRJbWA*b;9=Dr>5p&>nBAa?}$T`R3pz4tYHH&>0!6n~H2r3sJf z$#NCp^xDe#sfyqnmwpO^R7FhBb5;J;=oimOIdls;*$%RWij(hZKa`=sak?QYTnmAs z?-quy+-%vzSZjw`c^h|?l62I4|~88Ky>38OWkoS z2hNrtTI7*Uu>^6D=*~S>Vr8j2gxz>A1Q_*!0@8b;PdU@Ckmq{3i}f@wdYL0U77kto z@Z?=zzQfZisYAG&5O~sy3a)0@em<$A$3s%6Q8&DNDws;fC?oVU);y*jqfT8I*6pF( zWCY0sjjUZT+2~IkEiq9&j-66Enj;=GOpyfV@7xqCIXm?;56OKO=a{Ukt#Mvg5|mH8xr@^M*8Gx*KyWTlDWbL9rL>i-55K| z1!=eT<>H14$Wk~rKGw07YJ{3w;PU4f9GK^O?!y-%E7@NiDa2}xkCgNnxucjgEO)G=LLtb1%8Z^Nt$)Kil_%mSLK1aDygHohG zheAo;Y=wCy^{s1!k=6g!J%v0VZGR?VDn{)c&iRPrrmziZ=eTQyToB|1=a$U;tU zm!6zYtgCdZe&>xRShQauy`*$rk#;qld-&xS0}Q7#9CcwQVL5L?UURHPSCBj~l# zNIE@_l32HY&7yDZFZoBpGR=G4VbLw?E4!FsM2xty@J2^AOvB*FD!$jy{}8Qr9ZVDpMG* zc^&yJh{_1?-1VxzfoZP#DTZ&3jN$gZEnej8`tOt1awV{hmJh3hQzU)6AIrjOVIYY# zS>vnn#XQI(W$MD?n}tjYNoQZ4Y!bg|p#kaXp-dwA2@Do`d49NZBKo~j+nwrSUslj> zzS@!pQoo1ZS|e*cAY9A*)YOCx(^5i}(UcXImeos$N-OO>MJE2zuypovXQq67gjJ;^ zL$yQFX_GR7-KnVdpL6yWMxfN3=;g2Wv~bBXd6(5Ce#=W~`Bo=hrCKZlpP#>tpNxCd zxEbBwvM>&0>d)VZ+pOX=ju!k5eSp;bWnxG`7sB+JQ&pUVH#$^2EFe7VZML7NTm8aL znM)*O?-j)Q6Mi1_(x@wTX^lAFV`o?PJdzgz|DlI^EcBk{b#{qi|*sID~^mpNwv}@^SB`!)iNuLLUPkSZ(6FB1!nT^znW?0 zK237CoqAlEC&q^OK83aPG-YYv%X0CfBVUdvX1u!SsC@d9e#U5?r;W)9X$)?njE$V! zTS|4tyROg56mt1 zrHoCUGPx>H;=UI>o*<2bs19MJ#>~|+7%I&wLu2j3bDjv@1|$*YN31DIg>(w8XrfN* zR$<~$w^g1uc)*Xo`p1+$T&02Rp}e?IL)qpem*x8}pRm5%y`DE=OkJ6s6R0S7^@qXd zXN0Z7bDisMiEigs<^xrRpRvBY!~g}jSL?43C%uju<(uO9)2$x4O6XTAE2vTs)?$K9 z`s=td6C(~W+kD=!G%g)Oy6^#vSiZ4QZRoDHIa!sJ;a@kal%?VD<%t%y=$n2bihR#& zMtUY1T{%LT^*RM&GWbLCw@}TDkkxcvZ*1P-e*q&XU$c@nyu2ZXYSbw^^sv8}o*}WL zYe`l0?&C*c*jh;wCUPFSj&OCBDiM3d2lg?jdHPF^9b{XDK)-m-xX67!V$k|e_ zN-E`P=Xg3*fJ17>-9vHkS%tAnk8 zg>g$tVBk}yiwA69-}UWVTFoKB$>v;XZ-M+U4<-9p`-(6n-am#d;JyN9LyTXs*$%lr zRe55yQ`lni7G1b4n9+&0X^K4`<(_T<)4NyiLW8!-prFt|<^W$g2`Q8xo%7#F(*E53 z3S*u?Aa&+CZQpstQ0}**M=kYf(tiwhcm&2RIe{~6=zP7f#Woq!Y5wUQuV4tNdozuj z`yzs@Lx=2YO&ypTgRc_xw~Py>ptXrVvwe|ABkaChFL$z3AG>KSV$Fmv zlJ0((W|lyNA&0FczEyV-Uus!wDmN$_NpQ9F3g8c-*RfZy{OGMJ+c#^GLfHzECUm{O z%_-0{IgTc66Q;Bt2&HsdA|O9IZye6E%*J@&SP_m@Vm&gh?J-ANy%|XBJ7`h*_K&4{>ofQ@!l~Mx z#Og6;qL~67`PC#DGln*2G`sK}YbqauJ#S{uAJwQ;)I~j-q2qh&9Kk@;lx8 zu23g-(rd$ZJIXxa+bQa-{NFzkWJKXMa_HMg*Q1h;TW|yCDc2BQ>*4#jf)9f%Ajy}T zRS5O7`-4d^DdfYyFdPKnwvV*YnQ#T#885d}wA@YzvNiJM?%69V$1oPWuBpnK`CS)r zN*%L0|E2EAEm3AlkWQh5-C*fQ?NWNyizqfA8v}BvwMgwaeox8DOy`uhCBWx%>Rv@h zO!C}R18}TcxhHCtTfaUM%4I`d5R9XmR-?=jPUj1Ma*hL$^*dL!n%^>P! zlM4NlpmMsC4-|u8baSIER4xIOo`bZm-<2$0stME0#q;hzRK2p!0R{mqIV@Jiwj^p~ zpyWdJS>JCc1d76Z619xyQ+j$kO=-0PY0Xl z^1S0o7;LIJ*sZa-_Vnv&m+qy5^6S^15XH{&6ZrtN@NPzXxZ-uAC!SfhCINV5lBu-k zSI;jWFeyUK|s4^QK^#@82S082)alAKv$ty!7rQ2*g5jA?zyUS)mCT&2cY z5N1;RIl{+YxgcBN>WKblE3uKt>FO4i&z!YR$8CSCxtx=Ud*ouquEdh-Xfl=>gD8F@F|BJ3X9LLa&+_C_NJY(blC`-xIS#>?U`ab&v~l68M?iT|)^ zWM=%_1;?&-y7q&k)ZXWEyc+$=j$sY3{e(2i*%NXf@1 z50{-7Sz3brxrubPIKy1IhXTT2?ur|=zF!^2FY(}pZ84E&Jj86;dJ$4oYpVlB<0Ubk z_kzM{(~Wy#%yZU6t?SV=Dr^ebw2OXy^;uTV*R1VV&QmuuAI`DG`BKQK(iC_%_xV!0 z@^|&S*=jXaLs@DAW+Qoqj{K7#YRuL@;LkD+SOisn^#M@%k4Pui=m@{*;;qixAu7&G zBMP2spz(F(e+>;dH4`Picao$K+J#)3zstcP&V6OR{s%L2jPdZ7c+R)~F3tZv;1x!} zH{w)Z4uM?5pT`z~7Y4XQbgf_a-&Yz?yK)qnKm6Ar2_EY{4b5EqwQ#(DU%A5v3|qsd zXQ}p;9rm9EL315k!g%j+b?^P>N^$}AQvnjE%j|=HKRh;uvQ>FCWM#R!T zicP}^MH7SEX`$wG*)_;k%KSW(uLCl?jw9cPf<_h93WGsQ{DA z%^nZRe&&DzClwc2g1JWhkzR4f2>8k<$!V>fcIOvY|Y8Slo%2h2)C54I%DrU$z zwg~tqCELdD6#(h*-eWP-{`=+mmJ?;lpuYXiuDr&ik1meeFc9E&+I@W^m{R6H@##0; zJ_Cq`T-$}_GQf#&M;LB1C#6r53_uD1JM}nD&_4YPKwLgr!greIN(K=C-GS$+1BVup z-~XXeZUs%^yLuA;=W{#0S8A`wq+`sFO~7Pk2(b4 z9MxU;R_$5C8CLEEkf71GU+Ko(LZQeu>MoJi0-dpyqZC`yHPuATKDut-s8A|qM8hcF zsu`^fMcRobo8LiLqyKm${&;k>e{2Imc^ds}GZgRITr&X4t=c~3!G?6IXgR*+f^=R0 z8lTZq&>0M`cE|S<<8cUAC9j^W;4@7*mcdJbo>*R%$$n65rGZmgE=)Pk;BGx( zEjQ_F=z1##2tFFlAf=zm0CSs06uVZ=+iYd0`HxI~_yEu{Wm#@I&W-lt8=9v;ar1xn#eyOssEVV*4tjenS#WlyUk~D3uIKr))UrsH8T#{+8lOcf}R)W z+l8&TBF)oZIdnGpkeVj7K+_Y)%4*+bC4od69(44~jehc8N;kfJR!vt7PmA@%IuX}o zEzGT4-0oAcC&Mt_zfUf^XR|XeUSwpFLDg!w!bUmnEFU$U2H#26#)zl|FpTDhLwz|v ze*D&{MiCvk0k{RCY{H6XYlu;aJS9}YDALjz`nd+ni24MDGW;Mloq_9tDc$0IR?7Cr zLPf2daB2*0#(3v3LlTnaPAN^+_)-)G60k55Mye|q>~*hzbvOE5`u>@-1i$6@qdc3? zSX&b&J?QcFoRwrgOFq0GaD3r3qF(^$Cz*>Y{eEm@>3}7i{l&b{lu~5U-$&6GO0QsF zvjs}f2vOX~Ha8^4+Rke=DNufm#Qr1DxwB=`i^<-=-P-oSCfWc7r5ya7*(w8!VEpie zjb|)U9SW)Y*V0RlhqOkwkl_KiMumpWI^YF#RNba>!!KHK0D6GxVN{|PfaPd&s-1Pw zvHuy)|Mgmcu74oBA8qM;p06S=4Q5cxhhTV^;&cbH#&z$E|I3H6dz@^d)!JUv3{b2N z+3NI~*hzS|)e3YR2J8wIRUepp$pEea$0XRr5faEqEGMpK9Mst-pA=D=TlsiI{foT8<@QH`L z()g7gD7oItw=EzFn*hg<;ofprad(371lS2V0D3*=;E6nl(gGZyb6fQxw9NMv|GCo;pj{rv4X4+|OGEYm`4QN9mz?+qi6&q`S ziZ#k#$=~aq??VE=Fqj*%Gq{Cg3ueO;Vt1q7pG%sH@42EdVS1sF*a^qa-j z+&Z~h3RW#ZUWU(g-vscWPCe)4oZB17_JMljyb{WCFeIQFEQiSC^E`yv?`1S-B zV3p4_C$K%I0d^4qisnx9U#prP@~dtcltUI5{f|b;Q{!D$p`H3<6a@Q#fB1y}HlhVc zlgDk>w&G&G`3iyvl%(GxE$r|3&MW?Y`0Fs9X}#OJ>Xmke=D;zgjV}W{ujNUCzewqT z*^MpJYr3^U>m)2)w^?`TAx*k4)^xhRs_#$b`lDvIokcf{F;P>bTeT-q)Dmcw%h?dw zy;1}4U;EUUg-(AD03_Z3Xlb_PgXWIljC+tycTJJ>D#-0{TEZK9|O+h{O|vo)PL=Sk2=dX9jg>uh^~z=p_1R~)}H?N~uma~QQX zkpKPmHtWvWZZwZ^=!+M3-t&trmFU-hxZ$BvD36Iv1>1j3Qk4+s3|BQerTg1cF_fYC zMrDk_o=U*=9BZq=7bn4(D4&&X4L}e1W$01``vpQ}iRxEyX-6^@ndn7?W9JgS!vRlt zfBMUq`Oon4-HvXJ5Pov5j(Pn)A4;hm6ck!2(ym8%ON1meWTaFsK}gOgf_82gG=<0A zzDBcwUCAgTJlsB4%jV;(i0^?F((Eourn*hL=p!O~k1nxFzwPS_^<^_fVybmjzwMSY zd89F@4ti{VY2ndPX_%w$q7Ir2Qz4f>{3J_7=JNFKqLmDdG4?N~2VaZY12~BT8{#_7 z4T1%KVllzXvEKT;1IK^O)B6^JCL!efWhmX=3Kn?CJFwkjaR6}3lBgj>Wt^O(+%yT!+ndZzDDcj*r5%9^627~y}Pj1n%i;ap)nbG4&@xpqnW;MaQMXtP@o3F#JB zkPGCLqDx>JIKa}un7BQrX`BZwJ9$MvNgHxZ2hy$h0qf&|c)%}{hQXD3;~-+Tc<8Ua zV3$Ia)f6g}e_Fv0U-G_*@1#2%@MOj+)Xkbz>dx!XmZ=eMd14lC*@wjWldb0_@^C&P zt5?4TsOC@yS661}67Qi)N@t%C1&VEp@QLsyU0Go1ivl|Swhg9|&Ewj1NZ=8aA z+3%&q$OcDCkJ9Bqmf>+R1eX1?l81YF$P@RXEZ!hL+Ii5?_q!nvQt$IgAF6;2VZw;- zwX8GaUybn(dB=2{oPO~hJuY36U?;ThXu?{2gcuVa%Fm6Hv~#hb#HwAHx!5AOk8{A_ z5PvdJ7%ZmuiRbk9Pjq~Tz1&r5AFeaV+-)evz$X$G8=~P*ex1K+6EtW`A0?WlN;Bk> zHX9P@b!mE`EnNAMQqZ}NP2@<>H&>m;O0!(kM8S0D7*O%ri~Fz;F@|IiOQ-Fu(Q6O* za8bv;E#2|c>lCe>4`k6~E}ej!K4#|AotLB!CWCZjO^_~8*tOEiy+3n+20*^%xFSM& z4U`ef{`RVG?|B8IxqT`AF#X9DtWz)jd9x$Evx?mzjdp}4)`dS4DjvSJV&H`#4PaWp(>YrZmGDF z`oi0~9qtDGH+&zis$HkBJ^=kgY8%n{!n7mW1!w1({3obBw3le_2Mk#;L0XK(Y78_HC2`T9q*f<@0L1KRl-Lsi zl^@|Xwz0sOCzmP%nhLh-N!{L`So>qjcmK*nF$<%SLAt?-SOh$I9}TaYgnjBDBfEX^ zGKl#XcZ088wo1MgNC!KnS`X)_9fG8?-@39kU!v!Q%NeSD5G9n&)7eyI4UYUWgEqo! z;9_?xS+DkgcLKcoqo6g)T9(3ACT56*MD2^(!rQCzTJNzIAzr~)D`1Ew!fB-&qOnFO z`K{t{DFk}eOH3fsm%#DxFCVD%vZ-6otB&{I0kLB#s-JJ$Cd&BRD^(DM*;SDN$DYT- zuFYKr9i7?Gw6Zmobt1p$k4T(G2g^W4AnFdD?jW_tamuR%p`nK=c@`k|TLN4hl8)sL zj=B<54Cu>ZUDEdi)g3twqyjWqLoRoLPRckyZEb+OYdNY*WGnRand%Pc1-1kkW4SMM zPEH_zu@TrGE!0PV7DT%P7Z7Y{oq#Z=xE6M%4ty)kM5wAP$XEiJ{0O3T&`oS($Zs*) zOUY!7iO2XVcCnpC1_qKtPAyopM$xklTZUNv>36(IAA?`vsoc%LE zo{&9EQBJT4hJTTo2OTtRG|#UwvS02je8o5Ri&P{z)Ed6ymyMq2xi$mZEVoyEhU!52 z5+w7I#z4rIYc*9>)j>ngm-3r{aWQqFOt3Fye`EqeD6M-y6JGd?A0)bDY3JteW`T-EkO zI-ad%=TE{nUhz*2YN=?yiz?gtR+wCeI+stqge*ZkW7UqPiy(D$0dKyM?2TtPaJ#~& zg6TI7=KH^sFNX3oZV__mmXDKZVq?UEINd;efqQ)wmzK+J@u~Ce!Xx0TSKr9+xHvIR zN*iTDBc}cQ^b!3p*>pYBYFvu8B@Nt?`{LfYVnAu6&Wc01asN^HE#VSmsO=@dd7!_endGf&i`dAciX2Uw*fUhHt3_Ur0|OORhp2bU9c;=CdDWY1 zBFP)^0=B6{lBm?jUh~|8$DQ*v4Cir`eH+z_pI-zMYy%5;w*%*s&$Vg2Ahtk6*!c$q zNoKnH{&KFMetb2;+xAloxdlx|JQYbusT_?cuAZUWo5?@*sYE z3+2Y7Cy2U9?Ow2FMDMdBrD%P+46+>M2~Oi}Ac$Tlx&-!mDp@KVr|)KfXG<@Xd4#b9CML+L9w9eDKE2}z4ez{6~hotM708P4SpJ{ z(%w5pdI4e>mLLvKu%VeeMCABl^Qz}sn*{a<==IbWt1({R!}mCKC0LqWmkbc{dyl975JoMMWQpm3W!=(96~BUS zAMAzGIZ_EKICF?rw+4nmjz4P^UflGk_kU*&(eGT9QPmS$B%33<^9Z_3ko>7^&X2rG z%R|m)(e`p`<%NKC?|8ZORxROt@CaAz3Aa1tPGS)$nQr+xrw$1R8|@M)m4Qqt|C(I1 zRgU1#v~Ra{WIeSXCiQ7kH?dT50*>Z(=zW~p0jgi-3ecPDl0P0jF>&Sw2~_u}U>kSq z?c^Thq+VT;d=Jg*OP(ZT{|gSsxqVcSI|SBAbXQ#&EG}k&;?dgN89(UdInz(n%Bej< z8%}thD4JH|wQF zd2sA@o<9_+?CV_VaMz*cekrs}r0-G4c*Ic80dMpH0%a#F?B{X4cDqN0JREW1^CrtR zwSA$HLt-3hx)4py&f)+*iMjP{~L&jEZU1gx?Xf33?gFfS?NJF#1h>Mo9v zN&FNXqAjYW_Zo46--jBB#gi41cOIc~ifs`w`Q)7>^~2v^kbp|r-lUb3HFignciX&v zrk~c$j(6mJF;;upPO2DPL9b_S*6Uj=T!(?AOXy3Y6H2cx7qLfzyU;~v9VhsO z?Dm2nW7_ zmI{+dScFtIsTp9ibw8Aqq{H;ioA$2(a{RSV-zYI0_~W-<4IZsOisl*jR8T=P8L zLDiPf@A#NEMs3?+UjJ>pwl&tr*skBl-=5yJ&%f7S`NRZA>hQQ%%0}$Iu;wRb@|{yL zZo&E3vH{N=yYBVx1iK)ORrJF3=k=R1iK%~^AVI0*m%jFk@SfH!Nyd78c=0jt#hmli zcd6ujo^B)S0Waz@Wov+;54OF7_ue<;^T|$m7zmx?pUOn*WBt59p7}QhJh+K7++w}g zCSnNx36COeZ0wxZz%mM!@1KJl(0xRLW(t1lId_<#mGQf}OF0cSV)q2E} zPae9Q$a~(l1tq4HacO+fJKD@akG}K)xwWLpuBOL}MGZX7*U$IFtCb-zh)$ z$ES;uBsh%_AsCo;SFOIJIu9PX%#rJcucFe9AC0;j*E_Qofp1lyK}G>grI7-<{38f9 z)-E_IM^PEk@*ku)LAoVv_WMb-Y!pWm?u=_^Pl<1H+T<2|=0m$jfBV9RNDd2M?)V%w z#@=`7aiU)j8~>{y)GFeYst~eGD|4@8T4na`b4QWv zG||0UObFbuGK3fU7`G4#40<_ZEyRSDbE?93V-#PC)-VS}@kQ!GbzBliQkwdX-*_$? z7XOY;Dv$d?A(9P87ygV(r4e1<=$5{)6lr#OCZaYLYvS7~I1!*W?qhN|ZR#lpdI|So zoYXzxyT=cd^d)@j@BGQZv?%0d#}IE%nZ5>yP{Kt(v20Q8!S^eXx`Y$<;`#i$v8HeR ze?&I_6g_VxfT~xD&ULfDaG0o=O%nw0wmZL*uY4EyZ`73(6l7?hMFR16_8Jh&ya4DV zb}GuhtR%3Q%nsoDd_8XbK>lTrz&~w4f}^GBoAR{zS?5I^aNA;8NUBy>_L=F-dw?ZYp?@rGH5|4lQYCsHR z8@CHOu~4BF0e=WyY_3-IFo@b#Rfj+sh2<$w33Ef$&U5XS+K2PBs&fVIZ*(w@G=_W~e;c9(53lh&`W-8QB?6L^<5CT~ZC-vD&{RJ)24(%>AFsbvOoH=HE{Y?v z0+ei~c%_l^r6DEpExh%Pdq8zg9XuJzl`L}5^j?$~19+uc6orhH`n8v)9LVS&w@=N0 zQraPiuPQxEdy~B=J&xyw3v{K6{>Enm8m_=7Usgp&3NAe#*zugda=DcjQ*CthDTpZq zB>_7GfhVZw$zdsHDYbRwKc=9+jjC>Dzxf^r;Xd!==@HN^?|VXCx#hD<_dKQ;ZZXE~ z2KbZWp^}{R^8za%^YMR`_a6RK_y7NRX&q6{N!feLCNd7nO2bNplD*0%Id*c4vNFm( zMuV13W;i$^9EyxYwj_IG_Ir2GyBkJfQzsIoH1 zv#Ub(n)*z?%yxh_C~X!=*?S$oK0OaF=;#KM)XYJeWU$77=Ij3J#Zlzm`cagTF0X3w zA?-$SjC>pog%j)pav_2sm3JrT5VdaYETZuKn(8lkJ$(K}6zcjx>M2@79RjvbC|za;HXcnJG_D5R*xTo%rTm#OOSlqR!f(pS7h@v z7_GcY`}7x7vgp{R(?*t=N2%EVayZUtfoJe zDq9@*yI!<>?3g7+xa9>4wxcW3EgxE$@QOWQ&+S5*n9QU27vN33v%Y=@^#y4W^6EqI zmzuyj$BTJt?kg#$Zp9v_N;Fdqp{C4U^H90MJ)PqW;;?ZA6o++sm1DNTbg38aelfC@ zGpFV!X))x;PGtn8da_7_)ha=yRhq0PzxvkVHnKvLc^?}?5Hrr|2mNo(S0IVs?Z5RU zOPy+M8(tar^nx-PHf*m`#Sgxx?Z_&>i&Ql@M@#YhN;WHwRln7ET&kb_WP0YjkV_kR z@6h18^cLQeaBp6938D>iEVDGW-`ZVc*K#N@qRo}>6g_uCpAQ?Q7pY3X!&Ieap4tL; zlv0d@5+Ti-6tX){edVN)zJGYB>03gWDNY{~9d@CrA|?b?zjR(6ADzcek?f8xQo6#T zBVpnyoV>^O57=H>LTOWCg!H(hn%zN>ru1=YwuMz&9+SHM9U}#1=)Fic$`Vu2ub*RH zpJj&FqAYQ~=3&DxSCHBOwY_z_}&^n(b$2i+L9h2jjy6;fcXS~Pe zS-Jp|TX|;>dVfg2b?|KGrSbGOh zN=$IL4=1{CW|Y_3NmK}Xu6=FXSVdccoo@F1)*QWinZzR1by#2h&7f)#XZO^Ihibx1 z-xEuQ=bW~5kIl6KliQ9zZHeov?qtKQ%Z>X7%*O$s3fjC_(dKKfQsGy#xm0~`!bfso z+pCTY-Q&XHOMW*m_#8RrPu{aHNH*rlB}TQq=+)@c1onwEsSdQ!(1)s(e|PgD2A0!^ zH*eFcU^3M`3UeXlmEv-Ts`e?`+3=q#$bxPH_WE-{`?u7RJ!T|^*q;#G)ETN9x7QrP^n)UiIp?ZI)dOH&9PqWK+pC)B z8gZaG$MTs$yc;?o>C}Y!sGbvJax_bEhU~KNF;^M_`EFLJ`ir%p&mKpPy>B16+bNtR ziT;Lv;eG^jw|!-QI8coe*PrzNQxo@}`Qnk~eo4AlZ4_4-%go6|gAvl#maSn;Rg^1rL5jd7MxB#FsznTp9uFqcesyF93Eh7j$E`T*zv8T>Ki>;% z!uR%tRIZ;4a|-5T@WFk*#4}nzn!h{x*fuctPA@RS7vqoIM=xbgbZU!Iu6MIgylh#z6GTj(lGs<^rescDkp};J%CMY}mb^3je|I!|9P*$y@t<&9A7KaP!s799^QzMCDpL$(w14-pL^JdXXUY3O?_g#Mr^F4HYrS~7)j}+*o zw4l0c`Nu0EcQZ{c^@h}%yeDbMn~>x_C$~9+TT7Zu8ZxoZEBgA($_x`?Y-fnm#l^tTh!+H!3GmcJiH95-!>n5%BWPzjRfa^Wp1&50eS3wQS=y14r!O=zkt$l=?>*Qi-v<2IA;?w1IMW{KH|`?PZ4oWgOiDbR z*i?Rpb)NLGjm_-$=e*vZEY@*swi87RYh_|yZ{~VWE>M4pzG`r@JA{UP)_flC=Q-Wg zoUYtUZy%H&5Zhjmou=4pCEbL}-5s^m3Odt`ml`gyx;fjEm(IV+RZbsbNKH0li5oeo z)D$B=27GgsHc<#~T;JK^iue z#)x?b>b-5RV?NABa^C5+WKkK=+1aLY#q(oa$pnYldd-KykF2PTRqZqiC3Am)2|-TG zTTocjtx@5jL`#vU!XRxVeFcm^G7t@?_cF2jl-E1NihY_^#x^;sz-Flu?qz*U8Q(Zb z+a5s~L^;>S7j&l!WQ6U;GJVn6NS}w1A}!CGuD!Ha;GL;Z#(?wlg&Y)m0qjNm71c&7s+v+122_1+8i8W#pp)| zEvr1K;h0Yz{~~Y#uXE~_jG2{4o>@`dJ*UIi&ZGi{LC)o!=WE9(+LacU2_pf5M~~e2 z`#Up|Xnzld4B9B^9?5gtU*S1tQr>bU?q8$CKd`AwcCS~ez3=@l#eY5g|8PlxBwmi; zfwHacirqgHb|wg)t{zrr!M-Ml`;D9@yN z23jK9(q4Z#M7Iz8p<}?Z2%h-r_EBWAs2uk7_9E+(!OLdfZR-h3-3Jd2PRLEB7ES+p z8Ms0FeI2H2c8C63*>3}QD|R`4Gnz5Kp*(TkL94mzNoj*MEYg0`@N(xn+h-CT?fLI_G?3MWYN<*G^8G4T*2+AupZfoTMYj5GJdL zb_L(_ecY*hoG!&{BFPbE{8F$S4unuMTEPC_$0abp=jk^AQ)Ron4kJ$zghG>C1n8s0ho>HAco^T4E5A#oOD z^!GJh_8@poEckx|p2y_$X_4}=Sfo?er)HhauNPK}R*Q8hf~^uU*!i&xQ0*heobI>d zp8N*Gq|;kV1gS@|Dtv)z*?00LYsgTG9K%cCOs>87`tlN#20{ zw!XRimlDnP9Xh(KBpDFl1vZ+MbgOJLW&bVQ9FldgGxc2v?mRS2qJnMOGztkuHc5?> zj^I($8k}9a)>3pAEF|6vSZ=tV7lBwZ@FICSPnou#!xt>9Yvi=opFcbkgN4aYK_9v) z*DmxX|GosfQEIs-gdLQev10m{B!WwvhX#?A(gAnNcHqj9r=5s>dswPfJji3Jqb^;s z#nQzGuGU|$1k_cuxch|`^HLKNR4A&fXDYtGq(!98i0@}H55~x^?~Ow1J2hXSQSoGAA;4-*0yOL zPr|=}cd+6fIONG&3S37eq6>5$&#_>7P)YL#xs#DK+JBa$7ih2w)XcZLy^osz%ZHdEzH0FMA zSy!CNs#zX}f?~J2hz}dzgJ`HFP`1?0@{E%lcSbjgoKq z+2|g|*_v}2J7}Bg8WOHO`@kL7i81Ly_5@FCbduKDWIxYzzp3`H^-Ym;2>wP9;K z!nz7yl!g521>_T0PA`R*vWVKeX5wY-9O^1z8@!>q*(khUV1(W|07wz{QO!YSUoaw= z+Ma*5m(2(7=(d9)Ec=aph!IWw==X&|XU3fGaNznG+-QlIP3xg7FA(VNM9YsOY)SMh zvx57LPm2LgNzqHxCVt=|ySG^!*$#6pl0Ejuse0v_4=~HV=0UdDmRg!<>5xQZta=wc zpRmgz*p*&uT0mH-QJzaf(NmvIKHiqfZOqVF0xr!;y9pLTHyny7(V{F{sxhWGb_t?h zy4M8bp9ejfoEaE))PPJJ@!IFCa?NfJQBdLgYxos2am@?KT!oAmakP|ABgy#ZmSOFe zMP|Q&2J1$_sKYmCujU_SGkpU#)K^`vnmK>NccIbUlzW)bWCV@(<-;pf{V68~1Z1$d z2d%9D1G!Q(-}v3oDPW6)t+A*=EkZ&|f}djP_&d=0Hh5>l3wRF*W_B`U4j8Huq=_>H zr%aWT7K8}r8r-qbdenjG)($kkLG7%OWBo#@|eVHpA=rwQuAE45=8#Dwf4BAcP z>Ask+Ix%(s?}6Y<)R}H%`k>U^nkq~t1+?S26&3e-nou~_`{b)NQ zZM(29T4(e zC_o2h%TqgxlP%rIe#WXDtG~YXR8OQnHFo=XCjKJ(Q_}@s*uvvUr;F;-zzeM#>vrn> zH9WQO>q-x|Ds@R%lB{+%v`ziVIH5UyOhL@$qI_b)h?1@m&lWJgHS=OzBOh zfGJB$qvaAMGSgDqh{{VUF)Tl72>G6N_gLo{p6q(swxKg?v)>dC-&5y^EjuB(N=*19 zwqKd*nDEB#S$J9}!}ql51II>_kKkGS+FO}ajC#lW)MN4b%v@u=(L?oe6u0(JPzDbp z-KOG_SMVr7WhAP)11H|+!xSRGe}%5#%C9xWQITh?v6pzOp&vD#Du(uH3-!UAX+b~?81-)v1|DrZw)HxzJ^nSAOch;tVuvV^{0y=`~;!54Aj5M`QJ z_XnDLBGt>Eyqq~5QjPaI2 z_$eP}%m$B0Jc#sePC6w zO5^9f6XY!1&O;wx7HCVDj8t}N3}x#AhL3C12xg4bT2VcHV2b>JVUL1IYXIo+N`K3#z@I13wS&Z*x(nI<%u$ z_RDA}Ykog5XLmF+<$Xe-Yb5#BMbq#(*N8xb2f4ZGu*6Mf5oGy3 zHk2>Ns9kN{%Ox!G>B0{hlPfBZn%&y47C2{2C=Ww@7Q4|vRqasChJR-bvqQ@?9 zhU`>W3?5RctPf|H{M^(lro|d*K2sU#N@AP4y|V8MB$89z!RqB{BlUcleKh3YE;?K;vC`ztkL4xCamvietA?mW3(FTb2||SPc&EkkDD_N4EXlK0{K}Iv z>NhNWIbVG5WN}WEfA^=D#`xY(dKaM?`!9^ep_Or)ZPH2=m%cD;J6T_;+0HA5iufS__ORAGYNmHL-3`vKq|3Dcn`Yc(leQM2%^*==K2IA2$p;?D=R$qf%JPq-VOvZd%B9Z0n`u>23=37k+r z!!|h~ozC=sgv^3LzB6FRdG()f|6h-Uoe4nhlpf#PNL%f$uM%86RJ$IFYhH&Ie&rSjD~!qkfXI~FGV6XJ;d_wDtiyV5GdY;y#gA-)yt6d` z$`U&Jq(6(e*}XK#Xv?^beTbdjfoyZN&S+D#*h}BzOwf`ItftSx)miU59Nj}7Vdu*VM{?+O_;!4sHrI2#$9$AH1qHn76=@HBpSR$XNbnkli z;dg!6fBUlRY4wq?3Ck!s5}l!0;H$fTK(}1m$cFf6bN|aHE=R@Ofe!wK4EKNueG5xH zRQ|fb!t0qV6!`L$L_VVaA^L;;w~7)ZJy*`xTO;o}qV^S_od|vi2)!d>)1bB`2(5vf z%IssQyg4J40%2~s>H+1B_*oAuM;0K8&guv5Xok&b*m80E2ILDJ!La%P!ifLseb9{Pi@@+Dh`-IlnOSJ-m0bRyaQi{KJ)FAC0Oi^39zSmCPC*ZBL8 zL9X^=`(KT?5^leGIUv;heyBIE^}VrLPojjSv6aRoCLv5f&8Zh=-k%iA3%~0QvG=Oe z-?VDpt_~;B$^*oMGyKewS{Ol<)joKqGV~; z<%?dIPpz(T-NTS?S+a0y{$L&o609h(=`*~Hg z{^=!Bq9HC3Kvb;y))Mfq)(DCs>w}fnHx;s!?~rh{wh>9~zAPO_V#3*=gMIJ;b1n|* zBte0Iwe$P+7h+*9J0NAR9*C4bfoyF0AM?Tg{`<pM+mDU|(W+1XE0IT3PBw?}CrLVK1Sb^%_m{onj>VSk4kqLkDnac`oz#o-mOI*T& z1vmc3P;KD8?K1FDR;)digb!y;xLO03--`g?SjR52)>}qRuE9l9fLILSt{_pCNwoW?Gvt83JMn{$C zxzURAqD%Cl!_F_~0c0p|q)=OfK>o;Dp{&cG*Cgb)<@hVUzesUfv`3bZ`b=Tktt^{H z$y>G}^1qMlrY1NjRycG|L`!X(DGSpLUX8uT8M2_kH6q?19ulT~9i_6r`ODRw5c=v3pJgB+P+z8LNMdaIYU%;^%NTTc_?jgd6aoJ=G;{qKYS?V<_5}((kHwEkDPBwG$lO69Ynd>VuC&#{M!lxSICuE z1RxE^sJC+YYMv}1G1=o1MK|O6JR|1M+68m8F&W}Q>x(Wb8p>Bnt*G@~o^C#=Kf^){ zKmxjCKJzAELZat-2w*J@|2Ex2dG6dPl3@;w5+Ymq7#mrgVR%7*?7}PTRe^8U{K_!L zSh;o}lKt{Ch0j~KynWbdd^*8IHY-28>Ty_SX+8R5ys z4Ur{r0y}ZA-tdlDE5;E$>9N}_6Bu$VC)tIhABN`AyNXMr93m-1OsR_>vuGV0oNs?3 z$xxNfkXf~kzb3dcCZuZTqVzN!lKm@>T#3&y(eM}KrU6g5?j(pK95{e|fxEnZ_R8o> z{^H6{*Vvtwk8sP~aHEkQw5L-bP?X+f(kf(i$$^K5q-UTD^?j20Ds}dEB;$~l; zP?X*|d9Um5H$DEV^oU7?L!rHlQ<`s9U10R4x&Rpnvz_|)hWokt9#eLToTioZF)l!Z zX2!G}lW#7}ILrE=?9++3A6}qUuDI9{-<~I2WmgTW57qtk56LCV*raMj_p0boEx97k z*l9UDcrUgYjPa!&(_MmVw3|8H#wk2dfXD5t_}VY_rFqN=Yzubh_vlWHd|`zDBQ2Kt zC2FB8D$Ops!TC3vcm8XvIH?ZvoUMG=TKpw)mAt^Qdz{IA;TP>hLz>E2o)Qr5iZ*(9 zoTn=x|0cc*DBNq}#+AAXDDMcoP1t2({(0|U&Oz})g`%DWr6r|tbl=Row|NDVKEN6h z9Fu!a#yBQ-tn_jda!+H6c)BdMFr-w`gdG#n)7bCAEIg)ZCp-#0S@vG!*_%hNsu`!4 zI`44|hoMCKL7%*l^i-vZM;-aD<^&$R6%j1y)mceWSR? zL8vzj5ILSyv0gX-iL~t-z359CxxTSwYS30a4Ab?Rf#HIvMMQ%Mo`?I11fG%Ya-pv! zPs_-59q!Ci{~GZh2H>|Kuas%T3QhBKGUOFl1n#YS$eFsJlzl`@$;8a$Mk5X9Pd!tX zxV47z%jJ#LC<6xwkwoZwM4@gIyU%X~3n=|~78kL0r)a*GhLqZ{nviyb>DcodV0%P3G$L1!A83dxW*zI^mUty}eaT)QdkcKrGjM<0X9%H=nl z=8Mm}@+5c9wH?ob-Sr7dcy5Zg>OLfQFt?^f)NM@1`=hJo{i!c!jgNZOw-Q?GQ|J*4`ia)o9w-8q!QkccV_sWnTyjlJV zKvw;NW+j1Z#ZxPAQyf6nRv;_hkZvu}>+fIEb5zRBfGlC+B7mfOkabBWe6xX%cNvf~ zyl8W7yX8a3Mob^qCOaB&x8v*~Y5Bg_xfLx#NfDZ3)h#9eL)prxEr2p&3&L4CA{RV? zan?9Nd1H!uG*nXml3u?zYGe*ZkHTQO>jDO3B>IE61z%e8mdxblK5J?5hY;y_MRu+~=Z- z!O+mbpfHD`*@UTh`{r<$E7*$#+Z@m^rt`HbzmE5uqI^CF3i|? zJmka%!0ebze~jICJ}~?R*kOj=?`+tQN-J&M0RbL5i7I1*-I7P(QSDpnn)%aHD^EfG z_fNz-#+YkDq%u|G5k_q)TeV^EnmN?$Y`k8$op*sb_1g7Y&mUe>0FPiLG*G#RA1|&O zX@cjTPTRh9gflT|69GAp>9Q1d!opiz3g7e<9xLT1Z8(+q$ed6FS-1-5UHUIi&qXH( ze0e(bH~)V|1e5d1#U=w5t-Yk2bECV1_1QXg;084KxU*n1kpQ3~ObA~fppNKN)6)B~ zNjTj&x~!rnYEs*lf%`^FZX(GoDyymyb7X`~=T6@1>>?eZ{_q0geje*i!;L&p%FRj9 zy!VWElCTsu8MyCIKSYUdAxtm=%9=;Y$--O^ENoJjGMR!{&Uo&RpucC|Ge7pf5>2J@ z7)K~3h)wom3#%-Sn90D&3@D2T}nSH(KuKA|aKit4^;7I2w5?qCx9=>Q13 z1bm21NJ4CFw)5!70kRo`HD#S2;11(u%zZ>=tO!l;D}5N$KZ_Yld|)-|pzw z(5=zSw?o6zYWkn8CbTgCmkTdkH1O7w5S9DAJ$oB3uBJQw!h7^}GZYubloUN!ydbw9OKtC?!( z(Uk(%XS1+nuk9nEkj?^NXW6$w;?j68fbYF=iE%&w(i7^d0T4v{mU00nx0F_Fu^nBA zrH5{hT%R|?jZ25}#0eh}gj>DkD(c6g=v`be$4EkOA)?oQ0ekNqi9b>FtP9HU?sb=& zIDD-IrR;Vni(42Z2R|y3@gCVfYxf28Stpbq@=3UPx7k-?`qV42U1zu#Wqc{4%-pXd zmH7aJzakk#OgNM!Yikt&DY>v{Dt|!%UsW&E~ZFl*_Gm z?m^5R>a%{(>`^hL(#6$*E*S{NH9qWCm7D%CR8zy*h1Ns)sf5Dwa>@%b4XYTe_VJOG zCZdMbfVA3!gvhG@%&4jxBjMP)&AbV}SB!bpl^T?6=x7Tg9+^%*zuABG44h1jB;uZ| zlRqAhORb>4Fbm6`vlGvX+c^p(iaHzHZ8}NK7YD>5Hoi-m)$XZ;>nlwNK$~Z~>77n> z(eLO__%u@}gA?6Aou6Q#h~2b!Ur3@QdckC{{1J1xoqnU83)MrUVjUHD{-={|bW-l( zq6MKIchqR+gRSt<+I#tS4I)%@E+DhMlXT9c_M2o|oU|^lu^r5^#LYCLkc&W>B7|x&3HwY7~Y5@Rv*T$&8oA~sSn`mrG zOiuVt{<%cOCL9rCD!iY=Vc{?zt#c=zi5)SDGA$DQ6Jj)<6+^>X?ySG@msBE!)QNvY zTZ<wq4zCdJn zv&Rm4t9?iID}}S=XNg3Vha4d(jUi2EKs$&k{Qe$P9iT>=3Mi}{E#~|rIKRQNZ3IQ8 zBogHO05cm`En)E)Hf%ToSd)y4;UyoOaV+g4)sWng+Qc$`EZxa0hm8-ZlA>H(QF0Ru z=>hEvmn0{R9(=K*`m&tP-XAK}N%`CmD}-8pb`zKw(f$W?wM&0D8o>P;SamAf3VNb+ z1rtU59O72+p>hT>kj6s;hqg&0&*QjcDIciEkFu)ag8Ab&(NAWA8!I19N)rPxC)d@a zxUvluafuQQC$kuz-rQj6d%U1IGS0Isi;tw=+N2+@W%yNK_UIHg&S*_HcP~jBlDRO|Wz!8CIcgSjDLO4yYac?s)V)s%IW`&M4}9rzTFC zBF>9Sk8HbNf-vbz$7VZQ7t}H^x;|lakJ~*cBTC#+r3KUed|CN*+nD>oIbW*du43+o zsIs_Js+!z2e|tVzh=_fe5*Ca=2!h|L(Vz92Kby+rWP*pzqH!lG!+p;l2Kn=9XRqM8 zM~x!v>lT2li`4)7&I7FLy))gxQWh^dUT33K!faQMa$}(>E;P$1E8+TWL3*{Y5A*v+ zI2))~Lu9jOdn;Sl(KtOmFY3ITf-5|8qf%@{bo-2B<09oUS{f%=KP41S#o0RQyBOBN z7biLTT+!rQF_eh)^ckcHN1t1LD3t5+A~m{^s=-)JBY={h|C#(Ps}j=FRu;7yOVQZz zPwAh1Tu0?In<6CAhh1OzPq@G#R)Qp$O%)p=7L#ux7$Qfw)lM&63T0u4h3 zixo<{T2156WlR&x4L#9rJOzjAmq_;RhZzSAB6zNHPNB4v!0s>Q91e?)@$P~vYEw8H z?tt_NHC>!n5jAJfT7tn@&g2WyRaFsr9SpG^7}0i>{h3|)nIbApAEh@wT2KtOSp`rA zlh9T8O9o%(WkUsQhWCg`Kj`H0qBn16Al#*nmiqE&C)86ZEv#Kgd;8&J=(Af6Gy*+_ z$IqN8nq$k8;~Y4z<5!`CYZ%h12ymJ1E6T13IV^FMc7t~p|DD4gsG)UKBVoOXE#}NI z?gpB{3Y141)3N)<$wDLddX~Q*8JBwS=&+Y?(ewqv>nnE(8~cZ=MJ>x*h}V#yB$ zpM1<5C!4BlXueqXAHCB}A1<^PH7dl18>um%oo>D|P`2j`v2rq0B4c}gGn>`Olj(h$ z;`B}!H<>l6Q2I1CtFQri`}39m?sr5rW17uYC4us_7PF80`Xt+M{d<#G29cVrMK-33 zA>-(bfhMJKSo_SB`4Z)bAAmc294(&b?TE*Dt3r}}=$iAuGsXO>(g#)-&4cl*BZXbw zS?}L)TXJ#Bn$#oavkxro_GzdCw$aktoCS1A<=_fe)hd&+u!EtZ{Z-*Jcg~Z2Vjumj z)TCC3v5zcOo(z+87&2>da|_0Wr{BTN-c``kDo-XWX@?k^Z&_%{eO+kVWYqX6Bl~5jpOeWa_@Iwp0$nXS!dHI+HhXArB67R0KYA5T+P@ zFsVTH=DC0Ii)yJG-Q`4ff>vRHKE1_hE_wlSQN5vg?GUZcM~UfQSiyzsNU(m=%^k0?!wH)4=5q;?^UO%+A&A@A>N!`jiIDev2%9K1MywQ2VYJ7vL{wJ+b(ki)eAskIU$z=5HA3lqZMNU2O zUF-U^Zm}&!I%zL#(E-@%@`k3AFm{~U~;r4%r?$CiD zn4DX~5!sRA6PK$!kEmu={x|4WGjpSmu5R*LoSlw<44*q^hGKi0HJ|jqI%e&5_TL8O zZ)?FGziUQ?|1Hr5E9@6r&Fx*M97Oxe%t*OMpfy}&sU~%OT6Cjy@T@JZ%B#WZJEr9 zUC-|Vhxk=W>)W{>fWW!U?zbF+z+&ei1hc5(AXI}jnSc$@3qE|85+AJ*HcVu}vNQwu zpD?ouYsov0%1>o9x4UP>OIQsWlFt8L{@Fu@@)C1U#@@Aok<4Qjaxs;N-LC*(Tygul ziYYo5l*q>-VCV~ec=gwH>B$1!Y-Y;==x=z8G!oox5zOv|2R6>}sn}J_q^nM$^=Z^N zq6tU|JFv@_W~zp2Ut0$CE_KFORmT@_Gt%@?en$NniHy`pGyQtpZ`ywji$ImTAd6|= z{R)bQ1t9A>t4XRfS#Vjt1>WDwIN;u-7&eU<7(t)X z;+}a2)dQuCbT<&0FX{Cnl6HfV(cUuGQ3q(?EQ&lm*!yw(aMzM*rbO*eAQ*~4Gi*UP zh!pb>#t2>KH&Ad|+I{WD`Xns7XWlGcpriG!hTX(S+soGV_oh((xv($*N81<3naf*h z4aMd8_gDUSk%Hw(b6GZ)}G*!T3`;88!Zb zyzB?#{~a4_y>M#nUEqaA>2}}HlJ>u%dlkv?oqY=-AJ!PTIp94km8Y!kHND8#PCFR! zNL|3#t(mvnoFgBx^j5;$={VC{AoFKy>8r7O+v7^YPVIXem6H0LICt}>8j)@VG60|% zH?LuwXI73pjYJwrgQd9$t1yb(_L;9c^i;F2=`!iwo=WJYt)2_xY>>)2ByoV5`s^uy zn#js>-@3qgm)K{>8sh_-_&q~*Pa}P+P#wP4a{MP~pP2jF>3ydY+Q++ ziQZ94rX@e|enG$v)T%5t0v;_SX~_{THb{hv;;+;|*bzQ++2hB&^=R&=O(t2n#B-n8 z0Zw4i>-kaAIaVxptAZnj^&Vm!Xcs1!?mWp!w@p;1RVg#FlY=^Q-?L#p==pqG^B{F0 zIy0P!p|CgPeFeF8owx#Vh{zR&2bEenp$jG917)Y>IfwJW6N)r$rT{r}Gt8A{(+#sH z>$oX@T&jtPo`L_YuC#!89E7!Sd{WG5+%nhN-p859yhpF*=A!wneP8 z*J4)7dLTZC-7+)JWdeJ?Cye3DZ|>ukY%i(ignXitE)qDaN^S|sh?f0=)B8RD4(ygM zqSe86((_OK(N_31rlM>=fUo8*P8vm;ky3bL=q;FNu)zI&=IbKigNjR(a&PCZjnB6T>zTtROfY!uyp>@L;a!+@mSx_PorI@TRp$P7*v?Ua` zO7;3#D=wRP4m!z=ge^+WD=iH3r#@*9&~AoV*2tJxZ-~SDSFtC{6z5eQ>auL1QLQkO zAJh{Vs_eM(mOYw}dLiVKa@BJd;4Sr?DWVt#wIyA-{TGN9!WrW47)FxCovM0c@+0g) zZb=FKluc{3;ET6Y0uo3{U25ftr0D+B!y93qu`R>RL*SHmA9S5Q&&=7$K*nMD@u`-m zsb`4maOVW(;&1tosixjn_l6&n?4u6Q{#jfTqZ80v49S*LlS;6_JPbw&)7>@92qR;5 z*c`pj?(WeSNJ6e>95ZDmui6P!U9N`@9}M+=jrdJOOQ4F1T^7Sn{8snDZ(0-wcY3Pa zs7I$2v$HMArejM5AF;fNm*B`i8-wM$l=q1t7kwcMVQh+9<&09Ct@O3^;eP zF0m~1TEGf>4<#WFW0Wqj!OP^9LW9$LZ%b-?FMs5u0%3S;{WnX`$hyrREcwu=dHA02 zL&7f4($^TyB{Ndd3l|>0j?EMW8zrOPF6LY<;}peJ+V(I$H5B2T+HuOb-q#PyPBx)K za1?(iRqSHLq9rhmMtU&&^n4g9?CChZF^P|MkmK7ZRT|uh7xGR12NJ6~AWvpAv z=-PBySj2ZPb+g5YPp4IOmW(0-J66!^>n(KhWb9Iui6&VlnFK#Pv^E zxhezb8E9Kta#=v&r89Ci!=&kd@!Gh_l5Aa~1hH7i+^WxJNH#zy=9#dO80Q9-J8WaD zh>?6-Ses|A^Z$5)$xV!|4Fs)N-k6BPdYWaotWcsQn^jz4)OA+oB=<;9u~nu?D#b{H zr3mQxHq}$(o1I6~-KHmt=Q(kGl<>KE{z7mz;NS*R6!6g%cFFL%1y`4!H)~9@A^v^uyfs&5rD4CcF!JK!p@;hxa|(BU<8*XWgu2Pl>mq zmI$4scfFV;27S*}LQFcRguRZ+d(O`E{8kTGc%=+@QR$$XfP1ij70bf)*8@kqlsa|* zb=kl*K;XOsPXD3iSkuRnxu7yN9`J|8=xWC-9?b@gE;XK=3(+YZPNdpFKQ1m*CSL

pXHyI(|Wumdaymhr>wjx%v+bvrMF|3E(KH{r&7hQS~eTp8b3*13RFK> z*fj^khzEAZ>*3GhzhsQ9pOja$WSa)HcFv!>WQIEggLAihNBvVK{`z``NsJOwf{qya zL@%RHG7u#PgPGSzm`OW`pyy(d#g=oCIYi@ZmI<~bppu#8%t z-B+sZZJ}H(kl7~j`Eyn|zJ+gg6K7k|XTr~$*Q`WuZksB4DG!_TIWR}F62AYQRGd3< zK$N4F$Q=G%00?rD(2W*C-+S&t7t zqZ+NT;3#G~F+ zi=h}k67IgD$i?yTrO>gH-S4V#yjT3@$Q5Gt)c6~gxEFCM$2o(CU+OSfe>i0#B6LmJ z{kmXhaL1eI-Z$jl@JLYD*GX+#4MN=yyJI}k)RWvM;{4(!`TX!&N$o^VTYE)?6LNV4OYO zlhj@IALDVxIz~6=Ze*Jv=T}_v?qLFf;b+Yr_D_X)|Gih}f8crvvfe^wQoVY2fy`b^ z4hA5)v?OLa)(|8Jk#ADY+W WI!mwG_&E2#Kj+o8)pAwL?*Bi~G(9Q+ literal 0 HcmV?d00001 diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md b/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md new file mode 100644 index 0000000000..19d9dd12b4 --- /dev/null +++ b/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md @@ -0,0 +1,66 @@ +--- +title: Consent for Edge Network overview +description: An overview for the Consent for Edge Network mobile extension. +keywords: +- Consent for Edge Network +- Edge Network +- Product overview +--- + +import Tabs from './tabs/index.md' + +# Consent for Edge Network + +The Adobe Experience Platform Consent mobile extension enables consent preferences collection from your mobile app when using the [Adobe Experience Platform Mobile SDK](../mobile-core/index.md) and the [Edge Network extension](../edge-network/index.md). + +## Configure the Adobe Experience Platform Consent extension in Data Collection UI + +1. In Data Collection UI, in your mobile property, select the **Extensions** tab. +2. On the **Catalog** tab, locate or search for the **Consent** extension, and select **Install**. +3. Set your desired default consent level. +4. Select **Save**. +5. Follow the [publishing process](../getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. + +![AEP Consent extension configuration](./assets/index/configuration.png) + + + +In order to ingest and use the data collected by this extension, follow the guide on [ingesting data using the Consents and Preferences data type](https://experienceleague.adobe.com/docs/experience-platform/xdm/data-types/consents.html#ingest). + + + +The use of this extension is currently limited to the setting (and enforcement) of client-side, macro consent flags. While SDK APIs allow for granular and global consent preference collection, flags are not consistently enforced with upstream applications and therefore will not accommodate use cases that rely on global/granular consent preferences. + +## Add the AEP Consent extension to your app + +### Download and import the Consent extension + + + +Android + + + +iOS + + + +### Register Edge extensions with Mobile Core + + + +Android + + + +iOS + + + +## Configuration keys + +To update the SDK configuration programmatically, use the following information to change the Edge Consent configuration values. + +| Key | Required | Description | Data Type | +| :--- | :--- | :--- | :--- | +| consent.default | No | Consents in XDM format. For more details, see [Privacy/Personalization/Marketing Preferences (Consents) Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/profile/profile-consents.schema.md). | Map | diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/release-notes.md b/src/pages/documentation/edge-extensions/consent-for-edge-network/release-notes.md new file mode 100644 index 0000000000..0f73142308 --- /dev/null +++ b/src/pages/documentation/edge-extensions/consent-for-edge-network/release-notes.md @@ -0,0 +1,55 @@ +--- +title: Consent for Edge Network release notes +description: The release notes for the Consent for Edge Network mobile extension. +keywords: +- Consent for Edge Network +- Edge Network +- Release notes +--- + +# Release Notes + +## June 1, 2023 + +### iOS Consent 4.0.0 + +Major version update for [Consent for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: + +* Updated the minimum supported version to iOS 11.0 and tvOS 11.0. +* Include XCFrameworks built with Xcode 14.1 with the GitHub release. + +## March 1, 2023 + +### iOS AEPEdgeConsent 1.1.0 + +* Added tvOS support. + +## January 31, 2023 + +### Android Consent 2.0.0 + +* Major version update for [Consent for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeconsent-android). + +## April 8, 2022 + +### iOS AEPEdgeConsent 1.0.1 + +* Updates timestamp in Consent requests to use fractional seconds. + +## March 11, 2022 + +### Android Consent 1.0.1 + +* Updates timestamp in Consent requests to use fractional seconds. + +## April 12, 2021 + +### Consent tags Extension + +You can now find the `Consent` extension in the tags extensions catalog for mobile properties. + +## April 5, 2021 + +### iOS & Android Consent 1.0.0 + +The Adobe Experience Platform Consent (AEPEdgeConsent) mobile extension is now available in iOS and Android! This extension enables consent preferences collection from your mobile app when using the Adobe Experience Platform Mobile SDK and the Edge Network extension. diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/api-reference.md b/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/api-reference.md new file mode 100644 index 0000000000..13133576e8 --- /dev/null +++ b/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/api-reference.md @@ -0,0 +1,296 @@ +--- +noIndex: true +--- + + + +#### Java + +**Syntax** + +```java +public static String extensionVersion(); +``` + +**Example** + +```java +String extensionVersion = Consent.extensionVersion(); +``` + +#### Kotlin + +**Example** + +```java +val extensionVersion = Consent.extensionVersion() +``` + + + +#### Swift + +**Syntax** + +```swift +static var extensionVersion: String +``` + +**Example** + +```swift +let extensionVersion = Consent.extensionVersion +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (nonnull NSString*) extensionVersion; +``` + +**Example** + +```objectivec +NSString *extensionVersion = [AEPMobileEdgeConsent extensionVersion]; +``` + + + +#### Java + +**Syntax** + +```java +public static void getConsents(final AdobeCallback> callback); +``` + +* _callback_ - callback invoked with the current consents of the extension. If an `AdobeCallbackWithError` is provided, an `AdobeError`, can be returned in the eventuality of any error that occurred while getting the user consents. The callback may be invoked on a different thread. + +**Example** + +```java +Consent.getConsents(new AdobeCallback>() { + @Override + public void call(Map currentConsents) { + // Handle currentConsents + } +}); +``` + +#### Kotlin + +**Example** + +```java +Consent.getConsents { currentConsents -> + // Handle currentConsents +} +``` + + + +#### Swift + +**Syntax** + +```swift +static func getConsents(completion: @escaping ([String: Any]?, Error?) -> Void) +``` + +* _completion_ - Invoked with the current consent preferences or an `AEPError` if an unexpected error occurs or the request timed out. It may be invoked on a different thread. + +**Example** + +```swift +Consent.getConsents { currentConsents, error in + // Handle currentConsents +} +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) getConsents:^ (NSDictionary * _Nullable, NSError * _Nullable) +``` + +**Example** + +```objectivec +[AEPMobileEdgeConsent getConsents:^(NSDictionary *currentConsents, NSError *error){ + // Handle currentConsents +}]; +``` + + + +#### Java + +**Syntax** + +```java +public static void registerExtension(); +``` + +**Example** + +```java +Consent.registerExtension(); +``` + + + +#### Swift + +Use the MobileCore API to register the Edge Consent extension. + +**Syntax** + +```swift +static func registerExtensions(_ extensions: [NSObject.Type], + _ completion: (() -> Void)? = nil) +``` + +**Example** + +```swift +import AEPEdgeConsent + +... +MobileCore.registerExtensions([Consent.self]) +``` + +#### Objective-C + +Use the AEPMobileCore API to register the Edge Consent extension. + +**Syntax** + +```objectivec ++ (void) registerExtensions: (NSArray* _Nonnull) extensions + completion: (void (^ _Nullable)(void)) completion; +``` + +**Example** + +```objectivec +@import AEPEdgeConsent; + +... +[AEPMobileCore registerExtensions:@[AEPMobileEdgeConsent.class] completion:nil]; +``` + + + +#### Java + +**Syntax** + +```java +public static void update(final Map consents); +``` + +* _consents_ - A `Map` of consents defined based on [Privacy/Personalization/Marketing Preferences \(Consents\) XDM Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/profile/profile-consents.schema.md). + +**Example** + +```java +// Example 1, updating users collect consent to 'yes' +final Map collectConsents = new HashMap<>(); +collectConsents.put("collect", new HashMap() { + { + put("val", "y"); + } +}); + +final Map consents = new HashMap<>(); +consents.put("consents", collectConsents); + +Consent.update(consents); + +// Example 2, updating users collect consent to 'no' +final Map collectConsents = new HashMap<>(); +collectConsents.put("collect", new HashMap() { + { + put("val", "n"); + } +}); + +final Map consents = new HashMap<>(); +consents.put("consents", collectConsents); + +Consent.update(consents); +``` + +#### Kotlin + +**Example** + +```java +// Example 1, updating users collect consent to 'yes' +val collectConsents = mutableMapOf() +collectConsents["collect"] = mutableMapOf("val" to "y") + +val consents = mutableMapOf() +consents["consents"] = collectConsents + +Consent.update(consents) + +// Example 2, updating users collect consent to 'no' +val collectConsents = mutableMapOf() +collectConsents["collect"] = mutableMapOf("val" to "n") + +val consents = mutableMapOf() +consents["consents"] = collectConsents + +Consent.update(consents) +``` + + + +#### Swift + +**Syntax** + +```swift +static func update(with consents: [String: Any]) +``` + +* _consents_ - A `[String: Any]` of consents defined based on [Privacy/Personalization/Marketing Preferences \(Consents\) XDM Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/profile/profile-consents.schema.md). + +**Example** + +```swift +// Example 1, updating users collect consent to 'yes' +let collectConsent = ["collect": ["val": "y"]] +let currentConsents = ["consents": collectConsent] +Consent.update(with: currentConsents) + +// Example 2, updating users collect consent to 'no' +let collectConsent = ["collect": ["val": "n"]] +let currentConsents = ["consents": collectConsent] +Consent.update(with: currentConsents) +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) updateWithConsents:(NSDictionary * _Nonnull) +``` + +**Example** + +```objc +// Example 1, updating users collect consent to 'yes' +NSDictionary *collectConsent = @{ @"collect": @{@"val": @"y"}; +[AEPMobileEdgeConsent updateWithConsents:@{@"consents": collectConsent}]; + +// Example 2, updating users collect consent to 'no' +NSDictionary *collectConsent = @{ @"collect": @{@"val": @"n"}; +[AEPMobileEdgeConsent updateWithConsents:@{@"consents": collectConsent}]; +``` diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/index.md b/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/index.md new file mode 100644 index 0000000000..46552dc4cb --- /dev/null +++ b/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/index.md @@ -0,0 +1,134 @@ +--- +noIndex: true +--- + +import Alerts from '/src/pages/documentation/resources/alerts.md' + + + +1. Add the Mobile Core and Edge extensions to your project using the app's Gradle file. + +```java +implementation platform('com.adobe.marketing.mobile:sdk-bom:2.+') +implementation 'com.adobe.marketing.mobile:core' +implementation 'com.adobe.marketing.mobile:edge' +implementation 'com.adobe.marketing.mobile:edgeidentity' +implementation 'com.adobe.marketing.mobile:edgeconsent' +``` + + + +2. Import the Mobile Core and Edge extensions in your Application class. + +```java +import com.adobe.marketing.mobile.MobileCore; +import com.adobe.marketing.mobile.Edge; +import com.adobe.marketing.mobile.edge.identity.Identity; +import com.adobe.marketing.mobile.edge.consent.Consent; +``` + + + +1. Add the Mobile Core and Edge extensions to your project using Cocoapods. Add following pods in your `Podfile`: + +```swift +use_frameworks! +target 'YourTargetApp' do + pod 'AEPCore' + pod 'AEPEdge' + pod 'AEPEdgeIdentity' + pod 'AEPEdgeConsent' +end +``` + +2. Import the Mobile Core and Edge libraries: + +**Swift** + +```swift +// AppDelegate.swift +import AEPCore +import AEPEdge +import AEPEdgeIdentity +import AEPEdgeConsent +``` + +**Objective-C** + +```objectivec +// AppDelegate.h +@import AEPCore; +@import AEPEdge; +@import AEPEdgeIdentity; +@import AEPEdgeConsent; +``` + + + +#### Java + +```java +public class MainApp extends Application { + + private final String ENVIRONMENT_FILE_ID = "YOUR_APP_ENVIRONMENT_ID"; + + @Override + public void onCreate() { + super.onCreate(); + + MobileCore.setApplication(this); + MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID); + + MobileCore.registerExtensions( + Arrays.asList(Consent.EXTENSION, Identity.EXTENSION, Edge.EXTENSION), + o -> Log.d("MainApp", "Adobe Experience Platform Mobile SDK was initialized") + ); + } +} +``` + +#### Kotlin + +```java +class MainApp : Application() { + + override fun onCreate() { + super.onCreate() + + MobileCore.setApplication(this) + MobileCore.configureWithAppID("YOUR_APP_ENVIRONMENT_ID") + + val extensions = listOf(Consent.EXTENSION, Identity.EXTENSION, Edge.EXTENSION) + MobileCore.registerExtensions(extensions) { + Log.d("MainApp", "Adobe Experience Platform Mobile SDK was initialized") + } + } + +} +``` + + + +**Swift** + +```swift +// AppDelegate.swift +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + MobileCore.registerExtensions([Identity.self, Edge.self, Consent.self], { + MobileCore.configureWith(appId: "yourAppId") + }) + ... +} +``` + +**Objective-C** + +```objectivec +// AppDelegate.m +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileEdge.class, AEPMobileEdgeConsent.class] completion:^{ + [AEPMobileCore configureWithAppId: @"yourAppId"]; + }]; + ... +} +``` diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md new file mode 100644 index 0000000000..bfb8a6c0c5 --- /dev/null +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md @@ -0,0 +1,260 @@ +--- +title: Identity for Edge Network API reference +description: An API reference for the Identity for Edge Network mobile extension. +keywords: +- API reference +- Edge Network +- Identity for Edge Network +--- + +import Tabs from './tabs/api-reference.md' + +# API Reference + +## extensionVersion + +The extensionVersion() API returns the version of the Identity for Edge Network extension. + + + +Android + + + +iOS + + + +## getExperienceCloudId + +This API retrieves the Experience Cloud ID (ECID) that was generated when the app was initially launched. This ID is preserved between app upgrades, is saved and restored during the standard application backup process, and is removed at uninstall. + + + +Android + + + +iOS + + + +## getIdentities + +Get all identities in the Identity for Edge Network extension, including customer identifiers which were previously added. + + + +Android + + + +iOS + + + +## getUrlVariables + + + +This API is available with version 1.1.0 and above. + +Returns the identifiers in a URL's query parameters for consumption in **hybrid mobile applications**. The response will **not** return any leading `&` or `?`, since the caller is responsible for placing the variables in the resulting URL in the correct locations. If an error occurs while retrieving the URL variables, the callback handler will return a `null` value. Otherwise, the encoded string is returned. + +An example of an encoded string is as follows: `"adobe_mc=TS%3DTIMESTAMP_VALUE%7CMCMID%3DYOUR_ECID%7CMCORGID%3D9YOUR_EXPERIENCE_CLOUD_ID"` + +* `MCMID`: This is also known as the Experience Cloud ID (ECID). +* `MCORGID`: This is also known as the Experience Cloud Organization ID. +* `TS`: The timestamp that is taken when the request was made. + + + +Android + + + +iOS + + + +## registerExtension + + + +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. + + + +Android + + + +## removeIdentity + +Remove the identity from the stored client-side [IdentityMap](#identitymap). The Identity extension will stop sending the identifier to the Edge Network. Using this API does not remove the identifier from the server-side User Profile Graph or Identity Graph. + +Identities with an empty _id_ or _namespace_ are not allowed and are ignored. + +Removing identities using a reserved namespace is not allowed using this API. The reserved namespaces are: + +* ECID +* IDFA +* GAID + + + +Android + + + +iOS + + + +## resetIdentities + +Clears all identities stored in the Identity extension and generates a new Experience Cloud ID (ECID). Using this API does not remove the identifiers from the server-side User Profile Graph or Identity Graph. + +This is a destructive action, since once an ECID is removed it cannot be reused. The new ECID generated by this API can increase metrics like unique visitors when a new user profile is created. + +Some example use cases for this API are: + +* During debugging, to see how new ECIDs (and other identifiers paired with it) behave with existing rules and metrics. +* A last-resort reset for when an ECID should no longer be used. + +This API is **not** recommended for: + +* Resetting a user's consent and privacy settings; see [Privacy and GDPR](../resources/privacy-and-gdpr.md). +* Removing existing custom identifiers; use the [`removeIdentity`](#removeidentity) API instead. +* Removing a previously synced advertising identifier after the advertising tracking settings were changed by the user; use the [`setAdvertisingIdentifier`](../mobile-core/identity/api-reference.md#setadvertisingidentifier) API instead. + + + +The Identity for Edge Network extension does not read the Mobile SDK's privacy status, and therefore setting the SDK's privacy status to opt-out will not automatically clear the identities from the Identity for Edge Network extension. + +See [`MobileCore.resetIdentities`](../mobile-core/api-reference.md#resetidentities) for more details. + +## setAdvertisingIdentifier + +When this API is called with a valid advertising identifier, the Identity for Edge Network extension includes the advertising identifier in the XDM Identity Map using the namespace `GAID` (Google Advertising ID) in Android and `IDFA` (Identifier for Advertisers) in iOS. If the API is called with the empty string (`""`), `null`/`nil`, or the all-zeros UUID string values, the advertising identifier is removed from the XDM Identity Map (if previously set). + +The advertising identifier is preserved between app upgrades, is saved and restored during the standard application backup process, and is removed at uninstall. + + + +Android + + + +iOS + + + +## updateIdentities + +Update the currently known identities within the SDK. The Identity extension will merge the received identifiers with the previously saved ones in an additive manner; no identities are removed by this API. + +Identities with an empty _id_ or _namespace_ are not allowed and are ignored. + +Updating identities using a reserved namespace is not allowed using this API. The reserved namespaces are: + +* ECID +* IDFA +* GAID + + + +Android + + + +iOS + + + +## Public Classes + +### IdentityMap + +Defines a map containing a set of end user identities, keyed on either namespace integration code or the namespace ID of the identity. The values of the map are an array, meaning that more than one identity of each namespace may be carried. + +The format of the IdentityMap class is defined by the [XDM Identity Map Schema](https://github.com/adobe/xdm/blob/master/docs/reference/mixins/shared/identitymap.schema.md). + +For more information, please read an overview of the [Identity Service](https://experienceleague.adobe.com/docs/experience-platform/identity/home.html). + +```json +"identityMap" : { + "Email" : [ + { + "id" : "user@example.com", + "authenticatedState" : "authenticated", + "primary" : false + } + ], + "Phone" : [ + { + "id" : "1234567890", + "authenticatedState" : "ambiguous", + "primary" : false + }, + { + "id" : "5557891234", + "authenticatedState" : "ambiguous", + "primary" : false + } + ], + "ECID" : [ + { + "id" : "44809014977647551167356491107014304096", + "authenticatedState" : "ambiguous", + "primary" : true + } + ] + } +``` + + + +Android + + + +iOS + + + +### IdentityItem + +Defines an identity to be included in an [IdentityMap](#identitymap). + +The format of the IdentityItem class is defined by the [XDM Identity Item Schema](https://github.com/adobe/xdm/blob/master/docs/reference/datatypes/identityitem.schema.md). + + + +Android + + + +iOS + + + +### AuthenticatedState + +Defines the state an [Identity Item](#identityitem) is authenticated for. + +The possible authenticated states are: + +* Ambiguous - the state is ambiguous or not defined +* Authenticated - the user is identified by a login or similar action +* LoggedOut - the user was identified by a login action at a previous time, but is not logged in now + + + +Android + + + +iOS + + diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png b/src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png new file mode 100644 index 0000000000000000000000000000000000000000..1d91105baf627461334ba1554591f9729787e577 GIT binary patch literal 51462 zcmdqIXE@wl7dJYDXwh3jln^BZi5i_CqIaT85WNJWGfEH=y+tR8-g_HD6213Mlu<_? zWsEr^_wziF`#tZs^Xa%QX3YF|S^c-yT02x#Sr#9c3KswX;LE*~RtEquP;b!?*tbzH z?;jDY006j4R#H-`a#B+Cs!k4Xt!&K!fR~~1iCCJk-4uQhP zGmqKW9^gETBO*l)pwTt>rX?wj(TiIe##-NqUP&QM#vX>bgICGQI`|_1KmPPqWO>tG z^XWhnL=oy{51sR}80Z5*0TKkuAAZ~`CjlgVv6Ykd6JX>N^Y^F5u#~thy@bmvXi)H( zoPq+KC}|iJe<}({9;@SEF-5?UNG(lw??;pXR^nx|^thBzM`~`PcRylm0jjdZO_KJt z?lF7xim~*V3?jVU1*4bdF|m1fOL*5v$(IAm9{}7*LKx*R{mcTV?g`FmJ|uW_=QTC4 z3hQ%s{B~Lcw2+V|F_eA%eSOKR#P5}eK~Di@RPBAM;y)A-3YTUc-UKXK1Ebr?B+X^2 zYy(THhz$LsRwf=P{@9MY_a6E`e1bmgVupm~T446-#x>Ks1P3)gLO!DCLeIAN%zh&G z`892)z$-BUQ^~G7dDw{Q!)Mbw`S;cp5DXTtV#ps1#xoqe?tdc7ouZRK%Tb4SX6te3 zEvdP42ZC)%(O1qZ%I!YUDQlnD#jtvEB!jk4<$+kU8H~HKYI$DkZC^{zrV4f)utj(i z+wgzoRW_oI+}jq|CgnJ#wD9V64&`ZIy}JAaXfRABeUyQ0Mt8H1vRJHph$`T*v=z2j(i z>Zd@i2Ny}Y`V(TStgW(8#m!=lhWmc&41h7ZzL`62wTo3WCII6u2EmsS_wV9nlBv4H(e{x1kUr0Ru7;CO z7Kc%TtM#c+Vmy;dwIpA8%ubWe8sh{fTt;K~PBqgEKFx=S7tX^9!$m{X!&)1G8_X_P z7yONMqG4CT4@|3{P~6qILroeY_ha=<*c0;4h|i>-@jf?wmhAI-Org-3Y?4;tKjm&q zV)AbB<1aq(Fbmutc=%I{8Xk{PkI^Zj$ z`wZS_U~~{R=r#xsd0$*vmEkV20ZtYM?Sshjr1Hoi`FhE_4?mH{hcZjMy&-!VUZ3zv z&X(SYUW@^(rK&olNc zSqss|Lwa&cv!U5WnFJ%{yrfhq2`|{QXtIFAFSN8YX*5kW6AQG9(zSQ9vp0Ua@QVh5 zlYBodNFj^Ami$y-DY8?wQEkeFN%}-ICJGt1ylPQHlwMfi2M1@oXnaxdqUxuqQuWt{ zxAkvJ*X{f9k{O*Xo#)maA!LJs{1AVNV)Ih+tQvzN?d{}=&$SV*ezmW>LSP=d#59c& ziOR{!4FmVmUKatqzf_SEzA_vCJA@ig>YxnRB+zQDW) zzlg;Da9c5uEYK;?HBe2;u;V6@@+^)vQ z)WW{Arl_{bRHgQ`&e(484RYpNyZ>JK>~cEe_&e~5XQyjtneu=#N#5^ z7DXzaPYux?-Iy!Cb}MJr;(A$hSSD>JO-n)bx{bL_G)~mX7Tl5I4vWobZa!`iaHCT( z!eH5$&PZCHbkFqrgH(fgMz@Vb$`D3_x^IhlCtgpmJ5W1>p5p8gij|77`^E)2TD@P*ozM80?EXCi z@=MdVa|8*Wt8$Xr1RZeT)W84y z9)V+uhoG?6fA)Ff^Q*Y2sxGtPN|{7T8_t1O-kvz-I2PRp4;9sIN3wFbQdO1lEgmPO zHS>7HZFkHM_;erria!cIhhB1D9g&^JRmNp$o{p6ibfBw92AN22Fcy=5mGKm3V_^?O zc@Yv9(l2aZm@$4nbDmZ%J)x_6b@Dt6{&;snmuV zVwT7oje}=QfXiFo_|R+!N|{QPjJ;agzGfCL%{NW~OM+&CY;du_cxR>HmlZG7$C?)G z5b1lvi+HVjGbXLCJA)m5H2-2};%6dfGUj&@FgpJR3+bU_=Fhd=n%SxLIHlO37*0r6 z9~=oZ?=e3&zoidxuw%1`qfBg_tu>on!wm@&oeiBepM|qYvFW?sg-%tjD8y%O+1I!M zSCmWAs9k-he#`=G>L#JVqBCCdFz+k1vz3+>G_MrvPd04U6*Yo2gRmbv+n1r|8uPyW z2qt(dEfLLz@ZERi*#ixw(5Q*5{u9TRV&5~zU&|@7-jUV3ulRTDas(3YW6GM#8egU! zI}cVYneKKbbyE92y)cL1Y=!<}&VN*9RjoTTH%YQM;={dR=2fJ>9co>lC+*_y|6 zYx4Ty1wCPg!RA-ysT(uiAx{ERu~rBtMcPH!e2b6ke}zuOCNK8++Uz)Q3D57%f_AM| zM?-GS`6sq2fRNm;&OTih|7w69H9ly{(&)JA5HNo1{q#)z(#bn#gRTcTb>4G4&INKu zytCuAciFF5J^7vz?!dP|>kip3^?7W&(+%%CU7-sTxAqn}3q3D5a^8VJRvL^QjoDh0 zee4hvm%GE#>)+phW?WXRL1#5qv#K$kFhHgBwg!;4`4%&?!~-iVb! z!UC}NLi?acAkhT`xN1J&;2_BeXvS-2{VolA+8^k)R2;sL%nL4I+>f>J6k%qXcyhCLP6_EE6rCfuap#pOdaevUz<6+ zG3Ru*bG#k`5OEhmy|puUc}?$bXKU{)(#6G5h>Oe3&5hHIhtt8yg6pZEpdi;1 zZZ2+a4%8DI&K~wIuiZK9of-d`(92Svk5`IoQ)*&-?m~1JFg3f#G_g|NZ>4 zPjh#xKP%Zg|A#CTfn3+$a6RRG!u7woQA0(pKNV87ayPeqC2eJgVh?H!v8PYCc}0E? z_&>h-v*bTRwVchJq#W!}BVEM)F!(=%Z+`jjfxp+({j(r=Bdjo4r{pJ@&ft-70hdw(gCOj%#@wt@jsIzO)`MjK7K^k^rD#-26lT9v%PrE0)6d0Ca46 zzng!aqGJHwNSuY;{0#Mo#9d5m!21fV0@D8v24F%@8=N7Hbmt%cwF&_J0ckz~pxSDb z*-R^22%DaW*S|m`Pp{0VB|zJ@=f>j_^ce1#^hEvA4~YLo+e;-sfP}U0{qTRyjT(Us z!1$8H`taWr6yOj6UiL?3|9d9v_W(3M30~45>3?&N4-FkqaQ=?>-!u6W(F2G+y!{gO zFQ#JWFiQaF`NSh${Cg%M6uZ%f70F2cmJh&x47J;w_0Hjc&xG+DMIL=}=yQg@#D+~D zm5kc$*yS^-f6pX=O$5M}=23h3mj<9VqE1Q=h)SlDW&GDnMA#_u{4JSrL;uY}Yt(Ml zk5(-IJrnu^6nX!D5C*0{D^pNkeOrb?;&h+!+i8cYx3k65&bF{r4}OOQ@03=PEDnSE zE_q6>S|){rnGy3|+vza!TF*6WeM9ZHC~UqdqsDG@rZp(n>>cJ; z{EVZLVB-;V4%BDL$AqTH~M^^@;a_~0LL%Cb-Fkk z#(0Dib;%_GXhYgbR35 zCKJu4!+6?nED9hYK^6Aqk1N7Z_XGHK_Pd@UB6YicB4;d&y?5WqIh`JhHafh{ju38t zaYtChjo4e=866;Ig&pSqKMzABk8(P+yxU>%?7I`fbk(y^c|v}cnp@-4KEJzb`| z)ubW1YHHcZt}CZ^aESn2^qjhXJlAToL|`gq7em`2Ir~nfjeU))q385DrJ)Q&{39$h zRoU_{A?Kwijqr1+}Eb-wdOx~o6paNA+CD@H_wL=_$`a^gKJHj+-tuq*%k zub2_QiW=Ep0-OItx3iS3T=@-))@D@f;&FdNY+53^2IFpnN{%6+;Kjofu@zaakL?YA z6az)Dzb76MAYVYYAImbJwcitJuOco0UQe4Mare(lr*TMu&Gjd-KG~1Y`kyjf3n+>Q z<@ZO1#$t^?y`E5!wxlI4{OM>J2@GB}lfi{sin}U*@9~lowZ|X|HZHEZ(Se4ki#@OR zJ{RXYk5<2DNs^x(SCys0CV`pT{(qy7Gc8nPi{Uu>Rpc;3(E_X1SD<~#jYWVL>sK1c z;dN4#$T*4lH|zJaQLKNcw>AedH1{GD3=3U~DaSi{kPL8=SZ#c^*Iv|aptKeIKNUlT zIW%&5fNEqg{2_NA2m*%B0tFJsR#;v8`TT7h*xr?r8gf1S%Qd!fp(rP@4fUdRpR3&! z9a=!{XJbT~)EQ6=0l#dorDM?zn%~}vxVeNF3Cdkdn0^x4&EWqvc2rVW$mZWNjp^Tt z;nMQy*_!w0iPYcRYNkN#Nda#o4Z7e(P|*aXGwe08eV*xxW+>hm@pbU50!B0aHykrl zMR5whe#OYU-*v`E+-on;if`xJAofGf%x%jMQCQVM^mf?a%yqwx&=D8?ZgUQBTHZc+ zN{)!C_za?#$|h=?4Al1fc6$fdVbk4``f@yIn_jPhTL~WihxJ9arp5XR{)2>6IrdTBYzB07 zM3*8C0^?Khb~OUGwOhgoQ4dHAVLFKc_DB1SZM$AG?u-t$;(F?z9MKtZl1@Uqp1j$01EMk$?=O71d#$bm%*@nD4bB!8Bew6@0Zo)$JE3tIM?a zPbC0&ADp<=A|G^46N+CM)RB47M?LUY5r_9&;ETmt&fy=Tqr7Kej9n_TYsK` zXB`xr1{*v3WgtYa>)gA}8dq%y@@ys2P3XI6XM~}R*AVDcjkOjK0!p!~tw?iQm~M34 zwLV=0wfbD0L%z~?=O!9aeX!Qn)SL>T^R;Y6z*1=3m;7zw&eu~MTmwXLk6E!Lo&)^n zNV=v40b&=&c+};K(Joic+n%R(cA&F&U!6s_8XrFRjS81?+c@gx-mI;y8Bu(Tbq1Zz zyA62o;r>Ei?ICyQkY^#Ap~x%vo+vYH^f^&M=+00Z(?b2W^+GWM>^(2XR1n8Xaxe8=iAsUBmn*D}(47Z*hNX zJdv2cIP!8d-E*s8U#mERibJouYdTxzBgI6%TJ~0p*U8qJOAh>aQv;E*C|(b=nkrw` zlM&r1@7Rf!rLE}apS3NqyF}5kOxe|-12}#U+{@~mX%=4(X$2O%Ucy)(NO6Emmkx#w zirUWFw`eW(sQCYOmjN74-1kkW1?*Er55AMuP8xZQZyO@X*|n#RH%E69jeRS$OZ28G z^le{nmp0kANbnB&r5jz#sMh`9jm<=H(#ghfhX?xJ+f`^b3yf-O0dSABLiHm9oUBpwT)wF$x*x1XQx4e-+xWg&BOb8D|I zwuL(zv8>|W!$v(04-Zp!w@d2Mo2F-~tyad2AzJE2GlNRW&XS$h%9!JlR^2g7{BBSK zh=@?ez`?kVu^`+Qe7-&)#;#LZT-tk^+SVk+zHyUkpwfBp5nUZ8wS9dSpVi3sxBbcH z*6gQEv6~=d_EGoC&a$cjp@^aZ;iRyo?h-cfb_GkhT&UBhikoQ+j5Z6jR@H8>}-O*eZx(~umq_P(_N_s?r>94eb4F*<(na2kuBM7PWz0ih+Kd!3^8tUNO9Nie98N9Z zx^-~SNhfUg#nrIU#p(n|;^XTxu`SYQPu_>S?M+hwT=)8gE=Ud-5=Nq2Tbyl_2R}r5yUTeFUP%s$Q^Zi?o5XCM6m+{OC#HD|wV1B$Fx*S)>^|Gq64) zIvkQBoKA57Z#I)S9(IE`mWv2B%o7c@MI8dFocln>zCNwKh{7W(p0|Bel2|}gVF7Yq zqjRqTlI|Qaf#Kse4@@LIo-&OT-I>sL0QTfg5|aU*t;K1iMmY2p>>Q7(l=;dmk7=ls zEEEq^>Qj!Ztu^eo?+FIc0o!-2pHD=Cy-Y%Wezk8vC40GdmqTmJCEka zZn<8ajJ1N0R|6UfqPgDdNfy`IP*ioc(uwl1U$^cSWH%sSv$G3cdo4dlLBIfIkptnRGmpv+Q zSz{B8rqT|}EhZ(C4HOngthJjJnq5K2`eP|M=KJ}l+u9t5z~c-i{e`xzRhZmX--C;e z%D6948tnFh!Lq66pzRjnhG|KG*lzYGBcGG;t%25=?WI6M*MS13IbZm0M3UF@@R*_Z z@%9j7yR4;<(tG17j8A!EmUCj2orI871z#FyZ{NAQgkeUuq-N5lg!^zq0C)z6?QT~$ zyoi?0lZFk~tQf5b8BOLKYG%s&bHsNmL2LH+I|y~$u7D0*`i#Ih7t#D|x-^%J`c_P< zg|H2weZeYp%%uJWx&|)P=~;Ixa{3A}OdH4W6iw;Qv(RNzllN7Pty0LB%eLh;g=d3U1{Myc_+hl-4g~q|!1TI?}X@5$mMquTrB~du8n$TevW4~x#dek$5izr=3D6a!u*$!rMRGMOs6*(Z9|N* zGkF;xazh6(MpV9tgZSC;2Q`0I_J49^*pYte)$9eaBCp%uQ?bK-edH3F9h?3Dz1)_? zN4N>kU&DiN4^|LxXFN*{!eaz6-h0lHNI_W4h2O^JdM=a^5Bn**KDkOm-{_+}K6oqcbY_UgLJ@fYtcxNsTjU zb%xz+HEd5$PRj5*p~~=`s>q}97O}BMZo=OhBUXS{K)>}y)sa{bYW+R#iDq2+N;UPU zmvWO83oULME-a$aKGh%>i1E2)X-K-LmymAbWCFN;GT?=mrHcgW^I39D4bR=0$%*;} zUiIg4-|ms1A7ETjzWr3khtYbCo3A18gM1vVE-n9VjfEPiNWtlJ_YIfqH%a6mS}`^UIEZ0R)d;K0No5Wgja3lUoy4%^W5O@dR);*j*mOF+f*x#eL(|r zKNn;vS`$B*>BP5ZEzitC9>mP3f1|4tn~`Ot`o)B4>5|5}c@jV6amR(0sZOetz5|7& zHk&y!GeeA=hv!Ie^%@?bI9O)1=Z=E1yQsLRyL}O>Ya51tw|@2{IT)%$lPwVxz}J{a z<~QQ=#g*{^kqZ47BVa%T$?df@-TKArfNjtL8$)KP`{|0}B+oy`MSokI{OsI;Vj-z5 z%kK)wM9SShl%lS5ZrYbK!R>=dN0XI($-^yQa|Rk?-hPctoQu9a^L6~zmVANB5MQ5x z%9ru;iB;!hh{O@S2nr4iSlMj3OlW;=thJeNZ>cI}X{K6$iWQW0gG(>xcI{=KHS%oR zj~dtElj1xXBWnvC;EEos*j*Xe&5S6~=K6rh8@`)dtSZTJ>ZwjWu9?1(cZPfW$2z1G zBU6wg&hr$ys~DBP^nS*$1A4;Njz#CKYM6#{xdxP;^U`J7mN@|da#U+sl@kJ1WS<5K zat>J=RFHf3Z65U6`*O`dgFDh;9xp&drK_FbL<&JNx4Vl|@`2l_61+#^)xT!Zz?Ov4T_Qc5^ z$Ieb6=G>A_#`IM@OcRqvMF95d7M!ti-+~o58@}rTCDJUEM%J0b-G|_F_F=x{^q$pz zO)X*|^7m>GjWqRs)xFzNbAtF=u{y_KDCyg}k}q|eRd6pQw16oD&w=4&QcUo=P40)8 zn5HsxovjVoR?c6vl!#dmNE)TvJvley(=sC__sfIMG-8hHqt4N>5zna&hClVg0y{bm z%8dcwyCF%eq!%Rh9hdVScjlb04Ia&s574iW6%BBBVdSqy^~^EzC=p4IQkghLz|WSm zf+;OVKeEqn0!~+nX*fE&stU- z7?IA{<|9Kt&0SxnzmW#4J2KWW8ZN^gt1g=bCm(YPMg4;Axw4&T&K0eKT@O&PNBG;9 znI7U6vYZ6ar$pZNHhk}TmBE!=N_dLU4%JmzH}iZRY&aWG4N`(zw#(Itk^vlrkrj{+ z2wGt(2G1s=2FL9zHC9}7R*9N%ZGD-&pB5MsMA(LarKWr0Q%_kgYh1Uf_}1{y9}qwD z{CR1@fI+akfX=(nzjf#_ZO^*` zclb7w#fqc~^X9gm*f{aEIQX>Vusloi!K5aO8)`UV^P9alc4`Y$ui?#z5qf3sC%vd; zkBJeCPyH5}j~QIVv_NQ#G|Wd+*@LGqiOWE6wtm+*Scn zbp*q98)j7JDm&Yp&^@SeO}LSqV_EhFz;CNm$T}T+Jo3FC#&bS&lQAn~^{LqB7rhKb zo@j=U#s#^5Qb9RVZM$aQx82!5990l8t%!NqG<)FT_yY~BbyQ$?yxKzbmy}vz`foVd zJQ5c5nb1&Y0v7Y#H%y~)d)c~hnsMIv*92f?aMvvZy{ zpwlY2PV1uv75KcTjZ2_VuRK)R+ml>kR?8kZw6;88mDx>}ExfR0(xZOF&RP%w)v!99 zgBn|eAg^R;CNxw;$36Nb{fYbg$}$5YCcnSm+GvvdM&#BYQWFZ(Xo&wcZn#%!^F0_Y zZ|+n4&A;O6sW6U3!U6q&{-j_kXyWwVrQnKjU4Z8Rrv8AErn)zCeysmn<3 zwSa`gw+qUd7c}y=!`MsnIWvNzwoigSa)GDrHDpc_^OCeFu~ntR*rKvnS_|TI)0~x> z^P7*iB$a4H@Xd8(b0Y`O-K^w@Uh8_k9Wn3|NiEgxjIHn6S z-=ja&8yHq9Yzh#k8de+S`vvV?oFm4T0W8H1wpQAC5gM$_r_EVCw@&UwzW`CtwZOle z>|9N9^GVjB3c|+}IhWUIhkDGhtdS_+TvX0$e)H9jiC0I&BB=Dz0O@?ypqQ{L&m!^5 zBENO6A@)1C3G-fD?3uab0y#-RzsUV!2hJ$dkWogNnnkW?2tr~*KdR`Y^?Lu+Nb_M8x<3J+`D`o2b-v%GOfE&2+ex+! zgg*HK8aNN%F+*;&rXX=;L;pz}V@LZjhmT%jBzqX{1%l3&Lk7gP)b_%+eQZU;OKc8n ziK11>BQcm2KQHywylX?l+K*_JwIljIdfSx%pmbFsQzoiQDEdK%#(dyI+gC&3*+dN% zt-;ik=vcF78tZ_rCr_q-mxywdBs$9YtWwi2w?T>4+|S*t+N;yvf4VM+@Zw>(68Ked z)}s3A zR{h7U2ZpiVt4f>(K?(mZgA%b5bphHMD2>SV3BinhZ6M5g@p`hGd2{-7i6wMEqM>uq zb(Q2`tK9+B_&_{_$b!HBJBcrihrtHObW7!G+_~5|Ji3R5@e6xHEJtc6a;o0SUe_d4`X(EJX#TCU4LV$B?q{X{RT+B60u z1m*?)Oa4FI6%y$FH~<6Blm6D&#(&N8&#rZa%^e95)@8XWku&hv7nv# z7TfHliS;UY81b)q$KiT^iVjmSDua5iZJOP>Yu0*sk>b!x862>y9cKYqEh~qTE0h4& zdOqoF=3Rc}&y^%?velAG(SjNT+!MDbP0vJOS=f=l9@du&jXdQVqZUuhFU2=IDEu>V z&U`W2_yiJ$&IgyY;wih~GhfMJ@@r+a7Sor-E>~J<;f(&lrakL3iTLYNMl$z`>2-xq zBcY6ciEg#luk03}SEsn##^K9KOt->u4zO^idc2CqBTVne-qsvuu(mf*qnd@S{uQIN zq2arWc=TU#b;Ip;)mWO3zt)UaP|?;xv}g*N9 zei)mV@3zpC5vo_xZrJoM-VbM3t#?or2FQ8%vG?ga~V_RtCiYlw_U76MD!0HX5Yft ze&cKs5-tx%*y< zP{=8OdxpEQ)g|L^dDLNeQv&Ky6>X;?%u0jV_AX%7Dmv9aAa?T;A0nu8p3>Qi04 zyWJRn%2fUmIA?5tCq6$T`CWe%`J>;_drkP^F+#_nVrKHk0@tDEbLs?)K1=FNu~Ec} zzv(01*8(hM4G*qHG|TeQB-PDj^RW2pwWK?$ukvB4zs0OywcIEZDj4X)$&yRxz4OQ$L4zq0f+^haf|p>=)JF+4ZS&X;Uo39!`gj;rd}IJhiI zgF36UQ!j zn-A}kwWhs?7M}xQdjgES*KQFQpgOXY5DkA)ZztP*!&+Wywv7U=+Z1enu{%7}(}or0 zNo05JfI2lf^C45AUN>sr}=r67@y(TopJ^kvcf>|59e3-9wR|{O>T-1UYO=x^C7NpXgBeHH)u$z7b`TCYqAZg0EzC$|~Zghr>P0 zAI>~X%K(aRf&Wux{AXQ>XP6>*fM!&q&@$PHWQpE7WP0e(QSpkh*F$~n&Bs2wmpxH{ zQ}bYxZi+v0K%>KUrvSLaTaag&7t4>^_rKuUywW1>>9I4Y7`vbhspCYeUV!OyJV@@pc zhbR8Wu`1#~z#H9>!!$S#$0xIZKjQM+!)V3U~DuQ~(7Jm9wn7;&Vn`h23AsxvGg$`ENwo?VhT<-+zYCKL>C`$+2E3d zs*o>o0SRRUkB?`!kL@IR%08MfQa?UzzVn*R52`U=_7~#9j+D^81>gZCk<$v&jjgu* zd|Se%!?jnFzu{VpZ%JZCxboT-C!&=nWKsQKf9ps#H^$OoY_t6 z+=nPToXDPdJ`@S4?NmDs(j>C7zA#y9;eS8fS>g(?(Qi*>KHg7CR| zc5#SDLxsFJPi=%myYc=<3;?a{ni>=Iwqstms+UDHU{6U;ZUyc{*~7^?^QS($b=q1< zlceYo`37dXE%~v>cCl$?ixvQNU?P<}}T z@8X4|0vue-W`B=1vQOdFOxrB&Syur0yWXFXC!|ZhB^i`nH(be*n}6|bfIOww?7I^$ z(}(I{-{@Q;(~MNip5G%2c`w_r`$>t5i8OI9eWIRv&N zlDQw;yWs|x*su4Jz^T7p)Pq&>ga+@>*2Jtpm`g)0aGe6Qk3`DnGNE;PG(TL5HpeTL z(=LM|$HgCK)Ejq<#Ekt;6#mnkhU#vroRQJ1{SqPDSuJ0J&KP!$#|-E9^r~K3t!y=W zH(AKMN$jJc<-*CABZ=fV9AIOz%(&l&*oqC#ynE9s<>)IG43d>mEwx*`YjIxF8}YE$ ztOUi{tQc;{%iP z)6|WF7}s3RreY|f&b?5{LWTgJ|7SiKfuT4cU z;Xu;xaEr82DkAhTVzRuasezP@F`FOyDqe5tCu$dyB?fjOlSusFAwz|e5~5QZpC40n zH!Kx|XC?qpCG$v1i!1k|)r%}VhRq`@f=X=dJz^q}NPP|Q$2jhK<1z2&rw_RNgXhW& zaBr~wz5F%nnZtEsOT=^r7l=z?JOD37J;0%wVho4Kx(=JFb4VNWok6h+V_$Vo$q`Pys!HEgvEjY`^S$%ynuL!7noY zrz0P`XA+X{W)2mYvk?pm=(Vrq+TL&0 z8mKAueAVT94)3UXJvq$QLeu_1oDJBAhwNMdoHfD+q=7F)SI^}Qs` z=(x{-Q=2!+J3%+xlqv?w)vME^|cNg{EDR9J4@!a zP812zlCKgV)bNiI5Mf7M)4(x#>Wb~II&`8gi*UF<5i_5HE zKY?nq_4`RnQ1Y^NiS~XcVhc?u?*=%a54;Xr)mHP|fm%2!6M4yX3KK1ALnC0WUPTt& zSX^r-Nv_d+5eFUZ{YvPGpa4n>s;4M#XaN!r6+ebh{q4w)?gq~}wDOp?n-!VjW$uZ# zOe&y5Uuj#X2=rN!OGOKw+OQ@^%ik~pRgP;W!trOcGd>d@V7?&p6gW0!N{(-hPAGqcaCbSkKks}-bEP#zu5_0=x%COi#!!? zUEiH6q_IDu{Nd8KXeNruL8NigS#>SobbE&R@&=lch`Nq98)FqdQ6=0)Fyd&Yt!m9Q z9V?&_c)p53IPpD-2>#;2^4Bs8x?bZyPXtlg^nY?7ukO@11en7Al$qiqNG<=t3+>0B zTAwPkifK)aB$ySb6r+4AWp$5w|F4X4rxB#HgeNOcm=x zK4~%M-*bD^S7q2s;jVWXQwS6hM3zkS#U3@X%$uH|$BJ7ipw>eh}mG+pWnv2z|?DBwPaea*aL;e?{_SA_LB={eJI;JHRl$25BYyi@ayn zR>hLBFY)eg9*iQr4nLMW9<@P^n|x(Lqw8}}>zLTN^mZ{L^PBNM7Dw#>sk?vU^y6QS zZPqedg=+hpXqGuDKg%_U%%;}SH9dmjxR@KI&sVUCuX*Ogd`l~0_(=DnXIU!-`Ba8h zMxwdUg#$8(^9Px=v-R39vIu3w&~GPaCMU)fOP7EllG`)u zx<4Wgo14q1VDOf`;b`w)1Mk}H2CZku>cu~3Wjt!%{TLy0mfPKradJrf<*We8>r_B5 zq`BZbv?mMLUJ7ZQ%kZ_t?74Y3yTC-DecMq+1Rst`1mh738g6A!^YU^0fP@^s&AGow zRt&LHdqGipe0=FEcKbq*byaJkwS)R~MJR0F_NUs-nM&M>%{SnSWK`4r%;bCf7GQK90hF zrLyoAJ|To$Ip3*$#8o4l!e8BxkS+%RmD!qb757w$v&B$r?YD7Pv40FJmdSNf`6bKC zR)^O!y0ZKcuOvNa$fp1v`!}~q_a6f2e;T@O#aE&EwRcIaudqYlzpSaip7wgZ?+ksj zcH5U~a_F;JB4Tkfjo<6!wK+ev&}~nZ`TxTRb$dNj2RS2BG_%y(gPkQ_1;VH1~7JOT&$NH zfVq4|vB_>GneO1A&afL3K+^3>xx71Cy{*&s3q!UcT}`L2Rr2^=igmpUL8%0r->@)N zBE}dZ|No@uF@SzR)NPR|wXkMv>$tsAuQu31Bcn2Cf{|qBC9{=Wn*&}lle6Va#68`+ z13J9cw|aiSEBFa(|6p}`B7QWLTL8obl!|{)Z+rCd7az+8ab{#uO{Ue1yKBd4AWdCT z9h%>RXePAT)u|Z223PT~o7^na|2s9HVW2Z!XBi|~4LML3N+%5Ij5N*hix_&5YcHwv z_y=cLrbB&Qf~GU@W9~nXy1j^AR85Lv^1A&0CDk!h|1NsBWs-JzJiIWe{XUCM5ON-w z&!!(($R=FF+MryWu-qg7LTv0*UY)=1it*E{d`cMum70(I`zTfBmxl(ZAfT$Za0g~v z!y;cU7W&8>lCH>@ljldGGMk@`d|ooo-_s>2AL$@wC}Bj!Cpul!RO+R3Aq_(bW5j>r zntw7z%ue!noFM|V=(gv3BF^e3`>D^EyiGmNX!ZKI{cc;6Iexed#Ud86YWb}x7aEs0 zM)nwXPHSR{lR!zaKjwptq1JW;keKB!DM8Zu1Xw0ICJDb-2wW_>jC_AeI2(~Cogk{{ z%KAH8YHC~SH9qZ=JI#Pf{T&$eQFHjYhwKQ@kM*#~Fvs@xhDWcyn|;^OL++{?Q0840ANKQ3ZYVi9+=oi**hqm&qE~k*Ayl z$Nc9Vk=r&}KSRXdpI;q45V)DbZ9`p-!T^Nn^VXHSJ}0oV{d&6OENZ6#RNgav`=nIg8 z7{6>bN?oVrk2!^@HG%D(i{|)Iq&F3o9&Hf=5PWB$cgAjtU%~}Q3C!y{L#7ugY%e^O zg>4w~FY?=bHW0WVh(zs$BqER@Td+OOrF9d`cw-hn3481_W&k}jn}C{%?SvS!;W`Nt zo*zmy_*fAN#75!OXNBK-k_#!i7CT&9F)N8#Z(jV=CA&`Ze(vZX1z09!SYW+KcaNPQ zdse(dXhW(?@ifWBLMGdcKwR^(8E)@^f=#54h*lwY@QxDuG4IwUs6Zu6X+Qg(Ot9 zO$Vj!bfDv`tReAdk=;mZ>#q5tn3OxJ=kw8%)n9F^4&iM*;#E%RiWv_dpXz>1>$-v8 z{h#2RaRQ!LN*Hes`y91VI~dhI+Xr@OV&ZCiRzY5^y%neA?baOL>Z{ZEF(Pz&04KP< z+SNGt@`h^BN9m)3@cszN=pLQCK}{LSm4-{Z3* z@U9SRZl*mUe;|h+9j5m^z}=^p`)yn}&#Zx@@E;v4o*x4 zb125Wfpd5z+qT|Bd#(Lcd$PdGl8%(+FK?OPhg~Fod&OawEK2N*U^3n4JtqCmu%pR} zeg>W+fj&nL3N7vFyy!{7J_aDRqmcPn1sbQQ%#GLp@Ylq+u5>|;E%j;+Cx_Niw+Hl^ zN?VFui1$YFM%wOw^kY{=-E2Ydn--Fjdo-nf(NA{=<^AV2VO{9r4OA~dFN0~=Npba)ecqwd@+%>w)iy|fBpM)y+51o4Z) zb)o=cOkHF3=JnkGj-_oto6t6It@FTLa@*JPk$!|21A?YGJcU28WU{btN_8pvx*o|bTsST)rN+{BelnAmB6p$8`4(aX^DFp+iQ84I~E(Hv_ z8>Abg`&;`t=Y0=w-oM~CzA+rn@Nux&_kHD@bFDR3&JB?WXF*P6HBHY)BN34Z$@|N6 zFU}o7@sY{iOW26d!??x?u@Cr!=zRuGe;t`uvn~4DLI0og6bt7wE|L;KE3{{WsU+8-%IXKFC#J`}mRf)Z^_Nk&`$5<~X9}NLEE)BAWzDZN$xMDa?5aoxx=cUU^(YGQ@=fv)CDL0m6&HCL zK~Wbl6=$aHG|bY@H69^pfa|)^({|v%$a{!ih{Yj@BtXtNyhZ%m3*dhT?(8W79dI}6 z)^n5!6l^%-GeWH6(Ysxpg~NA5;6V7~6XRS%v}9Q`i8yp*=Nm;bg9;?L@XfHxD?(f< z3vc4sLL?!8A4UbuW$nCnm@B!7r_gW;(lRXiGV*l2CIYIjh<^AF35JMxC@~H{0>@4Wb>$_yyH^gqYFRwmh=>mkCAA+$vK~?o%z#eGC71G zoda$AtFw#Mc0cOKuZ34E!I7p!z^b8jd=p0RDWkjoNCcTgN$WE3+_5GnC@@uA{RlY2 z!nt;t;w{4ajiOa?o8!=v(%&J^MUdhYEe?9NtEa`;31yE>O(KE+B?M{>UokW9Ok+23 zh{S|U;t=vX=i7ciCtdxeF~R>Z0r;D(Hp(8$Te;M+Fle!uqe%N@U(kKYZl@xycm5^e z>SRZEN*gyt3Bo%Vk9?rrs$_C_rkh0`NA%3s?Y?K030NLtT)1h+#sfve4g-B3G(O_n!FX*^|6=Ll{P3B?hXftW+4WZC3r~ZrvW&R-k7%Ai zT?&Z(#Sw|K5iV<7{Uy6+3T|be#$qB`o6q?mwrcW}{FdDDprHv;h!UfMST&1z7C8(( zOi3&tpJ+7n;ffRK&3is~@7KYxpNHcX*Omo=dLJg@kUy1B){H>}cX`9*QDexG+xpIb z^!lAs$j(a8upOJM0g8qgg!fy!FO32PIV!_Y|5xxktn0%oA8M2KlDp%=9#w_GI>(iH zNt7<8%7~(`P}}+uRlTSJ1xiW!?iXJn_9VIuuyFN z`xMip10vH)pU|Y|@Y@t)p5+ZAtd2^6B|p4FHQeQsmK80QpC zi^JLh9e0m7_U=Vb3b&&tIs$1*4Mn=dlb9T%(kwA!)*vR;e^u%FJg<$g&rGq>75L;K zUwHgOXW>JU2&*5Q8hwLBdY0e|K{(&YMX+}vac*L*`@|c z7*m||^Wz+Q_^VlaIA7!1$GM*>*1IjZ(W3J>@o3TjYJ?Rk=hsa_;|GhfH}$-RnuI*m z#ljzS>re@9hN?C>w6WTjpKySwgkpDvAqvw%qoHKlDW_c6G2gP$W{LW|pPNZDqjulrF}eQ6Zas?<#$)i&+gl&L?0wRs zo%IEygtE;Sx~`+WrVU|Nd|7O?-j_>+E3I{7E;^2D6Gt>lgbzJbQb*R+RW6sQEtINU z?1%gRrcvg@2?5OY&(_vt-B-!7pnN1c2M4e(#x0?dvopio*lqT?h{XUed7oqdhJxMV z!>JFFSqg695&3gbu9g;BRBBcHQ`pf&V-stB zR2!>cSQlpf@M->3qC)Ahm@vWzg>f*j`4UF!`E`G3Y-DFktO= z>8E`#OSlrJ6-9IOXh20ez;tV|NG$zU<)14hk9&&LzOK)G%Xs4Y4+82U6RWo)OWg`? zp9YVQD2Q+bh=)0+yG;jruB(n%534xDUn%O(wmj3^^lA1K+RfyBoi%T&Fx4JlO!aPN zi=%f5hSx_5SPzw5dRch)%RL_s`!__cM=Tx~Qq6Ebb76P@SUkKiJPo?`30a((4m$>3oN6(*%doI`c%*;Qw>m&n2NjhLQhc`(ZZ}yL3^0w)}9u7G+`0VyZR=Z84OHo{EBJf7#pL+D4 zbw%(QOa>7712qB9=3}PV`rhPl_nBLlF?gTaO$pxLoHn|#L1!=vIRRcT4q?@9Rfe%M z|L=rJ+Q2{Iq%S;fjxip)csrMnyZkYgzDw=r&#^-E*!Q0OrWWAlZpJ$p%hKTZx37pW zFB?mDC^&F5&~lzVa+(_8Adv2qSM+mg^p4t|ERX$0bYCn^cItf}wQ$7mq^`~5htSRh zI}+h(N_a&1qmYB;!)$g}8MQUp&(zbuv|m5u;`O<4Z@ZhKb200)ecwmFgQZYWqL;Qq7gBYu?OOx(=__mlB!XG`jz$ z#Z>mt=&KY#Du5v-wx8;C80Ep_;$SdTw%xh=aQDW$F3t?QhwNSen0g)$3il85&zWgk zR(!G?_;jQ2S1K z8!*f_(i3K8Mu7BT_^kijr_vMn1`DT#tp(+NH(Bl|3j1eoQGinn>bP$H51;VI*hCP} zy}Wev9LIdq|Nns_WBC90D4{8K{Sqo7&hpmX%hWMt5OK^G_tUZyI>FMb? z#KgNyo-JK#yOr_vYmc7i_9OFwuTR$bJ%R_l!ouADb87qxdRNIKwY+dgpePhH2cddJ zMMd}8#Kdn<>S-`o>Lehx;?xf18`JJOUu}~1q2hnB*>Ptktv|DL(M&_n<E67w)pNd%n&qwqc*)j!{x7w5ImSCB`_-;?M%{QVhC){4D;7F+b|*V@m{aHgAgXF7J?)wo-ECfls@ z5*zuZ!Ggy9`?F=|(D&|5(sw6HVS{zZ`hae1<>hH3}rYPuqiHDsQkkFlyR_HyoCWV6=1^coMX#d+0L$Tt3z-h|%>U zRX(~nS`X@~=LU-NR<#a=rW5@vCV$6tWoQdvTn)Z>O@UT({6Tw9HSEwMRxYJBtt3kM zotoYIVkBob(j@6U;hajn8CX*$1Wrf9Bo(JZ0+xKLS17 zp&X<7drK)LUuQ5bD7()qPYeaY!@D5OSCLEXjoAOWYfjqOt>*4fK}<~C?Yjjg3YLol z#Z5~v`vts4htV8ru|kM}I8gs)J?#(7kP=~BEv1LGfuvs+-yi<{#oe?)#vt4SWy;zf zO5nc{M|il#<4`Lka6{!jESK(hhDizXMaK4|4Vz8fKo=8-ZDVsO+rSL&-IYE02Gzbj37;#!s8!CSz7tL% zzMiCC(hd`{^qVlzov$X*ur@Fi5p-wmGO~&M|M>kxkWZ^wZ2QQ;VO?0#@+R*>=}nc5 z&KM^(J-v8dGlO~tCws4uT@Bt9<4X=RZQo0rmKH-zS}x-gA->+sA~-=+a441)F>w-j z&M$MBga>AHxD@4Cfq%>wz3tO}{!}#Xt&;iMS&?(|GSWm3DYlJy)c(+9@v1adG*1W^gQ+xk1@c9ow!aTJ1 z<3HV3_LbjWe?r3OGEOOi*+C7F%$=99zcN@XxWVGo(1vr>vdOb=vuw5LnFyQYdQ*XW zkMmgAm!fz$9J|s~n7){XdqWLjWl8$|Pm&A=a5R41*-B1kv17yTh_LL-&neNn^-=r{ z#{KA@?eRbVd8h!PbHt{p+gj8b#w19~Gs|gd$o#GyxCT9Wyy7H4Ld#PHhp$o!)&n&# z*!=8eJG|aKfN1>z*1;P6c;t*0`@5SFLygxB4c5dLKO=VBW`M=fd7 zZWzQcIX>Yzbu@MLpU2Q67>9JnEJe1i7ml6^Uo^5D13SN9XQeIV#LZ1#9grbUGQ zwK~Ix6!=O}uHqrity|J@hV%YI@S-u4j@!`p+V9jt^0=Orid%wOuxz#j_co#R@gGrf zk4Wd#$TnnA8o2qP#`Y*~4Tg^bM^2#_ie>jxRXvKPlY6jZz8%nSy5&7?R61;Xd0kcC zYYm6WYh{pB8)O++T5B-lt$}m5;cd_a+!qc4cr{Dif@W1C<5)Z@d5HGL%2S@*l zIW4~fj9ytlF!5h+hz$>a&0F!+$t45z2YHC91g`^AxV%2M-?%lm07v!4?3b*r;w(qO zu~6Q5IJ#6!hGiV@SGX59zPVcaxGB~Ye1(+8DK<`iO_dWeJ{^e$Lri)4C;kAKHE-So zZ@rczIogFU`_u#q=Q&~4J4{vhX3Cs~T++$`K$t&t_{CYI3C3F8Tb!-jR2P-9VUN>^ zI@=@%ZP`}Nw5Rpgl1t3z_cuIe?Y=Yy1_7qviB-_nc4w|NC5V(seBhr8)YD-ir>^NF z@=(yKiUMlM z^taE6;pM|5bvsYI)UW`@m^?6n>e*Tuv+T(>?2Nnd(jHjD?VuGH?z~68US-_f0@ILY z7o-@*hm4D>5aTigu1RCF`_u-4TO)pPw?8+nG(()vigStwx6_s(k4;_UHNT$&n42FE-~xcMqV3hG{)_J{9=z7E zeY%>jqta8kJxSLtbUGBhjqyD)A1o;l1D_IpFcRp0@Qialzx{R|zh$4`_h2WzqTg0R zRNEp@I#>#?xd8W?T~n4($3;w0avY4IW7|!(UU&{hfy*x~^BVc>X1_3~r`_T%?|@S9 z%k@f?3|@OH1(Qi0$2ATFa^|#VUiZ79va!k3&FRC{ghS24gZ&KsO3&N)hrhTh(}y&c z`ph+phf0~QJq*UUwRQHdjrx&`XJ5`LYrCIsGHPKC$gZ6-qRD8`q1z$6Q_TdI5@Y{k zELak*A-}&pl~BasG|(C@zGH&%Jesegv+hXcy938(>=LGyz1=iosHebOgUx%Si4d)) zw;1}cW$A6Vq#eaawanYONQQG_i93^1Qz8sz9{098bN;!lJX8cnaneHJkjtG}$Hqm0 zo0dKq2Bi*yqs{F>zI4xSU8jO(iNk@J_g^gd;si&D_I?*+&uV@0g3>D^?Quc?s+h#F@qQ*}?yzdNG zcr4TqbK4{F&;87@!x+uo2AdN;{VK4RGBS>H=sK4|vDTr_ir*1aIs5rbYuW9t%ThEFmw&Ko4o4=@bW>9xUy*| zKL>46?&S-vdJE8I$DS(;^^t?aJE@iS(&0d{U7XjsVzjpHug~3A9z>OLZa6^^>ai>2 zp?uKpK# zkmb|E)IBz8$y1#NZ!0CUq}dHr)%q-p2Iqb78EyJx7r^jH&Fq$IhSW_gusX>1xo2Zj zR9v}wEGkYRi7G{EF<>Pcjw@n()AGK>zv^u_7E|t4b8+zGGffEWsK3=$0r>H)aA)gH zm0Tl?nUvTvB@yR6J>u0HPuoDK&yLRPRS}y=WPtv8AhV>Qrnh&@O%=3= zvp(q+$Ym&+7pk2x`jQ+z`R1yT(y!)E*q_+O&M_>*Wh7E+mMpnBQ(kBuybY!Fb9?PP z&ZL#yQFa#`_zT8kU)8I%xnteOl~hT4xn^|$_Ii)cB`;khUFn{~Z@pPN)_J!35|*NH zb4${VI7#2qg!rB>e(72}gYTJ_?mv<|v=4n;ts$>(3dQe*;B_~3*B7pmft(fs1nzlE zW%_(dVhtQ(+GFk8)8NRGU@nps_2krHtD2W`-A5r(vv>RY3~rm91f6#m<_lH8Xgc;L z+1;+`edi0Pr+A|jM}=xh6s`~WQBMj*bakq(s^Hy6SzAtJ%=M@j&K2NsYJdD&dJ~H<%r^Ld zbI5b?U{6*OdCqc-tNJOy5tvQzUIX=o6)~%3?@-96WuSbMYIjDz?EU5(-+X1^``cd1 zt9UX@G=n~22fC|7CidR1emo;3>A1JyJkfRVH2T8M-imm)At5 zwwX)V+b1ro4z9>fA%q#XVs_!|IwC_c(QyC2kulduKPAF5sQqD}$b9yVHr|cha?fb; zKcO#nPT6A_9T=kXPl%Mrnf|!zFjyX- z;q`Dnd|+ogx)v}~#(@baVny6I$w3H0;Pn#osgK3!{uy*!cv_B;C+sJGlN2R5X8b=r z8IT$04o9CO*ueDxGKiKgcp+jBo~=#A!>)4~=8#5iIase{aF zE(OKcn&pFHskyniJ4HG>6qe6#t*2%lU27xUKE4*G)AI8>tjbp8zI^`tc_kXc&ipnb zlJJ$o7Bg)h_!eLP4m52~?FH9Qv)Ul?B0yi?8k5u0e+z8_To|)bnWzVFFB0dmIgn@E zTnInbx3e~5gimkd9kq@jhqkjlIYyV#eop6@(e0~^BqyQ{CU^nN18$p|_oup@%~{w} z)2m<4j%Z1&J}late4?Se1f^upsb5mxeBUM+^8($_LjQb*Q!P-%T8!jo;MUt03X0^< zqlqq%rm|e%jp3E`$5Xv_*ZrIAJd|q{qxa|k^<}49|ftzhWxA1S(b&p7uC}>TMw2|c4Qxho9}*B=lG6Zbt2@x z60$$r`DL}c_2R%j=!gCX`@2Cjdd|#_n`9#M6d=qLq2ajhDX#Xz4+6Qb&hvGLA9yeY z#yR$JsAuX3rKO_j-R)k=-sTL&V@0x{j{HHN$2nDMLp<8*T#!{V`&qNuKcG2Qh&L99 zZYsfU0FcXH^)Gfck+BqIshwzxFC{Kmw7*jmu^QivLV zSm)96%jU^Xg1rfj{-I{@Vc|tQ6uBThJ`Ac+w*5?-cdk3ww*-KIIXN>4+=c)qkt{z0 z>^7!By8Q^pemwt-XBlX%hE1_TXHstyNtQ+CF3;yR2SQU8JlhQbW=?M5msdeRRo?>D z&(Z=Ul-wK(aJ@|ewvc2sSkhJGb};O|s{F;$2K-q4UDsy=T2thMu*pSR`atgDNY~1% z+c_s}Z-Q~At>G%2Kc(ls@*T>7w241#=1~4v2G`pFc%lGEklZ!heH<&g^u{PWXDO>< z=aTxTI~Ve;hlfZw+tXCYiO*cgrZ@mC#~1y|anTd%otq7ge)U$L>1=}!@=QiAE{voMS_%Kw-}`o+!M^~d|8_||o! zNPOpf^KPze{uOr-r$r0psP$jp?dNXM-Jt_%Pe^-i*y~U%`v4?1LI5@@3g3L~DY^_{ zqYf~h6R@)Q#0@r{8T%W2q6b@JwX4k%)(cxqf?yC>3rg_=%QfaBtKpxO(R+$Lm)hF` zKk!e$UzPh+u=S}^m10hTsLwQqH?as1BF~(?U1D$9?{wNOI7J&--eE}WiJ-m85=tk) zg&`%$xrPiRc3ypEebFOtSWC^(>t!O(=dq zIWT4{Kl~|(7@fU%JJ!U3vWzN}#^bY)>VE_?p$91v#Gpo z+cX+buPBHTlUys4z)-`+Qkdsa&_2nF25fJoFX9GX+%hD1!1)II z5Ic%ZrD;{dfV?H>*nWV$0lKF#D}qd7&t?_HOD?)bF1}^p42Pd`wRDc$RavZy9kDgG zv89u5&5@sQ!989<#3LkcG;R>gjcQ|z<4slZ*tH-T z;lykG#n2Sut3xtfACj?pBpr=^b-TWpH+R+|W%3_peSZVx?7#BcNJ-&>Dr*Dm19Rn-!qT>;tDmrBkSOPL!xFHVe^>Kc zXv-j2iYM?qm2^90GV3+UsSxC%&VGdqC4Ee~fZ--a!8;9|H&`f{L3g-k!8PQyCKBaY z?(up30uqw#C5)&H@cq%i9# z*{;XzONP=-r>sjtn*@rc>Xh}nA;zLqQc~xAt4{xs*-T7l?mz?+;rXebUfh2hA>e9V zSTA!rayUGQVX1@;8GNNd{l!A2WRsAh;2)(QQxQaW=P9MXCIy)AMrSEMkO{S zhtGnqqbc&$)e={txoGp9Rk`Z>r;ey~Z+4_cUy6rp1n+`?D|!9O+^?>eWhyer0RRkV z2yJISrCF_6ZLj`0OZ7)(rCz=6@{n365$?+E@6Ga+(56G?$RB=k&ZEAxWk=?XY5caZg*`yqh{J5x2 ze^K|hoY+yP!)`f9bWdY{SWk%%SL}-pIV3Qg#bs`lw*RqnE1$|IXcQCb7OjE^rb%wU zz;;=hj)6h&wF`d{PtH7Ll=Q&zk6c&s|KsDFD>g1RC;TmDp5k{1a2%9qW(xQ_+W;KruEDZ9s3uqQr z#ByDVg=)E1OQKZaU4{_GO2V+s8rx5(Y+d@hUA-X@EM99jlSIDNrW10c)rctav?Bej zvNUsQs0$YdOO59PoR+plmdcDe*Ev$BT5(&iCJWw)U4oVlxjT57=oG=^^gASxJT7fW zqWe8rp3P#L`S~FbkL%s=cm5nBViY#)OF4F{*mmM~zcQEDX5L*R7O5H89!~E*Tu{!4 zAj&IGE8>_wQK|MlVZdef^2p7I*GgUQ?2%@yI`*xyg?Wg6)PpyP*-11uO5X%3mne-G zKq|HD4>t633Vw1vL=<(+r*a2tiqKUq0LL3{&46?Wp}0OCFl#V!(-OLu4X&f9+vy;PH^H^ zjCc8@R%!#vi@?(P%%9;Q?y0?=${%OtO^xRS{%-#`o961C&sncNmUd2jl{t2Z6rq#C zB8rEgo>n(pJy1HF9Gbpbsr#pyDz~Z2oAwe;mug~^} zYb{$kv_X|BWoj=DDXY-_)p9Jyp$vK%N3jemapd{9UIcp+2919}jpV!vmNdP9!j?4E z)oQ$TWM`mg2%;NUyo(W;?DZp~6F+R{pV?kA7g{ zR(EgJ5M220A7F`OLWUq3$i)UPAAj_JfY=3pZxY0Xhe_9! zj`4+m(T4_dth0!}H&ix5jw5Xh>XsyA#yp}HJE_`{7yO^Y_3w>D^>YYNq>Fe=S`wFk zUe0>|kQcHac)$cb+LC`gIl^#bzV}_9Y{e3tknKZS3D2_iC=*eygKcBj4HAF%V|`~4 z_b|`{P9tm0yvNE?4%#F8djJJFcJ}}V@wy(~aeVRpyT0f4g*}kvwFZ(>PrUm(R-Zej z2+dMQOH7hMEkOC#w#qczdi1ZZXuZg7Ox0Vv>JEKJ{&|R92oltQmT$WMEy8$zXMGgH zN2K7I+qh{*l@l6$jk10P&9-u zF5u6>dxFny32>M!!DB-UMUqev4hG3+phf1}K;Gzx?@$)@Jb0E3+cW^k7=L09bIfvf zAe}hDuIFd~O$}soT`6Lcjl6m>3Y^@Bzm_tO0Q(_?en`X_cQd$g)#A8m%cK{K5D(_ z60Z8f3dUHiOVwR97X3n1oRWmhs4kRn+>nYW+&1hv^UK7M6qD9hE6FyPUPL+CJp5IN z547K(&q3fjOt;w|KTOpmZ+9a?^i zH;p2#?mT?*n>X`wo>4hku_=p%gvIIzA*wK9@tFr%6==ZY-UC_ZRlc1F)}*mXbQaIXZ==$Yu*)=BE|4-LQxJ!Dlno&4;# zLN&P;W9)K1Z>5s+$coqBA8g94bFhMb|GFja!4E~_hk8NK7~wa|MKq)8TaMJ=+{P{R z`OyeAMiFz|FxZI76;&6%F4%}RJ6f6yy9^C6crnQ=P7xY)qmn`sHbxQ_{Da9w2!6^6*$ z+s0>6dPYQ2G@LX$^ z-|&|S^q)?-if|4V_2`CdyfZ%}MOdg6>_%Lizm;dW6_jVGi`|9UY-5tKVeVT-dK+i+; zPjFU5rCVrwch@u8OYn5PVp%Kv%zZ1by?paik9^6m zoyg+(%EN;*KGKRLNNgOVSefGkVz7!rzo$fCl0{TM;7O{ZuZz`-x(-F`zjd=)xfF4Z z?fc;D5;QLyE4O~eR?f+0B{qNKh3oR&IFB7XEtpqG%ZA#!jkV23* z(O2bzO~t3|7B20^Ugg}2$$MB8PdWc0C?O1;PQlF0z-?#W7Avvgp-%1B8rRbg8$>*w zw?!((N_h_Nsy8b*g*h?a!2NVRh~73hEap1?)8p8)YVt;+f*N93l!ei=jN^^!^hYa| za63Od(rfo7-KP+u6|G|J9wgKOW9I@6UIgU1X**sJgzSv;5>cZk5f%E)YyBx?1hpIJ z9i^qPLc1lA07_zQ(VxEei6M`;yz_cum-MwHO%~sr^OrDkdP1w>PV3xCJ>ydf<Bs^<`m3gJ_|)iGb^rE>0ylz@Zesg(Ms zJruYIZ0>6=%hmYu)~z|mUq+IH4YMf6ebiiHA3StcCd6hNXZ%pQ8<^~sIsV~6c>U># z1bXYT7XNjsp|A&3O#CVVb~W*;ExppD9|*{=hKSb)sABnt=I!f2%5z4DJ0^dIf?gHt z7Qect{OA$@J7>rczCw;+o+K7aQ$MFuT?bXe&(eIy*DkWMTunPb{0S-CS6F>AofL#e zZFazODZ898kg#l?kzu3&7acsB`-zg4QLMU&pu@nR5$*f#y6Fp^9q&I5>D!oqMCZP0 zpcYk~o;#&V5lWYWWgbp(x+Tw8g%_3G znS9HglOQ2WKjJXFGQ39RJPscRkHt#R@@=<=au=7xHU*8sDZO4L$Qw>EuoYmXP%e?( z-J`UweF8n&kRtTUw>x{$G&Q6MS|1*=ClaOH3P)up_&Yy0@)5steTJ=Ga``V}D%>IG zOTSXsi*w&CtS;M(?N50&k49{acB>9ham?gjIE7{H=FTPjobWvz#oHzA{MPtFo!Y$k z>6rW<_ok^-t`jkhHK>FO8wFlgWYf`kx^{JizHZ?;mZx}>H3`$ach#A|3;~%dDCgp* z_rF4P;08$L8Rsf=6_&BgqaDiHR>l-tL`OMl7PfD7)k9D{^a2ON4?$ZAO8RupSR%ze zkFmHq+UE*Hf69#o@Fve5HpwN_yH&Xn;R}#0$M07jZXSjbt8x{y(?&T*oJ1YvUm&>ZncbN5Ul$cC+5*qJk=)@&!qw3!XOrHNNX5V7t7DHYen8xi zgbMA4Et08(1CKIXBoRo$~6UyTY{6q=M3ClJf- zphS~;-zj?kHuA`ECP_w##*rlBl)HJ3X!~Hs_TW~V`}KP#IXn9TP9ggORma|m<@T@t z<)?l^gLCpD7^d&jrXq>w-BwxmHtEP${txFLm&2)o6w_MB(0t}D1c}-S(C8rA20Ca2 z0k+R;NYKB-Ce{K~DD1tDIoc}^09yD-6d#_BQ#PtPFu6`L54dJ*9P89$*%8I?e zze2YY)jc7ZaujZf#;tf6(%z;;kot*1UL^%JN3la@il0KW%=t;*`dKkodtkP7HP)5; zkf+Xcz)yo+HOa5PZ*+p`MvEdZ*wT1I7%vdGoJ1^SlwnBX;KNx9p?gWv0XC4bXm+_& zId!X&PAdq)TON7CMu0%qx6gm-KQUV}i8ch$3fNVj?|uobgWi&H+?VE!Dxuw};&wC5 z_rt*fK-5(UCsrCrAt(Vt>StIZa9R>^mn}&3qG82rV$x+!k4& z7Pg%-Nb#-ZW<$*499pFkRuW zr`x+JND@D1Ub`m_x~EMwE{(tK#Hq@A>3pU%5Z@#i|M@@c_9iLMjNtM?_U$qiNUA0Q znx>42O-w@tPR0el6fP`NMsS|Z=i^XIRl+cGL12WdWp?6}cT^c6jnIvWmI?V9pV1lB z0l+dAvL1&zlF@~IW?wJ@MNe^r_)dfKU$UB~1(|SJ&$|la!3#!|(;XrD0b!fbYPShr zUe*X-Pr*L9aT;DpKJNzPM-Q4XM>l(|^T^mEAnk@jWiF|q2Ov?UqQe+Oy545!mh#(> zF;~V8>rsthl4j}csU1nMAnQ&;6B5S@!aNh#Y?*vne&*2R)K2r*j8tLb&u`lzYJz=* z463}nrSE6l=Oeb0Un!e-rR^)vYM@YMB2_KAvv7{<}eyRGVTH58^#U<`z;2!Cj%#^c-|62e=6G>K9`yIVt? zav8LNw^F#_>D|ktwMHJ_hF^!*hMwhBDo(RD6Re68$A>ZqIhvhaXm42yQSEuLkI-%c zgooq|RwF~*G29Pv1=S`ae}Vt^6vK3jba9tCGr1oOIYI@TA&4mVG#)_C#XX%D9R%m8 z@IZ#XE(Rgu$FzpGY444kKcO;E`0P z=(tS0OacNvX<3eG|C)Q*!#R89VahxU`wn~6Ydu%fdHTD38>n7oyb zE4#~$mI{#$5%OY3#2y1LHxYtd+n9tb1A}Fs<0wjmFtFG1fwlK{P~^d zR2TL7DC#2aJf$c}_+%qt3$ns@YLBu)|MC>-5-D%~_arEpOETZp$fke2to>*^XE@>C z!4{<)BjNFA*MeI6TRW5BWG^U#2^^(Ok*lgc5Oc~{h`wCYI`=gEX}BcXTTA0Whv&ul z7s{jFtw?5Si5LTK)G5RT3Ds}NKxDKR3l@(f#b660q|P<%PSA}ZetN18puX?y-rp5@ z!-3t#qhKh-Bl@-ae5VK%gJ1Z`a~(zL!xDiopm5+HH(;ZpzV;+<|Frasbmf4l5D{x0QXlFY>@6J2a;zduj61oz9ltY`Q3JrA44 zdujP2w~ANZQR8=^%*vK4wo~ztzDXCUnB|$0to(=>-MgN41UvVtlld>#_Dr1_&N{Se zN%RR=Hd60{0;0Wq4*|=*4i>&Ql|f4>{#1XLmM%Du@O*WqmX0So*dLYS(x0<9>zuH% zzvbfb?0@d(e_wo({1_%Wa(5S_MXSYAkw(`Tvum;Iu*KR)qw*8n-Tx-55z6+V^9dfM zRWXLd1f{2yaJLqG#6rk2-5e*a7l~DHQSLBKo#J;mh}mGWoT?+Z!<#Hic(XwAV{4?+ zz!wnu79J}9jb(H2v2pyns>adi*`8{vS!5N*vG6HWNff)5jM1G%XqJfxs1 zBC-K7OGvR^trHyGAeZ|nQhC_yzk(1m1k|QP-WoU3(Aw9MT!p2rgnoKmlERW-K9d)P zxVyPB|2WwobymQYbcrW~4tH#T?zck-$zPGUH~eeg=;sHXvh)5 z3XZhOF3aZbMka;=c;8sD=H)}kNpJ^f60SX;f2BMjDRl#f+w&STbwbV4vIte9h@z?e zq)aRhL`VE`MOh%ClnXU47#a5P7wTO_=e^@Hha^rLC3_nIqA=`6@i;kdM8+g~U`5c) z9-+vgjdL54ee#DQjc;%9D$@QL-CK-F&8C-~Lrbe3eA<$D@<(P@`70k0n^&)*I>$Gv zflq2|U!t2A5f;ybMtz9Z6kc=b<}Qdo+EtoN$o0Fz#c1CmHQAbK!WeHCtrtS|U>=3^ zd+?NN-f`saGC-_HtD%s*JnAyb;;da!uE{J*u3cdEh-B&O7+Jre_gn0F!7A6B?|Ko8 zV#!5)Px$F+c^O^m>U&i4%g=Z_DTNR$5y|cmOt7tcFEB~(rzm_az<^-m*mtcd+^V-LgioonE3rS)& z3VU7$s|k`KG!Z4sE`|e!ue~9cPitCq$nny6JH8wi4forr%6$e!VoY~d0IThSb3vxG%W$({4*m0;>`5Wc8H1xQM zQn|`yXKl};iN=5HjjFepR|RTExkLWqs*3$^YJ9E8?dy0PRpvt z-~YnU{Km-d_plA@0yB%@SDn9@cnccPfcam^aH>cwR6UJCE!BzX$1o;e6#5SdqH^!=tu3Gz#19s= z)>j}cKS0V4F90rFV+Vah0mgqtHr?+KgrTi=E#ZM ziWFMwEkI&5pbyrU|8}r|GkULbU)4atnkw z@ng|SzymCEoQrSpy=d?Je0lk+#t78@lVajw(&C5E7~N8&!k^~Z^f*Y}^njCdT2kaA zFafdCt!nGE$8Ucu$_7&8g-b{SAQA)+r_ufh@xi3FU7#@1poL)*xs;{rSBf8~`|SUN z{~`KEv!w^ITAy`obp}IqgFWDhz0*s;3b{WUp7$UNeEC1wqNa4Z$JQohNZS+>M+P8s z!UU=wNiaApNx~F@DI1|gr!P_Oi4Jm?3$M%(a|iVg2?YqQ`OiAc~jQ7F42 zRvU)Arr+jnVD^Ap)&K)T2K>Rm1Y(#drG&jr)(FvSS9HGe{7#UNNQcKMuVdjD zo?39wup2MzV209Rtj3=2zAZEnoedRL{Vw8|K;G&eRd}-)lzz&5)GaM6s21dL`TLOA zfsGS&parJNe&p%*5FEttvc!WW4#a%sUHQ9F9+;q*<4lK|3MsHsVu(oGm&UHr(D!&W zhDr29-5JGH!Lj3F3Uf&@DA0Qhs40U%BfWc*cp$*ZZqbc=Qy@RnAOyxk5~wl5nJbzG zGe~gtC$6Wr3w7BnkFcm124jmcX(D_NW*PPDz~6o?dyv}^vx4oI?)37~-5TJTjBf?3 zNuUk7Mb|(iuBU7Gy1CT3d=@@NhYmtf|2Ru2aXC zp-*tv#8_^v-1CV8vH@jJniA%&Y!{BUnI8+iEJzYz~2d=LTec2zAXZF{!G z9OrwykzvxZIpWgO3C@2A&Ha4k2NBWS)I|%0{aja|)^_n$^x^G{Z~U@ zzWX`9HScRsz7HUMZcNlDRqz1F&OMum?ekRBGSRo{Fdq-Z(Avb2ES=(O&72_p>d*oM zYz%OzV$);4BlzH3aJES+3$JjZCWe)@-c&6~>< zR1Hb82UAC7Mer0hAY$R7_ISml{96s@uUw-~#cwna`( zMvYjXvzFWX>?1vm=p3j}uNK{g&FH=b!^D|T0n?mh*ER zxwj9h0HV|;fW1;$!5Kw>aQK?+mxie->Z-krxRlITf3a4n-|JUAm z$5Y+#|Nj`rI5x-1CZUDwee4k-u2NA}QIU-7b&RaT$!JIpp;C7#SEXe|Ss9V+Y>v$_ zlKp*uy6^k(xG&fB@9)1~kN)ZL(BU|r@qWEu&)4f?yh(r7MYAsOF^A^Qz%L27%A{mR z_FS*huCkETl%O0q3NLrA;noW3gs$HJP)QlV+PeVobQsUP?)fU5dJ?O>1G@pcb}Bkr zQi4iWaSjY6PDpUcjonb!m5MIIpoU(Ap~2HO@WSfc4^PcU+5V^B0$q71F-kARfG-!z z#T{A69DdT?J9f)xNLbykuvl~|n*30pSGm{2Wpz=Q;}5+Ix_L}0%G$J(t;I*86%kZ5 z((9k(^q$e=F~w8!sa&}yvw>t;4IdihQ0k>}?sz8^`wEHa(d1Xc-9iYl_C1SS{(8K_ z2cSqTaQS=e&%#D^qcx+2f_#tRHOqp{Z*;_i$3fZJY^xdR8sQCs4EvalQt94?Goha~ zLAmaP94dEHg3?m;g;*TrcE9g_rAuVxnfXcj1QIz>=Bz(9tg4p7l4M{L#A zmw}XFD>waRI$9B6*v5huxD zv91F}EoE~t-rrQt`eYm_9j(Vsn&;?$n0UFFDcxf|#yYQH6loBJufA!ZxneDbMn$8H zIKYNzavg4wx~IM0w!+xtrOCK=jkMmU$km}qdIP$*a%|W^zjxDfWvd&*6-Y!n2CgN| zdX(PRm)(N4DV}*1rb4)Tx({8BUQk^uSD3Bs-FQ=>!gr>8>*pDbY!8P`btP0Dweh@E z@Y%mnY*u!(iJwt8yMX;pME|O%38=vFOt*vfcW?Nw&OCgtvb_hE&z1E`B1)Gs9QM7+ zT3CwWVbhZG6wS;N+A$ZWwc2Z{m8*J>=`~H=nv{CvS8pOlG(w2zCr%;fOMke1*T4LM z=n6WG@fz#G&ky2B#W7b`A(#A?8ZOKjF zlsH$owQd*Xxc9o&8f1yieJ6UwS);`~t7}CDjQ&O~=1Tw8W(RVu=T*}QJl#vC`3ndp zcuU1XtkQy8R@k_C1JW9t5Q*Wk@v~XUY_{Tvke#GrKyPhkQapzvLVoFd;Bll~(7D7j zD7kN0ghm(cZ?h*b6v=dG+^IfX25v+UsU?Nlq`lHnN?fF!7k5|jqVvG$*pj^^%&~({1LxF}16Di633Q`G%?bTNd8<>!MmH{S@9ugpz>q zR&3(LHKE<3C(in}cFT~|8=`#WoJ)Bma-REnNr+ju9$Sk}qMWdEN~&M)!~^Q_YiQx% z2{9%WDPs{!IM_-nDZ|$>7z)Kck0CUa;+bDTS;#9)=hAlnDtchtI9{hB)3W_QOIToE zeXo>(j`ma1yY%Xm#gvbuknDJUXnBFeB?LF4MMA(pK8=+@{c|a_6Qt4ob5|EvF$s6@V*@ze`1Xv+Z+t=bM z&#oR-_UIh1ux^)LjvJ17>(*H@;#;<*>1ln#TKr=4Ns`$w>2?UOJkgp4yY)E$uSIBYv>%>OwMKSU*V1h0-MzpMw-$xP{isbxIp(NE}FhU?7ZM?e%ZeS4EG zpluiDI_$wPP2^=34BV;zptIDdV6pay#Tqr!gOdy!&_dCmDmeP-dlWBsG=?vwUh&Xo z%}E;I+tF~)3C~$2SCon95WV99l2*pcRswEcb7C^=FNVp{E(4WH%|ORLU%T=B&0i!4 z2nOsvz*ZOk)wzVqSjgkdkX(Fk9aWe@GFiCAxjox(DNi}`o(tO=QlQmU5psiZ7GcK> zd2{WL%V?**u+$XZbVYA+{um+Ok$~=mF5d{<{UKMy5~C*2dEA^U$wM^fvx2G0FXM^H zUNv#L=zN^ItRhD3GuNpk0}ig%@THK(lIxl@BQ!3StEEwU&gib_D>BXV8gh?x#@@v| z6__tG&K$jc^5Tb_o$nAdx?OVdqV`|B-5XrAiJH`rr$*F1E8I21nCa#%YKf7{lLcA~ z#QY!JzFhw)X-e_~X-d;~ncDktk7t8Y#!tVneAP$JjlV)QKKZ%eoW`CP#;hb1oqR&( zY45^3$+4};`?V_fz0}WQxAel?#TE0RFu|OU*CjG?u#xxm<4zybG?SO18$F-@^s`sy z?I*Gh|0KK8%yQcWP=!TAGPgt}Y)d_}8JZqi^#VSZqx`9~;IN0OkP3Q_!pipTcC|}= ze|dvITUrUyCIX$}ZJyzl_RVrTRQCZdwo`N2otu0ONtD>jl|Lb_)V4^h(qs3u; z!hP2Bw|1W;zfo7SJ@}p3wG(Yd&nW-E$U*?e5Y*?>tB-e)3BOl&8RpbSP#KNaz7_6X zOCr|M0cy32s6fz-)lfB21&vhc-(80Ve35>vD%b@J%|S`huP+Z4S7E$xo+8;9tFcQR-O82qvNW z;Xj{978whLiw7(CMZSpX(go7aWoZLmh$iBd)0cAdQ5gCZWBnm!LQu*9FfkAUoK=W9 z1YtdHjdOkUNQKs0SZsUnc^G!R^&UyS9>XyTmwTp0a-VO@kBQ(vxxm#?^hXTWj=iDK zNai$Hi5~*ql?ho`0=4_>#}Wu!sWPc_Ca|l#9s3Y#N(rWJA9oJ2gdDkOzD z4J-NX%3BeQ^KhYKRJzn&w-j$I9JDudZS3}a%N*^XW|yuziWiS}!FX7G@lp0I@@c2- zU!VsGsV#?EU&<9ch0sCGcqjjJ|Lm)KcJF(nk5Ok{>_n?p0nSL5VVjZnI}A752?CTC zB4Kaqg(FH#olm(aPu#6{+u|TO>~gXr6FB|S}Yzbubt^}h+MsnM#ib}vFs6U zqM6^U8j%A5Sa=@etp`ChCn*z!xQ29>8C)u6{``Vm&Ye4b#v)gr!6EeSh+wk*?w@&) zU7Cjm=SK^Jb6KoUzG`!pitK%=$jxck71U>ZhIOdeZ$uib&++p$U*<^>1cn%U2+wWv zXcMKfZKIH@%v+=bs|t#dssKHDv$v!F3@Ir7amylhD^$2zHT0r!boPXOztN6wdF_ky4?B6@*&*R6ah z%#C#-y>_kV)Ua5`K~d2PCl`%x9kphzp#o#Orcc-!Ou@Aq9&;+VS|*~4=Ijs zMWe(rD=$NvUQOIG2f++D)~CtIA$B1hcY<2(Dt#HR(J+ZIfeCEM@8~l1JnuZaU^-){ zoHON0tIE6p2YczsI-oxe=0$JcISK)pDw#+3I89Qo4rM!*Z3+!Lj5!?r$+{M{`|M!H zn=@jAFt|K?5Gmq_BolfDF*%*DjS@zb%HaSwxK}W?m;2KCzMO2|P>JwH6-d z;Ca; zNXyirrpOS4Hux|PcSV&4#7#;GRPL%_OA$h>265c)q}8CYZxxzVC6Eo)1=Qdv6Ie~s z#BQ)JE+dsTHmugi_(g)YR0cv{2BjckXm(h~UbjYqs1mrnxi&6oq-$`>`2Hu2`RjOi zd-QEo@#cej&R)%9Wlx;@NGxgW9z(WPztfF@pRA)~p58W{fC+o4D)K5U>Q0FnH9Pn= zDgD$0`9D^We(Z?hUCNTNAI-h|vva>f@+uOJ*_QM%BzRFZlrC^gS}{@bF-qEyVQ8V7fpm^mAJ6185SYY!*xtS2 zb)0=Z!*FasY-_La&2wzMwU?)B7*nig5@=2K2~$;S#RTWK=NE_v;vb)nbgGmNq5opCA_0ONF-Km zlduCFZ5UEV>eQ+5rrOWV?AG2cjF`ZEdWuwHYXp88mU-4FUhVx?1f9xG(R><^B4`;r zxCh67u~K}0)~vjlc7smU-S=tpzE!wrM_R|e&3Ai~-Y!i40TI^*Tess$LZ77P}{Jgka9U<~ptQ zGF^`7K7J69VVSW6>4^4AJU3KQs>o(#EnM@j4^$-sEd1?|@5jhgbNSVpKI17=;tK(_ z&C{E2yy)YtsV(0!)v#l?T&q?jQdFxtIAzt1NXTez5aVm%FRMW-%BP*D_fe(M)szU5KoSx@pBBDF&=Gpm z#iIVV)wCj_)###DX^RK)>*oBg^)dC|NT*FFrsZAAo=VvnG;PMDNEt z04;W0$s#bB?8qQGjLN5RNijP1X@HhZT;s+sxrjV=L}i;$D(_qc9)X@&IU%NyCL=;~ z=Irtf@g%H4qfwyBaDZ&x__jyy;#udy+z#F4vc?jT*Svq-g|ox6m=Yz?kyH zJFFv3IdBQ)4@3=_ir2PUy$JMyL0WyJ%gYw6S{ZVyjXv7nD6Pt8K4yum9OjAwrJhVp zU@xNmK!u_~C(5l_)yeL0!08%<*M>CbyHq6+Ia7ut(}RK%sW8_bTJs1u3x^dQXss8Q zbWf6x3T8D>vpR!UXP`vkV|vhhJPQlyMX4sG;VACyu-a&Y*|uz#ZMm_sx)YkiqFEbV zds0`A{ISPadF%1B-D+#E_>1C_n}vUHYX+%LUabn<*>; zo6)6w4SW8mt!nZ!8tZMDcw-J+>6GoX@kN(2C3&2h{jK%^7?x(JZmby^+960@LgCgP z6!t?jh=-0k@a@quT3Lxg#|sa~6J0>@Cf>XPol;Dx-hUut$(*jQi-V`P$!z z-ldARfU@f0(|fn;-ye@pTTNSuh(O35u)uWuv(IHdpqW!|L z8vDchEAl<_XOCyE`Uif<7rwOER6io6g&&SSe1+k@mR>e3ftw(tkD`tPD5MOP2nCO-!aun6)VSHY2XQjz-B%r#6cIS&*EHzKwvU{tbqMD`pon zLmlb`|G_^WO7B*dpu>-#CWLlhR*`Sk6bTM&)<^NniMz!*l8&T_?B8|u`u$J%Rv8R5 zl@OHP1HoAASpd4498ED-5+N>><(;J!;{Wm5-F&Sr(2qk9>a1^Vy=b@l<*hbp8@N~4 zuQT&=Lfz=gRu^y<`Czhs-5PWZachP^9kPPtbf}s}d#9Dx68O0qGGw?Qvd;mI*R4mr zQlvm}#0^BMYJ!>{t>dZ7K?osk)Wb_B+&jUgz1#;KjvIO*MtLboF8zp|2+_QYZ^729 z1}7-X-A;X1m_(F1O9=szeuJXmyqUKeb^ok@5i1VT*Sx*X3!wxgV&i#7)qB`zdUC#DJi{rvtj-QdDuW~W8b6oF%N z+$$nnDq~;+ibcM>fV%4i@F`-nR{Ipr{Xj}Sk^Y^vsrZ?utOe2X*5P zvd`gUlbr8{O@T^drb4Y=mnl^|ZxzK2Qt`qY&q{jsdjQAEV*zQ*?yFETerAbH`W>RCREYeiNvDx- z0SU>f`a_C;`X{9NFo+fB4xgp!3_LKX4+NSp!^HuZr)C6GIofq1>%lJd*b)p|Zgqm0 zDuHDdrnwTgcIa_MJUDzt;?LRM+MCSY5yFAjX;~z0nldKP-(M5)ukXZ~H z5K0ZfpD)re1T60^t@YjK6246@x6TIDhS%>Fl6N)$=gA%crV+;;p)^Uosu56OOV`G@ z&}M_01J_W|FeihW_A^qo!vw^n4fwUB2SQdR3((%v^6lg%8nj3=_#_bg*|T8+X{x+!UTjP$(BZ|N8n3fsCs4uO;tuz_>PWng`6Vi|=S;KK<#B){ zB);%nm=4W%MEXgoBq|~C$6bciIHn{^YU*=ef;B<6R{MoJutVy)kmad2)^L-nIqUjU z88dA^JF*g>aHJ0t(~;OSR&RBDO;>=d=CI zdOP%c+JC?_Cc8iI_uU#1st3kPz^RBs)P?4s(&w=OzLX!Rg`ab98b4fi@b5nVF!C($ zs1N0!Vle$an3+RQ{#Aql!!$MFZ6ZC;Ecuwq|G>_=UMQd*h3SI^H? zln1@ZWSSkUwdXs~piP!33WQwm9V(hw-YbU#tLvMjPE(%SJ(~B}v z8;7iA2nPu};Bc!%8|DS2AH#o)R6>6C*<$QWwKUFv_Mm249y~RHXDu?VMIk=8Qq*S< zPv4`W^73K7aI}GVrkqn0{{iWqI*q8xqzP6M@~DKG^~&Csw}W*`b7KM$(SIX(%$V@b zNhsV!!uC78xZ6DEd1BM16Ji8?KOI={mAyYYCsXr<==`>tRpXBMD&Q=1rE>+0uAze~R2%0Dp-VgxwVIhtV>L`klqjID zM1M5F1*5FdXYbs&3?*lbu&L}bid~SSeY+U(nfv5k+wDn}^dKkIL4H0lIa;f)l&3G7 z6Acf1wJc@7M6`ugv==;^sSS~i4Dn{b+|Eihs9xk?s9}mRVU3Zd%Hv~qbJp43s{E=a zZ`{vza{Jw=3=f|zJ29>D>u@dU#8Att>wiB(kK=Of#8FcP($w*K32FD9+zo-YDRb|= zmLhDb7=;F%n}Zw!KUrhdpE%}qxzN@bSQ+q3VN{34tm`dzmXBVdGD2ak#}nM{u}6&K zs}h}IueH%DVeQH>F3273a!~i;swbU8LUPFnADepAa7wCZrmMOv_F@|w!*_Cb(JQIx zPBM-qve0o*3{1vfN~??M6)hVdLy^F>LX=}+Ld3~XVM?Q1rB#OfO^*0-x&6Ns(vvO7 zyT{4g0uE#ix8Fp1GVr#I=`_n@>cCWM+BJPAq%OpHXiPeo;WL>*cEI+&`yim_9%!n3 zv8A=i9B*e7&ReQIXAd3rnSN@G9ln*y+wxT>Rc=2%r1IUdw>oJFx-@JmYIAT)QbKpJ zNOtIsN_-1SEs0!Y3t;9ac*1i%5|%SozmjogF#-n`OX_BL8-f6EJlL62$Go^dNPD9U8I&wUY5Upk}a-ki1BXBBj_3sXZnFiiD z0hOB=me&`InJX?6{G$Zi)@}H`kwFGUrNew$Q zY{aMrFOn|)qxl$QN0c6DKKXi~M+Y+ncQ7|J+S-irDZjwxE0F;e1Ao13hDd!sI|Rf9 z?fGQC&%;Ibk1U#oW$*@E8V)Tj%+i*H{pm#-cx0I)=UR6ovI>cSc-f8~P7ktxY&kPG z_RMH^yKJtg`1Bxpdzfs|fbvD`f`jj)zlJ6X=iLYxuv%`>-%3yZ(W2mAV&lq7)z8Sh zFF~Bm5n*Hnz5xg4c}7Qb$3q~&;EmjJd3u=3K_}zHo$b|%AaS|0*PTJTFXDB7P$xLl z#A=?#s_b8@-5GK)VniNy;kV>BNm?PN zQ&iW;z}mf)c|6)Bb>QH{+S2wc!@}N|mZ7DtZ4tmgn-7uKS~mk!aB?Ttjpf{b$)mUJ zRpW+J0)*MrHKm2)og#-rtP_Z+g?GP#2z!yeVe%x@NOTvLP=!6X%X@!^PXvgnD@M#c zHqrRIEKhHeJ8E09)a;?-=iyTu0*3^(rk$}!R>a1g$zI}CmUvWwWgj3KKa<5i^WRYC zEF;6pMP-C`eosvTus&xvs^I?qnXs?_xlXV8uhr`3P^-|>c8K!ywQL zn{OQobr9hp_u0uau*1NAa;%{Nk&w?{6a`-<#<>ol-hT^QJ%(TNXOLjFT)JJiHIvMK)ELJ zw|IxfZ@{qKD2>zAJh?r|HkJ~PipdK;Ed3*}km+dK3Nh`pRf7a(>7jH}){#}eC9_Vq zKZCgN#ovx;JounBd96b^YsFQt`<3PLVASafgRtp)yA=)aCOhYB4nL6^Us98<JddbFcAcDLk|K4G@4*}Gs88@EO4Hc=4o)88ITP|R(&(1I;4-K8*0zGfM z&OPBVN#7l3LBtL~qv9+m1FCxfwJ1jpqv5Oe0oUuqbz*0?)rhr* zG2bh8e?A~rMp2Nt^l{`+{HN&R|9_i6IRC%;G#7TLzP=B#Ysl%+K*1kV!(#?TdX7>5 E2fA#rivR!s literal 0 HcmV?d00001 diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md new file mode 100644 index 0000000000..8cda8769ad --- /dev/null +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md @@ -0,0 +1,151 @@ +--- +title: Identity for Edge Network frequently asked questions guide +description: A list of frequently asked questions about the Identity for Edge Network mobile extension. +keywords: +- Edge Network +- FAQ +- Frequently asked questions +- Identity for Edge Network +--- + +import Tabs from './tabs/faq.md' + +# Frequently asked questions + +## Q: I am using Edge and Adobe Solutions extensions, which Identity extension should I install and register? + +A: Both. + +When using both Adobe Experience Platform Edge and Adobe Solutions extensions, both Identity for Edge Network and Identity for Experience Cloud ID Service extensions can be registered with the Mobile SDK at the same time. + + + +The following instructions are for configuring an application using both Edge Network and Adobe Solutions mobile extensions. If an application will include only Adobe Experience Platform Edge extensions, follow the instructions [here](./index.md#download-and-import-the-identity-extension). + +### Download and import the Identity and Identity for Edge Network extensions + + + +Android + + + +iOS + + + +### Register the Identity and Identity for Edge Network extensions with Mobile Core + + + +Android + + + +iOS + + + +## Q: Will an existing Experience Cloud ID (ECID) migrate to the Identity for Edge Network extension? + +A: Yes. + +If the application previously installed the Identity for Experience Cloud ID Service extension and upgrades to the Identity for Edge Network extension, the existing ECID value is migrated to the Identity for Edge Network extension on first launch of the application. + +Note, however, if the Mobile SDK's privacy status was set to `optedOut` at the time the application is upgraded, the Identity for Experience Cloud ID Service extension will not have an ECID, as it was cleared. In this case, the Identity for Edge Network extension will generate a new ECID. + +## Q: What is the Experience Cloud ID (ECID) used by the SDK when using both AEP Edge extensions and Adobe Solutions extensions? + +A: The Identity for Edge Network extension and the Identity for Experience Cloud ID Service extension each manage their own ECID. However, the two ECIDs are synced as part of the XDM IdentityMap. + +At first launch of the application after upgrading to the Identity for Edge Network extension, the existing ECID from the Identity for Experience Cloud ID Service extension is migrated to the Identity for Edge Network extension. In this case both extensions will have the same ECID value. + +The [resetIdentities](./api-reference.md#resetidentities) API causes the Identity for Edge Network extension and the Identity for Experience Cloud ID Service extension to independently generate new ECID values. After calling this API, the ECID used by each identity extension will be different. + +Changing the privacy status to `optedOut` will clear the ECID value used by the Identity for Experience Cloud ID Service extension. Changing the privacy status back to `optedIn` will generate a new ECID used by the Identity for Experience Cloud ID Service extension. Privacy status changes do not change the ECID used by the Identity for Edge Network extension. Changing the privacy status will cause the ECID used by each identity extension to be different. + +When each identity extension has a different ECID, the Identity for Edge Network extension will include the Identity for Experience Cloud ID Service ECID in its [IdentityMap](./api-reference.md#identitymap), and so the Adobe Experience Platform Identity Service will link the the two ECIDs in the customer's Identity Graph. + +The following example shows an IdentityMap containing the ECIDs from both Identity for Edge Network extension and Identity for Experience Cloud ID Service extension. The ECID from the Identity for Edge Network extension is always listed first in the list of ECIDs. + +```javascript +"identityMap" : { + "ECID" : [ + { + "id" : "73586628797489658169123381027155647197", + "authenticatedState" : "ambiguous", + "primary" : false + }, + { + "id" : "81117527655405132265917409409236407340", + "authenticatedState" : "ambiguous", + "primary" : false + } + ] + } +``` + +## Q: I set privacy status to opted out, why do I see an ECID value when calling `Identity.getExperienceCloudId()`? + +A: The Identity for Edge Network extension does not change its ECID based on privacy status changes. + + + +The Identity for Edge Network extension and the Identity for Experience Cloud ID Service extension each manage their own ECID value and are generated independently of each other. + +The Identity for Edge Network extension does not clear its stored identities or regenerate the ECID due to privacy status changes. Instead, use the [resetIdentities](./api-reference.md#resetidentities) API. Note this API does not clear the ECID but instead generates a new ECID. + +Each identity extension has its own API to retrieve their respective ECIDs as well. Use [Identity.getExperienceCloudId](./api-reference.md#getexperiencecloudid) to get the Identity for Edge Network extension's ECID, and [Identity.getExperienceCloudId](../mobile-core/identity/api-reference.md#getexperiencecloudid) to get the Identity for Experience Cloud ID Service extension's ECID. + +## Q: How can I get all the identifiers used by the SDK when using both Edge extensions and Adobe Solutions extensions? + +A: Use both `getSdkIdentities` and `getIdentities` + +To get the identifiers used by the Adobe Solutions extensions, call [getSdkIdentities](../mobile-core/api-reference.md#getsdkidentities). + +To get the identifiers used by the Edge extensions, call [getIdentities](./api-reference.md#getidentities). + +## Q: How can I clear all the identifiers from the SDK when using both Edge extensions and Adobe Solutions extensions? + +A: Set privacy status to `optedOut` and call `resetIdentities` + +To clear the identifiers used by the Adobe Solutions extensions, call [setPrivacyStatus](../resources/privacy-and-gdpr.md#set-and-get-privacy-status) and set the privacy status to `optedOut`. + +To clear the identifiers used by the Edge extensions, call [resetIdentities](../mobile-core/api-reference.md#resetidentities) + +## Q: What steps are needed to generate a new Experience Cloud ID (ECID) for a user when using both Edge extensions and Adobe Solutions extensions? + +A: Both identity extensions' ECID must be regenerated in sequence to avoid linking the old and new ECIDs in Adobe Experience Platform. + +When using Real-time Customer Profile and Identity Service, the ECIDs from both identity extensions are linked together in the customer's Identity Graph. Care must be taken when regenerating new ECIDs such that the old and new ECIDs are not linked within the same Identity Graph. + +Perform the following API calls to regenerate the ECIDs in sequence: + +1. Set [privacy status](../resources/privacy-and-gdpr.md#set-and-get-privacy-status) to `optedOut` to clear the ECID from the Identity direct service extension. +2. Call [resetIdentities](./api-reference.md#resetidentities) to regenerate a new ECID in the Identity for Edge Network extension. +3. Call [getExperienceCloudId](./api-reference.md#getexperiencecloudid) on the Identity for Edge Network extension. This ensures the new ECID is generated before continuing. +4. Set [privacy status](../privacy-and-gdpr.md#set-and-get-privacy-status) to `optedIn` to generate a new ECID in the Identity direct service extension. + +After completing the above steps, each identity extension will have its own, different, ECID. The new ECIDs will get linked under a new Identity Graph for the customer. + + + +Android + + + +iOS + + + +## Q: Can I safely remove the Identity for Experience Cloud ID Service extension in an app if I am using the Edge Network extension? + +If no other extension relies on the Identity for Experience Cloud ID Service extension, you can safely remove it. Please refer to the [Identity consideration document](../adobe-analytics/migrate-to-edge-network.md#identity-consideration-for-the-migration) for more information. + +## Q: I am passing the ECID from to the WebView using `getUrlVariables` API, but the web interactions get a new ECID assigned, how do I fix this? + +1. Ensure that the output from the `getUrlVariables` API includes accurate **ECID** and **Experience Cloud orgID** values. Please note that the orgID set up for the Mobile SDK must match the orgID configured in the Web SDK. +2. Make sure the timestamp (TS) included in the `getUrlVariables` result did not expire (that is, it is not older than 5 minutes since the time it was retrieved). For this reason, it is recommended that the result from `getUrlVariables` is not cached and reused in the app, but retrieved on demand before loading the WebView. +3. The query string returned by the `getUrlVariables` API is already encoded, so please ensure that you do not re-encode the generated query string. + +For further information, refer to the documentation on [mobile-to-web and cross-domain ID sharing](https://experienceleague.adobe.com/docs/experience-platform/edge/identity/id-sharing.html?lang=en) and [handling WebViews](https://experienceleague.adobe.com/docs/platform-learn/implement-mobile-sdk/app-implementation/web-views.html?lang=en#implementation). diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md new file mode 100644 index 0000000000..de22f90df3 --- /dev/null +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md @@ -0,0 +1,84 @@ +--- +title: Identity for Edge Network overview +description: An overview for the Identity for Edge Network mobile extension. +keywords: +- Edge Network +- Identity for Edge Network +- Product overview +--- + +import Tabs from './tabs/index.md' + +# Identity for Edge Network + +The Adobe Experience Platform Identity mobile extension enables identity management from your mobile app when using the Adobe Experience Platform Mobile SDK and the [Edge Network extension](../edge-network/index.md). + +## Configure the Identity extension in the Data Collection UI + +1. In Data Collection UI, in your mobile property, select the **Extensions** tab. +2. On the **Catalog** tab, locate or search for the **Identity** extension, and select **Install**. +3. There are no configuration settings for **Identity**. +4. Select **Save**. +5. Follow the publishing process to update SDK configuration. + +![Identity for Edge Network extension configuration](./assets/index/configuration.png) + +## Add the Identity extension to your app + +### Download and import the Identity extension + + + +The following instructions are for configuring an application using Adobe Experience Platform Edge mobile extensions. If an application will include both Edge Network and Adobe Solution extensions, both the Identity for Edge Network and Identity for Experience Cloud ID Service extensions are required. Find more details in the [frequently asked questions](./faq.md). + + + +When using the [`setAdvertisingIdentifier`](./api-reference.md#setadvertisingidentifier) API, see the setup guide for [Consent for Edge Network](../consent-for-edge-network/index.md) for instructions on setting up the extension and profile schema for proper usage. + + + +Android + + + +iOS + + + +### Register the Identity extension with Mobile Core + + + +Android + + + +iOS + + + +## Advertising identifier + +The Edge Identity extension compares the previously stored advertising identifier value with the new value received from the [`setAdvertisingIdentifier`](./api-reference.md#setadvertisingidentifier) API and handles the following scenarios: + +Ad tracking enabled - when the new value sent to the API is: + +* A valid UUID string (example: `"a127a99e-50be-4d87-bf6f-6ab9541c105b"`) + +Process: + +1. Updates the client side XDM `IdentityMap` with the new value for IDFA/GAID, which is included in subsequent [XDM Experience events](../edge-network/xdm-experience-events.md). For more details, see the [standard Identity namespaces](https://experienceleague.adobe.com/docs/experience-platform/identity/namespaces.html#standard). +2. Sends a [consent update event](https://experienceleague.adobe.com/docs/experience-platform/xdm/data-types/consents.html) with ad ID consent preferences set to `yes` (only when a valid ad ID is absent from the `IdentityMap` and the Edge Consent extension is registered and properly configured). + +Ad tracking disabled - Given a valid ad ID already exists in the `IdentityMap`, and the new value sent to the API is: + +* `null`/`nil` +* Empty string (`""`) +* All-zeros string (`"00000000-0000-0000-0000-000000000000"`) + +Process: + +1. Removes the ad ID from the client side XDM `IdentityMap`, which is removed from subsequent [XDM Experience events](../edge-network/xdm-experience-events.md). +2. Sends a [consent update event](https://experienceleague.adobe.com/docs/experience-platform/xdm/data-types/consents.html) with ad ID consent preferences set to `no` (only when the Edge Consent extension is registered and properly configured). + +No operations are executed when no changes are detected between the previously stored and new ad ID value. diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md new file mode 100644 index 0000000000..6db6964839 --- /dev/null +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md @@ -0,0 +1,70 @@ +--- +title: Identity for Edge Network release notes +description: The release notes for the Identity for Edge Network mobile extension. +keywords: +- Edge Network +- Identity for Edge Network +- Release notes +--- + +# Release Notes + +## July 25, 2023 + +### Android EdgeIdentity 2.0.1 + +* Added validation to ignore `IdentityItem`s with an empty ID value. +* Fixed an issue where the `getUrlVariables` API may fail to generate a response on Android 6 (API 23) devices. + +## June 1, 2023 + +### iOS EdgeIdentity 4.0.0 + +Major version update for [Identity for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: + +* Updated the minimum supported version to iOS 11.0 and tvOS 11.0. +* Include XCFrameworks built with Xcode 14.1 with the GitHub release. + +## February 28, 2023 + +### iOS AEPEdgeIdentity 1.2.0 + +* Added tvOS support. +* Identity map no longer accepts identity items with an empty string value for ID. + +## January 31, 2023 + +### Android EdgeIdentity 2.0.0 + +* Major version update for [Identity for Edge Network](./index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeidentity-android). + +## June 7, 2022 + +### iOS AEPEdgeIdentity 1.1.0 + +* Added the `getUrlVariables` API to support passing the visitor ID from a mobile app to a web view. +* Added support for advertising identifier and ad tracking consent collection. + +### Android EdgeIdentity 1.1.0 + +* Added the `getUrlVariables` API to support passing the visitor ID from a mobile app to a web view. +* Added support for advertising identifier and ad tracking consent collection. +* Internal fixes for IdentityMap deserialization. + +## April 1, 2022 + +### iOS AEPEdgeIdentity 1.0.1 + +* Synchronized updates and reads on the Identity for Edge Network shared state to avoid any race conditions. + +## April 13, 2021 + +### Identity tags Extension + +You can now find the `Identity` extension in the tags extensions catalog for mobile properties. + +## April 8, 2021 + +### iOS & Android EdgeIdentity 1.0.0 + +The Adobe Experience Platform Identity (AEPEdgeIdentity) mobile extension is now available on iOS and Android! This extension enables handling of user identity data from a mobile app when using the Adobe Experience Platform SDK and the Edge Network extension. diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md new file mode 100644 index 0000000000..e97b1e376f --- /dev/null +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md @@ -0,0 +1,950 @@ +--- +noIndex: true +--- + + + +#### Java + +**Syntax** + +```java +public static String extensionVersion() +``` + +**Example** + +```java +String extensionVersion = Identity.extensionVersion(); +``` + +#### Kotlin + +**Example** + +```java +val extensionVersion = Identity.extensionVersion() +``` + + + +#### Swift + +**Syntax** + +```swift +static var extensionVersion: String +``` + +**Example** + +```swift +let extensionVersion = EdgeIdentity.extensionVersion +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (nonnull NSString*) extensionVersion; +``` + +**Example** + +```objectivec +NSString *extensionVersion = [AEPMobileEdgeIdentity extensionVersion]; +``` + + + + + +The ECID value is returned via the [AdobeCallback](../mobile-core/api-reference.md#public-classes). When [AdobeCallbackWithError](../mobile-core/api-reference.md#public-classes) is provided to this API, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../mobile-core/api-reference.md#public-classes). + + + +#### Java + +**Syntax** + +```java +public static void getExperienceCloudId(final AdobeCallback callback); +``` + +* _callback_ is invoked after the ECID is available. The callback may be invoked on a different thread. + +**Example** + +```java +Identity.getExperienceCloudId(new AdobeCallback() { + @Override + public void call(String id) { + // Handle the ID returned here + } +}); +``` + +#### Kotlin + +**Example** + +```java +Identity.getExperienceCloudId { id -> + // Handle the ID returned here +} +``` + + + +#### Swift + +**Syntax** + +```swift +static func getExperienceCloudId(completion: @escaping (String?, Error?) -> Void) +``` + +* _completion_ is invoked after the ECID is available. The default timeout is 1000ms. + +**Example** + +```swift +Identity.getExperienceCloudId { (ecid, error) in + if let error = error { + // Handle the error here + } else { + // Handle the retrieved ID here + } +} +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) getExperienceCloudId:^(NSString * _Nullable ecid, NSError * _Nullable error)completion +``` + +**Example** + +```objectivec +[AEPMobileEdgeIdentity getExperienceCloudId:^(NSString *ecid, NSError *error) { + // handle the error and the retrieved ID here +}]; +``` + + + + + +When [AdobeCallbackWithError](../mobile-core/api-reference.md#public-classes) is provided, and you are fetching the identities from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../mobile-core/api-reference.md#public-classes). + + + +#### Java + +**Syntax** + +```java +public static void getIdentities(final AdobeCallback callback); +``` + +* _callback_ is invoked after the identities are available. The return format is an instance of [IdentityMap](#identitymap). The callback may be invoked on a different thread. + +**Example** + +```java +Identity.getIdentities(new AdobeCallback() { + @Override + public void call(IdentityMap identityMap) { + // Handle the IdentityMap returned here + } +}); +``` + +#### Kotlin + +**Example** + +```java +Identity.getIdentities { identityMap -> + // Handle the IdentityMap returned here +} +``` + + + +#### Swift + +**Syntax** + +```swift +static func getIdentities(completion: @escaping (IdentityMap?, Error?) -> Void) +``` + +* _completion_ is invoked after the identities are available. The default timeout is 1000ms. The return format is an instance of [IdentityMap](api-reference.md#identitymap). + +**Example** + +```swift +Identity.getIdentities { (identityMap, error) in + if let error = error { + // Handle the error here + } else { + // Handle the retrieved identitites here + } +} +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) getIdentities:^(AEPIdentityMap * _Nullable map, NSError * _Nullable error)completion +``` + +**Example** + +```objectivec +[AEPMobileEdgeIdentity getIdentities:^(AEPIdentityMap *map, NSError *error) { + // handle the error and the retrieved ID here +}]; +``` + + + + + +When `AdobeCallbackWithError` is provided and you are fetching the URL variables from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate `AdobeError`. + + + +#### Java + +**Syntax** + +```java +public static void getUrlVariables(final AdobeCallback callback); +``` + +* `callback` has a String value that contains the visitor identifiers as a query string after the service request is complete. + +**Example** + +```java +Identity.getUrlVariables(new AdobeCallback() { + @Override + public void call(String urlVariablesString) { + // Handle the URL query parameter string here + // For example, open the URL in a webView + WebView webView; + webView = (WebView)findViewById(R.id.your_webview); // Initialize with your webView + webview.loadUrl("https://example.com?" + urlVariablesString); + } +}); +``` + +#### Kotlin + +**Example** + +```java +Identity.getUrlVariables { urlVariablesString -> + // Handle the URL query parameter string here + // For example, open the URL in a webView + val webView = findViewById(R.id.your_webview) // Initialize with your webView + webView.loadUrl("http://www.example.com?" + urlVariablesString) +} +``` + + + +#### Swift + +**Syntax** + +```swift +static func getUrlVariables(completion: @escaping (String?, Error?) -> Void) +``` + +* `completion` is invoked with `urlVariables` containing the visitor identifiers as a query string, or with `error` if an unexpected error occurs or the request times out. The returned `Error` contains the [AEPError](../mobile-core/api-reference.md#public-classes) code of the specific error. The default timeout is 1000ms. + +**Example** + +```swift +Identity.getUrlVariables { (urlVariables, error) in + if let error = error { + // Handle the error here + } else { + var urlStringWithVisitorData: String = "https://example.com" + if let urlVariables: String = urlVariables { + urlStringWithVisitorData.append("?" + urlVariables) + } + + guard let urlWithVisitorData: URL = URL(string: urlStringWithVisitorData) else { + // Handle the error, unable to construct URL + return + } + + // Handle the retrieved urlVariables encoded string here + // APIs which update the UI must be called from main thread + DispatchQueue.main.async { + self.webView.load(URLRequest(url: urlWithVisitorData)) + } + } +} +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) getUrlVariables:^(NSString * _Nullable urlVariables, NSError * _Nullable error)completion +``` + +**Example** + +```objectivec +[AEPMobileEdgeIdentity getUrlVariables:^(NSString *urlVariables, NSError *error){ + if (error) { + // Handle the error here + } else { + // Handle the URL query parameter string here + NSString* urlString = @"https://example.com"; + NSString* urlStringWithVisitorData = [NSString stringWithFormat:@"%@?%@", urlString, urlVariables]; + NSURL* urlWithVisitorData = [NSURL URLWithString:urlStringWithVisitorData]; + + // APIs which update the UI must be called from main thread + dispatch_async(dispatch_get_main_queue(), ^{ + [[self webView] loadRequest:[NSURLRequest requestWithURL:urlWithVisitorData]]; + } + } +}]; +``` + + + +#### Java + +**Syntax** + +```java +public static void registerExtension() +``` + +**Example** + +```java +import com.adobe.marketing.mobile.edge.identity.Identity + +... +Identity.registerExtension(); +``` + + + +#### Java + +**Syntax** + +```java +public static void removeIdentity(final IdentityItem item, final String namespace); +``` + +**Example** + +```java +IdentityItem item = new IdentityItem("user@example.com"); +Identity.removeIdentity(item, "Email"); +``` + +#### Kotlin + +**Example** + +```java +val item = IdentityItem("user@example.com") +Identity.removeIdentity(item, "Email") +``` + + + +#### Swift + +**Syntax** + +```swift +static func removeIdentity(item: IdentityItem, withNamespace: String) +``` + +**Example** + +```swift +Identity.removeIdentity(item: IdentityItem(id: "user@example.com"), withNamespace: "Email") +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) removeIdentityItem:(AEPIdentityItem * _Nonnull) item + withNamespace: (NSString * _Nonnull) namespace +``` + +**Example** + +```objectivec +AEPIdentityItem *item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; +[AEPMobileEdgeIdentity removeIdentityItem:item withNamespace:@"Email"]; +``` + + + + + +In order to enable collection of the user's current advertising tracking authorization selection for the provided advertising identifier, you need to install and register the [AEPEdgeConsent](../consent-for-edge-network/index.md) extension and update the [AEPEdge](../edge-network/index.md) dependency to minimum 1.3.2. + + + + + +These examples require Google Play Services to be configured in your mobile application and use the Google Mobile Ads Lite SDK. For instructions on how to import the SDK and configure your `ApplicationManifest.xml` file see [Google Mobile Ads Lite SDK setup](https://developers.google.com/admob/android/lite-sdk). For more information about advertising identifiers and how to handle them correctly in your mobile application see [Google Play Services documentation about AdvertisingIdClient](https://developers.google.com/android/reference/com/google/android/gms/ads/identifier/AdvertisingIdClient). + + + +#### Java + +**Syntax** + +```java +public static void setAdvertisingIdentifier(final String advertisingIdentifier); +``` + +* _advertisingIdentifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. + +**Example** + +```java +import com.google.android.gms.ads.identifier.AdvertisingIdClient; +import com.google.android.gms.common.GooglePlayServicesNotAvailableException; +import com.google.android.gms.common.GooglePlayServicesRepairableException; +import java.io.IOException; +import android.util.Log; + +... +@Override +public void onResume() { + super.onResume(); + ... + new Thread(new Runnable() { + @Override + public void run() { + String advertisingIdentifier = null; + + try { + AdvertisingIdClient.Info adInfo = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext()); + if (adInfo != null) { + if (!adInfo.isLimitAdTrackingEnabled()) { + advertisingIdentifier = adInfo.getId(); + } else { + Log.d("ExampleActivity", "Limit Ad Tracking is enabled by the user, cannot process the advertising identifier"); + } + } + } catch (IOException e) { + // Unrecoverable error connecting to Google Play services (e.g., + // the old version of the service doesn't support getting AdvertisingId). + Log.d("ExampleActivity", "IOException while retrieving the advertising identifier " + e.getLocalizedMessage()); + } catch (GooglePlayServicesNotAvailableException e) { + // Google Play services is not available entirely. + Log.d("ExampleActivity", "GooglePlayServicesNotAvailableException while retrieving the advertising identifier " + e.getLocalizedMessage()); + } catch (GooglePlayServicesRepairableException e) { + // Google Play services is not installed, up-to-date, or enabled. + Log.d("ExampleActivity", "GooglePlayServicesRepairableException while retrieving the advertising identifier " + e.getLocalizedMessage()); + } + MobileCore.setAdvertisingIdentifier(advertisingIdentifier); + } + }).start(); +} +``` + +#### Kotlin + +* _advertisingIdentifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. + +**Example** + +```java +import android.content.Context +import android.util.Log +import com.google.android.gms.ads.identifier.AdvertisingIdClient +import com.google.android.gms.common.GooglePlayServicesNotAvailableException +import com.google.android.gms.common.GooglePlayServicesRepairableException +import java.io.IOException +... + +suspend fun getGAID(applicationContext: Context): String { + var adID = "" + try { + val idInfo = AdvertisingIdClient.getAdvertisingIdInfo(applicationContext) + if (idInfo.isLimitAdTrackingEnabled) { + Log.d("ExampleActivity", "Limit Ad Tracking is enabled by the user, setting ad ID to \"\"") + return adID + } + Log.d("ExampleActivity", "Limit Ad Tracking disabled; ad ID value: ${idInfo.id}") + adID = idInfo.id + } catch (e: GooglePlayServicesNotAvailableException) { + Log.d("ExampleActivity", "GooglePlayServicesNotAvailableException while retrieving the advertising identifier ${e.localizedMessage}") + } catch (e: GooglePlayServicesRepairableException) { + Log.d("ExampleActivity", "GooglePlayServicesRepairableException while retrieving the advertising identifier ${e.localizedMessage}") + } catch (e: IOException) { + Log.d("ExampleActivity", "IOException while retrieving the advertising identifier ${e.localizedMessage}") + } + Log.d("ExampleActivity", "Returning ad ID value: $adID") + return adID +} +``` + +Call site: + +```java +import kotlinx.coroutines.CoroutineScope +import kotlinx.coroutines.Dispatchers +import kotlinx.coroutines.launch +... + + // Create background coroutine scope to fetch ad ID value +val scope = CoroutineScope(Dispatchers.IO).launch { + val adID = sharedViewModel.getGAID(context.applicationContext) + Log.d("ExampleActivity", "Sending ad ID value: $adID to MobileCore.setAdvertisingIdentifier") + MobileCore.setAdvertisingIdentifier(adID) +} +``` + + + +In order to enable the collection of current advertising tracking user's selection based on the provided advertising identifier, you need to install and register the [Consent for Edge Network](../consent-for-edge-network/index.md) extension and update the [Edge Network extension](../edge-network/index.md) dependency to minimum 1.4.1. + +Starting from iOS 14+, applications must use the [App Tracking Transparency](https://developer.apple.com/documentation/apptrackingtransparency) framework to request user authorization before using the Identifier for Advertising (IDFA). To access IDFA and handle it correctly in your mobile application, see the [Apple developer documentation about IDFA](https://developer.apple.com/documentation/adsupport/asidentifiermanager). + +#### Swift + +**Syntax** + +```swift +@objc(setAdvertisingIdentifier:) +public static func setAdvertisingIdentifier(_ identifier: String?) +``` + +* _identifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. + +**Example** + +```swift +import AdSupport +import AppTrackingTransparency +... + +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + ... + if #available(iOS 14, *) { + setAdvertisingIdentifierUsingTrackingManager() + } else { + // Fallback on earlier versions + setAdvertisingIdentifierUsingIdentifierManager() + } + +} + +func setAdvertisingIdentifierUsingIdentifierManager() { + var idfa:String = ""; + if (ASIdentifierManager.shared().isAdvertisingTrackingEnabled) { + idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString; + } else { + Log.debug(label: "AppDelegateExample", + "Advertising Tracking is disabled by the user, cannot process the advertising identifier."); + } + MobileCore.setAdvertisingIdentifier(idfa); +} + +@available(iOS 14, *) +func setAdvertisingIdentifierUsingTrackingManager() { + ATTrackingManager.requestTrackingAuthorization { (status) in + var idfa: String = ""; + + switch (status) { + case .authorized: + idfa = ASIdentifierManager.shared().advertisingIdentifier.uuidString + case .denied: + Log.debug(label: "AppDelegateExample", + "Advertising Tracking is denied by the user, cannot process the advertising identifier.") + case .notDetermined: + Log.debug(label: "AppDelegateExample", + "Advertising Tracking is not determined, cannot process the advertising identifier.") + case .restricted: + Log.debug(label: "AppDelegateExample", + "Advertising Tracking is restricted by the user, cannot process the advertising identifier.") + } + + MobileCore.setAdvertisingIdentifier(idfa) + } +} +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) setAdvertisingIdentifier: (NSString * _Nullable identifier); +``` + +* _identifier_ is an ID string that provides developers with a simple, standard system to continue to track ads throughout their apps. + +**Example** + +```objectivec +#import +#import +... + +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { +- ... +- + if (@available(iOS 14, *)) { + [self setAdvertisingIdentifierUsingTrackingManager]; + } else { + // fallback to earlier versions + [self setAdvertisingIdentifierUsingIdentifierManager]; + } + +} + +- (void) setAdvertisingIdentifierUsingIdentifierManager { + // setup the advertising identifier + NSString *idfa = nil; + if ([[ASIdentifierManager sharedManager] isAdvertisingTrackingEnabled]) { + idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; + } else { + [AEPLog debugWithLabel:@"AppDelegateExample" + message:@"Advertising Tracking is disabled by the user, cannot process the advertising identifier"]; + } + [AEPMobileCore setAdvertisingIdentifier:idfa]; + +} + +- (void) setAdvertisingIdentifierUsingTrackingManager API_AVAILABLE(ios(14)) { + [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler: + ^(ATTrackingManagerAuthorizationStatus status){ + NSString *idfa = nil; + switch(status) { + case ATTrackingManagerAuthorizationStatusAuthorized: + idfa = [[[ASIdentifierManager sharedManager] advertisingIdentifier] UUIDString]; + break; + case ATTrackingManagerAuthorizationStatusDenied: + [AEPLog debugWithLabel:@"AppDelegateExample" + message:@"Advertising Tracking is denied by the user, cannot process the advertising identifier"]; + break; + case ATTrackingManagerAuthorizationStatusNotDetermined: + [AEPLog debugWithLabel:@"AppDelegateExample" + message:@"Advertising Tracking is not determined, cannot process the advertising identifier"]; + break; + case ATTrackingManagerAuthorizationStatusRestricted: + [AEPLog debugWithLabel:@"AppDelegateExample" + message:@"Advertising Tracking is restricted by the user, cannot process the advertising identifier"]; + break; + } + + [AEPMobileCore setAdvertisingIdentifier:idfa]; + }]; +} +``` + + + +#### Java + +**Syntax** + +```java +public static void updateIdentities(final IdentityMap identityMap); +``` + +**Example** + +```java +IdentityItem item = new IdentityItem("user@example.com"); +IdentityMap identityMap = new IdentityMap(); +identityMap.addItem(item, "Email") +Identity.updateIdentities(identityMap); +``` + +#### Kotlin + +**Example** + +```java +val item = IdentityItem("user@example.com") +val identityMap = IdentityMap() +identityMap.addItem(item, "Email") +Identity.updateIdentities(identityMap) +``` + + + +#### Swift + +**Syntax** + +```swift +static func updateIdentities(with map: IdentityMap) +``` + +**Example** + +```swift +let identityMap = IdentityMap() +identityMap.addItem(item: IdentityItem(id: "user@example.com"), withNamespace: "Email") +Identity.updateIdentities(with: identityMap) +``` + +#### Objective-C + +**Syntax** + +```objectivec ++ (void) updateIdentities:(AEPIdentityMap * _Nonnull)map +``` + +**Example** + +```objectivec +AEPIdentityItem *item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; +AEPIdentityMap *map = [[AEPIdentityMap alloc] init]; +[map addItem:item withNamespace:@"Email"]; +[AEPMobileEdgeIdentity updateIdentities:map]; +``` + + + +#### Java + +**Example** + +```java +// Construct +IdentityMap identityMap = new IdentityMap(); + +// Add an item +IdentityItem item = new IdentityItem("user@example.com"); +identityMap.addItem(item, "Email"); + +// Remove an item +IdentityItem item = new IdentityItem("user@example.com"); +identityMap.removeItem(item, "Email"); + +// Get a list of items for a given namespace +List items = identityMap.getIdentityItemsForNamespace("Email"); + +// Get a list of all namespaces used in current IdentityMap +List namespaces = identityMap.getNamespaces(); + +// Check if IdentityMap has no identities +boolean hasNotIdentities = identityMap.isEmpty(); +``` + +#### Kotlin + +**Example** + +```java +// Construct +val identityMap = IdentityMap() + +// Add an item +val item = IdentityItem("user@example.com") +identityMap.addItem(item, "Email") + +// Remove an item +val item = IdentityItem("user@example.com") +identityMap.removeItem(item, "Email") + +// Get a list of items for a given namespace +val items = identityMap.getIdentityItemsForNamespace("Email") + +// Get a list of all namespaces used in current IdentityMap +val namespaces = identityMap.getNamespaces() + +// Check if IdentityMap has no identities +val hasNotIdentities = identityMap.isEmpty() +``` + + + +#### Swift + +**Example** + +```swift +// Initialize +let identityMap: IdentityMap = IdentityMap() + +// Add an item +identityMap.add(item: IdentityItem(id: "user@example.com"), withNamespace: "Email") + +// Remove an item +identityMap.remove(item: IdentityItem(id: "user@example.com", withNamespace: "Email")) + +// Get a list of items for a given namespace +let items: [IdentityItem] = identityMap.getItems(withNamespace: "Email") + +// Get a list of all namespaces used in current IdentityMap +let namespaces: [String] = identityMap.namespaces + +// Check if IdentityMap has no identities +let hasNoIdentities: Bool = identityMap.isEmpty +``` + +#### Objective-C + +**Example** + +```objectivec +// Initialize +AEPIdentityMap* identityMap = [[AEPIdentityMap alloc] init]; + +// Add an item +AEPIdentityItem* item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; +[identityMap addItem:item withNamespace:@"Email"]; + +// Remove an item +AEPIdentityItem* item = [[AEPIdentityItem alloc] initWithId:@"user@example.com" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; +[identityMap removeItem:item withNamespace:@"Email"]; + +// Get a list of items for a given namespace +NSArray* items = [identityMap getItemsWithNamespace:@"Email"]; + +// Get a list of all namespaces used in current IdentityMap +NSArray* namespaces = identityMap.namespaces; + +// Check if IdentityMap has no identities +bool hasNoIdentities = identityMap.isEmpty; +``` + + + +#### Java + +**Example** + +```java +// Construct +IdentityItem item = new IdentityItem("identifier"); + +IdentityItem item = new IdentityItem("identifier", AuthenticatedState.AUTHENTICATED, false); + + +// Getters +String id = item.getId(); + +AuthenticatedState state = item.getAuthenticatedState(); + +boolean primary = item.isPrimary(); +``` + +#### Kotlin + +**Example** + +```java +// Construct +val item = IdentityItem("identifier") + +val item = IdentityItem("identifier", AuthenticatedState.AUTHENTICATED, false) + +// Getters +val id = item.id + +val state = item.authenticatedState + +val primary = item.isPrimary +``` + + + +#### Swift + +**Example** + +```swift +// Initialize +let item = IdentityItem(id: "identifier") + +let item = IdentityItem(id: "identifier", authenticatedState: .authenticated, primary: false) + +// Getters +let id: String = item.id + +let state: AuthenticatedState = item.authenticatedState + +let primary: Bool = item.primary +``` + +#### Objective-C + +**Example** + +```objectivec +// Initialize +AEPIdentityItem* item = [[AEPIdentityItem alloc] initWithId:@"identity" authenticatedState:AEPAuthenticatedStateAuthenticated primary:false]; + +// Getters +NSString* id = primaryEmail.id; + +long state = primaryEmail.authenticatedState; + +bool primary = primaryEmail.primary; +``` + + + +#### Java + +**Syntax** + +```java +public enum AuthenticatedState { + AMBIGUOUS("ambiguous"), + AUTHENTICATED("authenticated"), + LOGGED_OUT("loggedOut"); +} +``` + +#### Kotlin + +**Syntax** + +```java +enum class AuthenticatedState(val name: String) { + AMBIGUOUS("ambiguous"), + AUTHENTICATED("authenticated"), + LOGGED_OUT("loggedOut") +} +``` + + + +**Syntax** + +```swift +@objc(AEPAuthenticatedState) +public enum AuthenticatedState: Int, RawRepresentable, Codable { + case ambiguous = 0 + case authenticated = 1 + case loggedOut = 2 +} +``` diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md new file mode 100644 index 0000000000..0f8271d17c --- /dev/null +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md @@ -0,0 +1,171 @@ +--- +noIndex: true +--- + +import Alerts from '/src/pages/documentation/resources/alerts.md' + + + +1. Add the Mobile Core and Edge extensions to your project using the app's Gradle file. + +```java +implementation platform('com.adobe.marketing.mobile:sdk-bom:2.+') +implementation 'com.adobe.marketing.mobile:core' +implementation 'com.adobe.marketing.mobile:edge' +implementation 'com.adobe.marketing.mobile:edgeidentity' +``` + + + +2. Import the Mobile Core and Edge extensions in your application class. + +```java +import com.adobe.marketing.mobile.MobileCore; +import com.adobe.marketing.mobile.Edge; +import com.adobe.marketing.mobile.edge.identity.Identity; +``` + + + +1. Add the Mobile Core and Edge extensions to your project using CocoaPods. Add following pods in your `Podfile`: + +```swift +use_frameworks! +target 'YourTargetApp' do + pod 'AEPCore' + pod 'AEPIdentity' + pod 'AEPEdge' + pod 'AEPEdgeIdentity' +end +``` + +2. Import the Mobile Core and Edge libraries: + +**Swift** + +```swift +// AppDelegate.swift +import AEPCore +import AEPIdentity +import AEPEdge +import AEPEdgeIdentity +``` + +**Objective-C** + +```objectivec +// AppDelegate.h +@import AEPCore; +@import AEPIdentity; +@import AEPEdge; +@import AEPEdgeIdentity; +``` + + + +#### Java + +```java +public class MobileApp extends Application { + // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI + private final String ENVIRONMENT_FILE_ID = ""; + + @Override + public void onCreate() { + super.onCreate(); + MobileCore.setApplication(this); + MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID); + + // Register Adobe Experience Platform SDK extensions + MobileCore.registerExtensions( + Arrays.asList(Edge.EXTENSION, Identity.EXTENSION), + o -> Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") + ); + } +} +``` + +#### Kotlin + +```java +class MobileApp : Application() { + // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI + private var ENVIRONMENT_FILE_ID: String = "" + override fun onCreate() { + super.onCreate() + MobileCore.setApplication(this) + MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID) + // Register Adobe Experience Platform SDK extensions + MobileCore.registerExtensions( + listOf(Edge.EXTENSION, Identity.EXTENSION) + ) { + Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") + } + } +} +``` + + + +**Swift** + +```swift +// AppDelegate.swift +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + MobileCore.registerExtensions([AEPEdgeIdentity.Identity.self, AEPIdentity.Identity.self, Edge.self], { + MobileCore.configureWith(appId: "yourAppId") + }) + ... +} +``` + +**Objective-C** + +```objectivec +// AppDelegate.m +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileIdentity.class, AEPMobileEdge.class] completion:^{ + ... + }]; + [AEPMobileCore configureWithAppId: @"yourAppId"]; + ... +} +``` + + + +**Java** + +```java +MobileCore.setPrivacyStatus(MobilePrivacyStatus.OPT_OUT); +MobileCore.resetIdentities(); +com.adobe.marketing.mobile.edge.identity.Identity.getExperienceCloudId(new AdobeCallback() { + @Override + public void call(String s) { + // ignore + } +}); +MobileCore.setPrivacyStatus(MobilePrivacyStatus.OPT_IN); +``` + + + +**Swift** + +```swift +MobileCore.setPrivacyStatus(.optedOut) +MobileCore.resetIdentities() +AEPEdgeIdentity.Identity.getExperienceCloudId { _, _ in } +MobileCore.setPrivacyStatus(.optedIn) +``` + +**Objective-C** + +```objectivec +[AEPMobileCore setPrivacyStatus:AEPPrivacyStatusOptedOut]; +[AEPMobileCore resetIdentities]; +[AEPMobileEdgeIdentity getExperienceCloudId:^(NSString *ecid, NSError *error) { + // ignore +}]; +[AEPMobileCore setPrivacyStatus:AEPPrivacyStatusOptedIn]; +``` diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md new file mode 100644 index 0000000000..ba6a5e1bbf --- /dev/null +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md @@ -0,0 +1,133 @@ +--- +noIndex: true +--- + +import Alerts from '/src/pages/documentation/resources/alerts.md' + + + +1. Add the Mobile Core and Edge extensions to your project using the app's Gradle file. + +```java +implementation platform('com.adobe.marketing.mobile:sdk-bom:2.+') +implementation 'com.adobe.marketing.mobile:core' +implementation 'com.adobe.marketing.mobile:edge' +implementation 'com.adobe.marketing.mobile:edgeidentity' +``` + + + +2. Import the Mobile Core and Edge extensions in your Application class. + +```java +import com.adobe.marketing.mobile.MobileCore; +import com.adobe.marketing.mobile.Edge; +import com.adobe.marketing.mobile.edge.identity.Identity; +``` + + + +1. Add the Mobile Core and Edge extensions to your project using CocoaPods. Add following pods in your `Podfile`: + +```swift +use_frameworks! +target 'YourTargetApp' do + pod 'AEPCore' + pod 'AEPEdge' + pod 'AEPEdgeIdentity' + pod 'AEPEdgeConsent' // Recommended when using the setAdvertisingIdentifier API +end +``` + +2. Import the Mobile Core and Edge libraries: + +**Swift** + +```swift +// AppDelegate.swift +import AEPCore +import AEPEdge +import AEPEdgeIdentity +import AEPEdgeConsent +``` + +**Objective-C** + +```objectivec +// AppDelegate.h +@import AEPCore; +@import AEPEdge; +@import AEPEdgeIdentity; +@import AEPEdgeConsent; +``` + + + +#### Java + +```java +public class MobileApp extends Application { + // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI + private final String ENVIRONMENT_FILE_ID = ""; + + @Override + public void onCreate() { + super.onCreate(); + MobileCore.setApplication(this); + MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID); + + // Register Adobe Experience Platform SDK extensions + MobileCore.registerExtensions( + Arrays.asList(Edge.EXTENSION, Identity.EXTENSION), + o -> Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") + ); + } +} +``` + +#### Kotlin + +```java +class MobileApp : Application() { + // Set up the preferred Environment File ID from your mobile property configured in Data Collection UI + private var ENVIRONMENT_FILE_ID: String = "" + override fun onCreate() { + super.onCreate() + MobileCore.setApplication(this) + MobileCore.configureWithAppID(ENVIRONMENT_FILE_ID) + // Register Adobe Experience Platform SDK extensions + MobileCore.registerExtensions( + listOf(Edge.EXTENSION, Identity.EXTENSION) + ) { + Log.debug("MobileApp", "MobileApp", "Adobe Experience Platform Mobile SDK initialized.") + } + } +} +``` + + + +**Swift** + +```swift +// AppDelegate.swift +func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { + MobileCore.registerExtensions([Identity.self, Consent.self, Edge.self], { + MobileCore.configureWith(appId: "yourAppId") + }) + ... +} +``` + +**Objective-C** + +```objectivec +// AppDelegate.m +- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { + [AEPMobileCore registerExtensions:@[AEPMobileEdgeIdentity.class, AEPMobileEdgeConsent.class, AEPMobileEdge.class] completion:^{ + ... + }]; + [AEPMobileCore configureWithAppId: @"yourAppId"]; + ... +} +``` From 265e05e004723122d9cca76ddbb94d54c538f522 Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Thu, 5 Oct 2023 13:52:08 -0700 Subject: [PATCH 04/12] More moving --- gatsby-config.js | 225 ++++++++---------- .../components/InlineAlert/index.js | 122 ++++------ .../documentation/base-extensions/index.md | 23 ++ .../documentation/edge-extensions/index.md | 20 ++ .../experience-cloud-extensions.md | 22 -- .../mobile-foundation-extensions.md | 27 --- .../user-guides/app-extension.md | 0 .../assets/attach-data/rule-complete.png | Bin .../assets/attach-data/set-action.png | Bin .../assets/attach-data/set-event.png | Bin .../target-attach-data-data-element-setup.png | Bin ...tach-data-event-setup-location-clicked.png | Bin ...ch-data-event-setup-location-displayed.png | Bin ...arget-attach-data-event-setup-prefetch.png | Bin .../target-attach-data-event-setup.png | Bin ...ach-data-json-example-location-clicked.png | Bin ...ttach-data-rule-setup-location-clicked.png | Bin ...ach-data-rule-setup-location-displayed.png | Bin ...target-attach-data-rule-setup-prefetch.png | Bin .../target-attach-data-rule-setup.png | Bin .../modify-data/rule-complete-modify-data.png | Bin .../modify-data/set-action-analytics.png | Bin .../assets/modify-data/set-action-json.png | Bin .../assets/modify-data/set-event.png | Bin ...data-elements-create-data-element-ecid.png | Bin .../data-elements-create-rule.png | Bin .../user-guides/attach-data.md | 0 .../user-guides/building-mobile-extensions.md | 0 .../commerce-assurance-connection.png | Bin .../overview/commerce-assurance-login.png | Bin .../overview/commerces-session-details.png | Bin .../assets/overview/create-datastream.png | Bin .../assets/overview/development-icon.png | Bin .../assets/overview/enable-datastreams.png | Bin .../assets/overview/xdm-schema-example.png | Bin .../rule-xdm-event-type.png | Bin .../development-icon.png | Bin .../xdm-product-review.png | Bin .../getting-started-with-platform/overview.md | 0 .../rules-and-xdm-events.md | 0 .../sample-xdm-implementation.md | 0 .../build-xdm-objects/android.md | 0 .../build-xdm-objects/ios.md | 0 .../download-sample-application/android.md | 0 .../download-sample-application/ios.md | 0 .../override-default-dataset/android.md | 0 .../override-default-dataset/ios.md | 0 .../{ => resources}/user-guides/index.md | 0 .../user-guides/modify-data.md | 0 .../attach-data/attaching-data/analytics.md | 0 .../tabs/attach-data/attaching-data/target.md | 0 .../user-guides/tags-data-elements.md | 0 .../solution-extensions/index.md | 20 ++ 53 files changed, 207 insertions(+), 252 deletions(-) create mode 100644 src/pages/documentation/base-extensions/index.md create mode 100644 src/pages/documentation/edge-extensions/index.md delete mode 100644 src/pages/documentation/experience-cloud-extensions.md delete mode 100644 src/pages/documentation/mobile-foundation-extensions.md rename src/pages/documentation/{ => resources}/user-guides/app-extension.md (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/rule-complete.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/set-action.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/set-event.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-data-element-setup.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-event-setup.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/attach-data/target-attach-data-rule-setup.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/modify-data/rule-complete-modify-data.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/modify-data/set-action-analytics.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/modify-data/set-action-json.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/modify-data/set-event.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png (100%) rename src/pages/documentation/{ => resources}/user-guides/assets/tags-data-elements/data-elements-create-rule.png (100%) rename src/pages/documentation/{ => resources}/user-guides/attach-data.md (100%) rename src/pages/documentation/{ => resources}/user-guides/building-mobile-extensions.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/overview/create-datastream.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/overview/development-icon.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/overview.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/rules-and-xdm-events.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/sample-xdm-implementation.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md (100%) rename src/pages/documentation/{ => resources}/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md (100%) rename src/pages/documentation/{ => resources}/user-guides/index.md (100%) rename src/pages/documentation/{ => resources}/user-guides/modify-data.md (100%) rename src/pages/documentation/{ => resources}/user-guides/tabs/attach-data/attaching-data/analytics.md (100%) rename src/pages/documentation/{ => resources}/user-guides/tabs/attach-data/attaching-data/target.md (100%) rename src/pages/documentation/{ => resources}/user-guides/tags-data-elements.md (100%) create mode 100644 src/pages/documentation/solution-extensions/index.md diff --git a/gatsby-config.js b/gatsby-config.js index 38f1b51904..e9244b1f42 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -11,19 +11,17 @@ */ module.exports = { siteMetadata: { - versions: [ - { + versions: [{ title: 'Latest version', path: '/client-sdks/documentation/', selected: true - }, - { + }, + { title: 'Previous versions', path: '/client-sdks/previous-versions/' - } - ], - pages: [ - { + } + ], + pages: [{ title: "Resources", path: "/documentation/resources" }, @@ -38,9 +36,9 @@ module.exports = { { title: "Solution-specific extensions", path: "/documentation/solution-extensions" - }], - subPages: [ - { + } + ], + subPages: [{ title: "Home", path: "/documentation" }, @@ -51,8 +49,7 @@ module.exports = { { title: "Release notes", path: "/documentation/resources/release-notes", - pages: [ - { + pages: [{ title: "2023", path: "/documentation/resources/release-notes" }, @@ -68,51 +65,48 @@ module.exports = { }, { title: "Getting started", - path: "/documentation/getting-started", - pages: [ - { + path: "/documentation/resources/getting-started", + pages: [{ title: "Overview", - path: "/documentation/getting-started" + path: "/documentation/resources/getting-started" }, { title: "Set up schemas and datasets", - path: "/documentation/getting-started/set-up-schemas-and-datasets" + path: "/documentation/resources/getting-started/set-up-schemas-and-datasets" }, { title: "Configure datastreams", - path: "/documentation/getting-started/configure-datastreams" + path: "/documentation/resources/getting-started/configure-datastreams" }, { title: "Set up a mobile property", - path: "/documentation/getting-started/create-a-mobile-property" + path: "/documentation/resources/getting-started/create-a-mobile-property" }, { title: "Get the Experience Platform SDK", - path: "/documentation/getting-started/get-the-sdk" + path: "/documentation/resources/getting-started/get-the-sdk" }, { title: "Debugging and lifecycle metrics", - path: "/documentation/getting-started/enable-debug-logging" + path: "/documentation/resources/getting-started/enable-debug-logging" }, { title: "Track events", - path: "/documentation/getting-started/track-events" + path: "/documentation/resources/getting-started/track-events" }, { title: "Validation and next steps", - path: "/documentation/getting-started/validate" + path: "/documentation/resources/getting-started/validate" } ] }, { title: "Edge extensions", path: "/documentation/edge-extensions", - pages: [ - { + pages: [{ title: "Identity for Edge Network", path: "/documentation/edge-extensions/identity-for-edge-network", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/edge-extensions/identity-for-edge-network" }, @@ -133,8 +127,7 @@ module.exports = { { title: "Adobe Experience Platform Edge Network", path: "/documentation/edge-extensions/edge-network", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/edge-extensions/edge-network" }, @@ -159,8 +152,7 @@ module.exports = { { title: "Lifecycle for Edge Network", path: "/documentation/edge-extensions/lifecycle-for-edge-network", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/edge-extensions/lifecycle-for-edge-network" }, @@ -181,8 +173,7 @@ module.exports = { { title: "Consent for Edge Network", path: "/documentation/edge-extensions/consent-for-edge-network", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/edge-extensions/consent-for-edge-network" }, @@ -199,8 +190,7 @@ module.exports = { { title: "Adobe Journey Optimizer", path: "/documentation/edge-extensions/adobe-journey-optimizer", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/edge-extensions/adobe-journey-optimizer" }, @@ -219,8 +209,7 @@ module.exports = { { title: "Tutorials", path: "documentation/edge-extensions/adobe-journey-optimizer/tutorials", - pages: [ - { + pages: [{ title: "Implement a MessagingDelegate", path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/messaging-delegate" }, @@ -247,8 +236,7 @@ module.exports = { { title: "Adobe Journey Optimizer Decisioning", path: "/documentation/edge-extensions/adobe-journey-optimizer-decisioning", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/edge-extensions/adobe-journey-optimizer-decisioning" }, @@ -265,8 +253,7 @@ module.exports = { { title: "Adobe Streaming Media for Edge Network", path: "/documentation/edge-extensions/media-for-edge-network", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/edge-extensions/media-for-edge-network" }, @@ -285,12 +272,10 @@ module.exports = { { title: "Solution specific extensions", path: "/documentation/solution-extensions", - pages: [ - { + pages: [{ title: 'Adobe Analytics', path: '/documentation/solution-extensions/adobe-analytics/', - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/solution-extensions/adobe-analytics" }, @@ -327,8 +312,7 @@ module.exports = { { title: "Adobe Campaign Classic", path: "/documentation/solution-extensions/adobe-campaign-classic", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/solution-extensions/adobe-campaign-classic" }, @@ -349,8 +333,7 @@ module.exports = { { title: "Adobe Campaign Standard", path: "/documentation/solution-extensions/adobe-campaign-standard", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/solution-extensions/adobe-campaign-standard" }, @@ -375,8 +358,7 @@ module.exports = { { title: "Adobe Audience Manager", path: "/documentation/solution-extensions/adobe-audience-manager/", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/solution-extensions/adobe-audience-manager/" }, @@ -397,8 +379,7 @@ module.exports = { { title: "Adobe Media Analytics", path: "/documentation/solution-extensions/adobe-media-analytics", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/solution-extensions/adobe-media-analytics" }, @@ -419,8 +400,7 @@ module.exports = { { title: "Adobe Target", path: "/documentation/solution-extensions/adobe-target", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/solution-extensions/adobe-target" }, @@ -447,24 +427,21 @@ module.exports = { { title: "Base extensions", path: "/documentation/base-extensions", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/base-extensions" }, { title: "Mobile Core", path: "/documentation/base-extensions/mobile-core", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/base-extensions/mobile-core" }, { title: "Configuration", path: "documentation/base-extensions/mobile-core/configuration", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/base-extensions/mobile-core/configuration" }, @@ -477,8 +454,7 @@ module.exports = { { title: "Identity", path: "documentation/base-extensions/mobile-core/identity", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/base-extensions/mobile-core/identity" }, @@ -495,8 +471,7 @@ module.exports = { { title: "Lifecycle", path: "documentation/base-extensions/mobile-core/lifecycle", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/base-extensions/mobile-core/lifecycle" }, @@ -525,8 +500,7 @@ module.exports = { { title: "Platform services", path: "documentation/base-extensions/mobile-core/platform-services", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/base-extensions/mobile-core/platform-services" }, @@ -539,8 +513,7 @@ module.exports = { { title: "Rules Engine", path: "documentation/base-extensions/mobile-core/rules-engine", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/base-extensions/mobile-core/rules-engine" }, @@ -557,8 +530,7 @@ module.exports = { { title: "Signal", path: "documentation/base-extensions/mobile-core/signal", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/base-extensions/mobile-core/signal" }, @@ -585,8 +557,7 @@ module.exports = { { title: "Adobe Experience Platform Assurance", path: "/documentation/platform-assurance-sdk", - pages: [ - { + pages: [{ title: "Overview", path: "/documentation/platform-assurance-sdk" }, @@ -606,53 +577,50 @@ module.exports = { }, - { - title: "Adobe Experience Platform Location Service", - path: "/documentation/places", - pages: [ - { - title: "Overview", - path: "/documentation/places" - }, { - title: "API reference", - path: "documentation/places/api-reference.md" - }, - { - title: "Event forwarding to Adobe Experience Platform", - path: "documentation/places/places-to-platform.md" - }, - { - title: "Release notes", - path: "documentation/places/release-notes.md" - } - ] - }, - { - title: "Profile", - path: "/documentation/profile", - pages: [ - { - title: "Overview", - path: "/documentation/profile" - }, - { - title: "API reference", - path: "documentation/profile/api-reference" + title: "Adobe Experience Platform Location Service", + path: "/documentation/places", + pages: [{ + title: "Overview", + path: "/documentation/places" + }, + { + title: "API reference", + path: "documentation/places/api-reference.md" + }, + { + title: "Event forwarding to Adobe Experience Platform", + path: "documentation/places/places-to-platform.md" + }, + { + title: "Release notes", + path: "documentation/places/release-notes.md" + } + ] }, { - title: "Release notes", - path: "documentation/profile/release-notes" + title: "Profile", + path: "/documentation/profile", + pages: [{ + title: "Overview", + path: "/documentation/profile" + }, + { + title: "API reference", + path: "documentation/profile/api-reference" + }, + { + title: "Release notes", + path: "documentation/profile/release-notes" + } + ] } ] - } - ] }, { title: "Resources", path: "/documentation/resources", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/resources" }, @@ -683,8 +651,7 @@ module.exports = { { title: "Adobe Mobile Library (v4) end-of-support", path: "documentation/resources/upgrade-platform-sdks", - pages: [ - { + pages: [{ title: "Overview", path: "documentation/resources/upgrade-platform-sdks" }, @@ -719,49 +686,47 @@ module.exports = { }, { title: "User guides", - path: "documentation/user-guides", - pages: [ - { + path: "documentation/resources/user-guides", + pages: [{ title: "Overview", - path: "documentation/user-guides" + path: "documentation/resources/user-guides" }, { title: "Getting started with Platform", - path: "documentation/user-guides/getting-started-with-platform/overview", - pages: [ - { + path: "documentation/resources/user-guides/resources/getting-started-with-platform/overview", + pages: [{ title: "Overview", - path: "documentation/user-guides/getting-started-with-platform/overview" + path: "documentation/resources/user-guides/resources/getting-started-with-platform/overview" }, { title: "Sample XDM implementation", - path: "documentation/user-guides/getting-started-with-platform/sample-xdm-implementation" + path: "documentation/resources/user-guides/resources/getting-started-with-platform/sample-xdm-implementation" }, { title: "Rules and XDM events", - path: "documentation/user-guides/getting-started-with-platform/rules-and-xdm-events" + path: "documentation/resources/user-guides/resources/getting-started-with-platform/rules-and-xdm-events" } ] }, { title: "Attach data to SDK events", - path: "documentation/user-guides/attach-data" + path: "documentation/resources/user-guides/attach-data" }, { title: "Modify data in SDK events", - path: "documentation/user-guides/modify-data" + path: "documentation/resources/user-guides/modify-data" }, { title: "Tags data elements", - path: "documentation/user-guides/tags-data-elements" + path: "documentation/resources/user-guides/tags-data-elements" }, { title: "iOS App Extensions", - path: "documentation/user-guides/app-extension" + path: "documentation/resources/user-guides/app-extension" }, { title: "Building mobile extensions", - path: "documentation/user-guides/building-mobile-extensions" + path: "documentation/resources/user-guides/building-mobile-extensions" } ] } @@ -769,4 +734,4 @@ module.exports = { }, plugins: [`@adobe/gatsby-theme-aio`], pathPrefix: process.env.PATH_PREFIX || '/client-sdks/' -}; +}; \ No newline at end of file diff --git a/src/@adobe/gatsby-theme-aio/components/InlineAlert/index.js b/src/@adobe/gatsby-theme-aio/components/InlineAlert/index.js index 7d34a06199..f1550d50e6 100644 --- a/src/@adobe/gatsby-theme-aio/components/InlineAlert/index.js +++ b/src/@adobe/gatsby-theme-aio/components/InlineAlert/index.js @@ -16,6 +16,12 @@ import * as Icons from '@adobe/gatsby-theme-aio/src/components/Icons'; import PropTypes from 'prop-types'; import '@spectrum-css/inlinealert'; +const commonCss = css` + font-size: 1rem; + line-height: 1.3rem; + padding-right: 30px; +`; + const getIconName = (variant) => { let icon = variant; @@ -26,10 +32,33 @@ const getIconName = (variant) => { return `${icon.charAt(0).toUpperCase()}${icon.slice(1)}Medium`; }; -const InlineAlert = ({ variant = 'info', header, text }) => { - const Icon = Icons[getIconName(variant)]; + const InlineAlertTexts = ({ texts }) => { + const textKeys = Object.keys(texts).filter((key) => key.startsWith('text')); + return textKeys.map((textKey, index) => + index === 0 + ? cloneElement(texts[textKey], { + className: 'spectrum-InLineAlert-content', + css: css` + margin-top: 0; + margin-left: var(--spectrum-global-dimension-size-300) !important; + ${commonCss}; + ` + }) + : cloneElement(texts[textKey], { + className: 'spectrum-InLineAlert-content', + css: css` + margin-top: var(--spectrum-global-dimension-size-150); + margin-left: var(--spectrum-global-dimension-size-300) !important; + ${commonCss}; + ` + }) + ); + }; - if (header){ + const InlineAlert = ({ variant = 'info', header, ...props }) => { + const Icon = Icons[getIconName(variant)] ? Icons[getIconName(variant)] : Icons.NeutralMedium; + variant = variant === 'warning' ? 'negative' : variant; + return (

{ margin-left: var(--spectrum-global-dimension-size-175) !important; } `}> - -
+
+ {header && + cloneElement(header, { + className: 'spectrum-InLineAlert-header', + css: css` margin-top: 0; - margin-bottom: var(--spectrum-global-dimension-size-300); margin-left: var(--spectrum-global-dimension-size-300); - p { - font-size: larger; - } - `}> - {cloneElement(header, { - className: ' ', - css: css` - margin: 0 !important; - ` - })} -
-
- {cloneElement(text, { - className: ' ', - css: css` - margin: 0 !important; + margin-bottom: 0.5rem; + font-size: 1rem; + line-height: 1.3rem; ` })} -
- ); - } - else { - return ( -
- -
- {cloneElement(text, { - className: ' ', - css: css` - margin: 0 !important; - ` - })} -
-
- ); - } + +
+ ); + }; -}; InlineAlert.propTypes = { variant: PropTypes.string, diff --git a/src/pages/documentation/base-extensions/index.md b/src/pages/documentation/base-extensions/index.md new file mode 100644 index 0000000000..e7fa5792f5 --- /dev/null +++ b/src/pages/documentation/base-extensions/index.md @@ -0,0 +1,23 @@ +--- +title: Base extensions +description: Learn about the extensions that are core to using Mobile SDK. +keywords: +- Product overview +- Mobile SDK +--- + +# Base extensions + +The base extensions are extensions that are required to use Mobile SDK. + +## Extensions + +* [Mobile Core](./mobile-core/index.md) + * [Configuration](./mobile-core/configuration/index.md) + * [Identity](./mobile-core/identity/index.md) + * [Lifecycle](./mobile-core/lifecycle/index.md) + * [Platform Services](./mobile-core/platform-services/index.md) + * [Rules Engine](./mobile-core/rules-engine/index.md) + * [Signal](./mobile-core/signal/index.md) +* [Adobe Experience Platform Assurance](./platform-assurance-sdk/index.md) +* [Profile](./profile/index.md) diff --git a/src/pages/documentation/edge-extensions/index.md b/src/pages/documentation/edge-extensions/index.md new file mode 100644 index 0000000000..3070b6ccdc --- /dev/null +++ b/src/pages/documentation/edge-extensions/index.md @@ -0,0 +1,20 @@ +--- +title: Edge extensions +description: An overview listing the available extensions on Edge for the Adobe Experience Platform Mobile SDK. +keyword: +- Overview +--- + +# Edge extensions + +Edge extensions are extensions that you can use with the Mobile SDKs that are built on the Edge. + +## Extensions + +* [Adobe Journey Optimizer](./adobe-journey-optimizer/index.md) +* [Adobe Journey Optimizer - Decisioning](./adobe-journey-optimizer-decisioning/index.md) +* [Adobe Experience Platform Edge Network](./edge-network/index.md) +* [Consent for Edge Network](./consent-for-edge-network/index.md) +* [Identity for Edge Network](./identity-for-edge-network/index.md) +* [Lifecycle for Edge Network](./lifecycle-for-edge-network/index.md) +* [Media for Edge Network](./media-for-edge-network/index.md) diff --git a/src/pages/documentation/experience-cloud-extensions.md b/src/pages/documentation/experience-cloud-extensions.md deleted file mode 100644 index eef8f62983..0000000000 --- a/src/pages/documentation/experience-cloud-extensions.md +++ /dev/null @@ -1,22 +0,0 @@ ---- -title: Experience Cloud extensions -description: An overview listing the available Experience Cloud mobile extensions for the Adobe Experience Platform Mobile SDK. -keywords: -- Overview ---- - -# Experience Cloud extensions - -Experience Cloud extensions are extensions that directly connect with Experience Cloud solutions. You can use these extensions if you need to connect to other Adobe solutions such as Adobe Analytics or Adobe Target. - -## Extensions - -* [Adobe Analytics](./adobe-analytics/index.md) -* [Adobe Streaming Media for Edge Network](./media-for-edge-network/index.md) -* [Adobe Media Analytics](./adobe-media-analytics/index.md) -* [Adobe Audience Manager](./adobe-audience-manager/index.md) -* [Adobe Campaign Classic](./adobe-campaign-classic/index.md) -* [Adobe Campaign Standard](./adobe-campaign-standard/index.md) -* [Adobe Journey Optimizer](./adobe-journey-optimizer/index.md) -* [Adobe Journey Optimizer Decisioning](./adobe-journey-optimizer-decisioning/index.md) -* [Adobe Target](./adobe-target/) diff --git a/src/pages/documentation/mobile-foundation-extensions.md b/src/pages/documentation/mobile-foundation-extensions.md deleted file mode 100644 index 1fbd51fcda..0000000000 --- a/src/pages/documentation/mobile-foundation-extensions.md +++ /dev/null @@ -1,27 +0,0 @@ ---- -title: Mobile foundation extensions -description: An overview listing the available mobile foundation extensions for the Adobe Experience Platform Mobile SDK. -keyword: -- Overview ---- - -# Mobile foundation extensions - -Mobile foundation extensions are the main extensions you can use when using the Mobile SDKs. These extensions are highly recommended to use when you are implementing your own mobile solution. - -## Extensions - -* [Mobile Core](./mobile-core/index.md) - * [Configuration](./mobile-core/configuration/index.md) - * [Identity](./mobile-core/identity/index.md) - * [Lifecycle](./mobile-core/lifecycle/index.md) - * [Signal](./mobile-core/signal/index.md) - * [Rules Engine](./mobile-core/rules-engine/index.md) - * [Platform Services](./mobile-core/platform-services/index.md) -* [Adobe Experience Platform Edge Network](./edge-network/index.md) -* [Consent for Edge Network](./consent-for-edge-network/index.md) -* [Identity for Edge Network](./identity-for-edge-network/index.md) -* [Lifecycle for Edge Network](./lifecycle-for-edge-network/index.md) -* [Adobe Experience Platform Assurance](./platform-assurance-sdk/index.md) -* [Adobe Experience Platform Location Service](./places/index.md) -* [Profile](./profile/index.md) diff --git a/src/pages/documentation/user-guides/app-extension.md b/src/pages/documentation/resources/user-guides/app-extension.md similarity index 100% rename from src/pages/documentation/user-guides/app-extension.md rename to src/pages/documentation/resources/user-guides/app-extension.md diff --git a/src/pages/documentation/user-guides/assets/attach-data/rule-complete.png b/src/pages/documentation/resources/user-guides/assets/attach-data/rule-complete.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/rule-complete.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/rule-complete.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/set-action.png b/src/pages/documentation/resources/user-guides/assets/attach-data/set-action.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/set-action.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/set-action.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/set-event.png b/src/pages/documentation/resources/user-guides/assets/attach-data/set-event.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/set-event.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/set-event.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-data-element-setup.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-data-element-setup.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-data-element-setup.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-data-element-setup.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-event-setup.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png diff --git a/src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup.png b/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup.png similarity index 100% rename from src/pages/documentation/user-guides/assets/attach-data/target-attach-data-rule-setup.png rename to src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup.png diff --git a/src/pages/documentation/user-guides/assets/modify-data/rule-complete-modify-data.png b/src/pages/documentation/resources/user-guides/assets/modify-data/rule-complete-modify-data.png similarity index 100% rename from src/pages/documentation/user-guides/assets/modify-data/rule-complete-modify-data.png rename to src/pages/documentation/resources/user-guides/assets/modify-data/rule-complete-modify-data.png diff --git a/src/pages/documentation/user-guides/assets/modify-data/set-action-analytics.png b/src/pages/documentation/resources/user-guides/assets/modify-data/set-action-analytics.png similarity index 100% rename from src/pages/documentation/user-guides/assets/modify-data/set-action-analytics.png rename to src/pages/documentation/resources/user-guides/assets/modify-data/set-action-analytics.png diff --git a/src/pages/documentation/user-guides/assets/modify-data/set-action-json.png b/src/pages/documentation/resources/user-guides/assets/modify-data/set-action-json.png similarity index 100% rename from src/pages/documentation/user-guides/assets/modify-data/set-action-json.png rename to src/pages/documentation/resources/user-guides/assets/modify-data/set-action-json.png diff --git a/src/pages/documentation/user-guides/assets/modify-data/set-event.png b/src/pages/documentation/resources/user-guides/assets/modify-data/set-event.png similarity index 100% rename from src/pages/documentation/user-guides/assets/modify-data/set-event.png rename to src/pages/documentation/resources/user-guides/assets/modify-data/set-event.png diff --git a/src/pages/documentation/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png b/src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png similarity index 100% rename from src/pages/documentation/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png rename to src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png diff --git a/src/pages/documentation/user-guides/assets/tags-data-elements/data-elements-create-rule.png b/src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-rule.png similarity index 100% rename from src/pages/documentation/user-guides/assets/tags-data-elements/data-elements-create-rule.png rename to src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-rule.png diff --git a/src/pages/documentation/user-guides/attach-data.md b/src/pages/documentation/resources/user-guides/attach-data.md similarity index 100% rename from src/pages/documentation/user-guides/attach-data.md rename to src/pages/documentation/resources/user-guides/attach-data.md diff --git a/src/pages/documentation/user-guides/building-mobile-extensions.md b/src/pages/documentation/resources/user-guides/building-mobile-extensions.md similarity index 100% rename from src/pages/documentation/user-guides/building-mobile-extensions.md rename to src/pages/documentation/resources/user-guides/building-mobile-extensions.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/create-datastream.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/create-datastream.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/create-datastream.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/create-datastream.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/development-icon.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/development-icon.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/development-icon.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/development-icon.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png b/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/overview.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/overview.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/rules-and-xdm-events.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/rules-and-xdm-events.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/sample-xdm-implementation.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/sample-xdm-implementation.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md diff --git a/src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md similarity index 100% rename from src/pages/documentation/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md rename to src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md diff --git a/src/pages/documentation/user-guides/index.md b/src/pages/documentation/resources/user-guides/index.md similarity index 100% rename from src/pages/documentation/user-guides/index.md rename to src/pages/documentation/resources/user-guides/index.md diff --git a/src/pages/documentation/user-guides/modify-data.md b/src/pages/documentation/resources/user-guides/modify-data.md similarity index 100% rename from src/pages/documentation/user-guides/modify-data.md rename to src/pages/documentation/resources/user-guides/modify-data.md diff --git a/src/pages/documentation/user-guides/tabs/attach-data/attaching-data/analytics.md b/src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/analytics.md similarity index 100% rename from src/pages/documentation/user-guides/tabs/attach-data/attaching-data/analytics.md rename to src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/analytics.md diff --git a/src/pages/documentation/user-guides/tabs/attach-data/attaching-data/target.md b/src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/target.md similarity index 100% rename from src/pages/documentation/user-guides/tabs/attach-data/attaching-data/target.md rename to src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/target.md diff --git a/src/pages/documentation/user-guides/tags-data-elements.md b/src/pages/documentation/resources/user-guides/tags-data-elements.md similarity index 100% rename from src/pages/documentation/user-guides/tags-data-elements.md rename to src/pages/documentation/resources/user-guides/tags-data-elements.md diff --git a/src/pages/documentation/solution-extensions/index.md b/src/pages/documentation/solution-extensions/index.md new file mode 100644 index 0000000000..5f8790af86 --- /dev/null +++ b/src/pages/documentation/solution-extensions/index.md @@ -0,0 +1,20 @@ +--- +title: Solution extensions +description: An overview listing the available Experience Cloud mobile extensions for the Adobe Experience Platform Mobile SDK. +keywords: +- Overview +--- + +# Solution extensions + +Solution extensions are extensions that directly connect with Experience Cloud solutions. You can use these extensions if you need to connect to other Adobe solutions such as Adobe Analytics or Adobe Target. + +## Extensions + +* [Adobe Analytics](./adobe-analytics/index.md) +* [Adobe Media Analytics](./adobe-media-analytics/index.md) +* [Adobe Audience Manager](./adobe-audience-manager/index.md) +* [Adobe Campaign Classic](./adobe-campaign-classic/index.md) +* [Adobe Campaign Standard](./adobe-campaign-standard/index.md) +* [Adobe Target](./adobe-target/index.md) +* [Places](./places/index.md) From 97ebe054dfabb3354045caba92d12eeea995fec0 Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Thu, 5 Oct 2023 17:43:04 -0700 Subject: [PATCH 05/12] More movement --- gatsby-config.js | 52 ++++++++++-------- .../current-sdk-versions.md | 0 .../configure-datastream.png | Bin .../create-datastream.png | Bin .../configure-extension.png | Bin .../create-mobile-property.png | Bin .../assets/index/edge-network-integration.png | Bin .../index/solution-specific-integration.png | Bin .../create-dataset.png | Bin .../create-schema.png | Bin .../assets/validate/assurance-analytics.png | Bin .../assets/validate/assurance-places.png | Bin .../validate/configuration-response.png | Bin .../getting-started/configure-datastreams.md | 0 .../create-a-mobile-property.md | 0 .../getting-started/enable-debug-logging.md | 0 .../getting-started/get-the-sdk.md | 0 .../getting-started/index.md | 0 .../set-up-schemas-and-datasets.md | 0 .../tabs/enable-debug-logging.md | 0 .../getting-started/tabs/get-the-sdk.md | 0 .../getting-started/tabs/track-events.md | 0 .../getting-started/track-events.md | 0 .../getting-started/validate.md | 0 src/pages/documentation/{ => home}/index.md | 0 .../{resources => home}/release-notes/2021.md | 0 .../{resources => home}/release-notes/2022.md | 0 .../release-notes/index.md | 0 28 files changed, 29 insertions(+), 23 deletions(-) rename src/pages/documentation/{resources => home}/current-sdk-versions.md (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/configure-datastreams/configure-datastream.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/configure-datastreams/create-datastream.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/create-a-mobile-property/configure-extension.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/create-a-mobile-property/create-mobile-property.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/index/edge-network-integration.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/index/solution-specific-integration.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/set-up-schemas-and-datasets/create-schema.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/validate/assurance-analytics.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/validate/assurance-places.png (100%) rename src/pages/documentation/{resources => home}/getting-started/assets/validate/configuration-response.png (100%) rename src/pages/documentation/{resources => home}/getting-started/configure-datastreams.md (100%) rename src/pages/documentation/{resources => home}/getting-started/create-a-mobile-property.md (100%) rename src/pages/documentation/{resources => home}/getting-started/enable-debug-logging.md (100%) rename src/pages/documentation/{resources => home}/getting-started/get-the-sdk.md (100%) rename src/pages/documentation/{resources => home}/getting-started/index.md (100%) rename src/pages/documentation/{resources => home}/getting-started/set-up-schemas-and-datasets.md (100%) rename src/pages/documentation/{resources => home}/getting-started/tabs/enable-debug-logging.md (100%) rename src/pages/documentation/{resources => home}/getting-started/tabs/get-the-sdk.md (100%) rename src/pages/documentation/{resources => home}/getting-started/tabs/track-events.md (100%) rename src/pages/documentation/{resources => home}/getting-started/track-events.md (100%) rename src/pages/documentation/{resources => home}/getting-started/validate.md (100%) rename src/pages/documentation/{ => home}/index.md (100%) rename src/pages/documentation/{resources => home}/release-notes/2021.md (100%) rename src/pages/documentation/{resources => home}/release-notes/2022.md (100%) rename src/pages/documentation/{resources => home}/release-notes/index.md (100%) diff --git a/gatsby-config.js b/gatsby-config.js index e9244b1f42..26a832d893 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -21,9 +21,10 @@ module.exports = { path: '/client-sdks/previous-versions/' } ], - pages: [{ - title: "Resources", - path: "/documentation/resources" + pages: [ + { + title: "Home", + path: "/documentation/home" }, { title: "Base extensions", @@ -36,67 +37,72 @@ module.exports = { { title: "Solution-specific extensions", path: "/documentation/solution-extensions" + }, + { + title: "Resources", + path: "/documentation/resources" } ], - subPages: [{ + subPages: [ + { title: "Home", - path: "/documentation" + path: "/documentation/home" }, { title: "Current SDK versions", - path: "documentation/resources/current-sdk-versions" + path: "/documentation/home/current-sdk-versions" }, { title: "Release notes", - path: "/documentation/resources/release-notes", + path: "/documentation/home/release-notes", pages: [{ title: "2023", - path: "/documentation/resources/release-notes" + path: "/documentation/home/release-notes" }, { title: "2022", - path: "/documentation/resources/release-notes/2022" + path: "/documentation/home/release-notes/2022" }, { title: "2021", - path: "/documentation/resources/release-notes/2021" + path: "/documentation/home/release-notes/2021" } ] }, { title: "Getting started", - path: "/documentation/resources/getting-started", + path: "/documentation/home/getting-started", pages: [{ title: "Overview", - path: "/documentation/resources/getting-started" + path: "/documentation/home/getting-started" }, { title: "Set up schemas and datasets", - path: "/documentation/resources/getting-started/set-up-schemas-and-datasets" + path: "/documentation/home/getting-started/set-up-schemas-and-datasets" }, { title: "Configure datastreams", - path: "/documentation/resources/getting-started/configure-datastreams" + path: "/documentation/home/getting-started/configure-datastreams" }, { title: "Set up a mobile property", - path: "/documentation/resources/getting-started/create-a-mobile-property" + path: "/documentation/home/getting-started/create-a-mobile-property" }, { title: "Get the Experience Platform SDK", - path: "/documentation/resources/getting-started/get-the-sdk" + path: "/documentation/home/getting-started/get-the-sdk" }, { title: "Debugging and lifecycle metrics", - path: "/documentation/resources/getting-started/enable-debug-logging" + path: "/documentation/home/getting-started/enable-debug-logging" }, { title: "Track events", - path: "/documentation/resources/getting-started/track-events" + path: "/documentation/home/getting-started/track-events" }, { title: "Validation and next steps", - path: "/documentation/resources/getting-started/validate" + path: "/documentation/home/getting-started/validate" } ] }, @@ -693,18 +699,18 @@ module.exports = { }, { title: "Getting started with Platform", - path: "documentation/resources/user-guides/resources/getting-started-with-platform/overview", + path: "documentation/resources/user-guides/getting-started-with-platform/overview", pages: [{ title: "Overview", - path: "documentation/resources/user-guides/resources/getting-started-with-platform/overview" + path: "documentation/resources/user-guides/getting-started-with-platform/overview" }, { title: "Sample XDM implementation", - path: "documentation/resources/user-guides/resources/getting-started-with-platform/sample-xdm-implementation" + path: "documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation" }, { title: "Rules and XDM events", - path: "documentation/resources/user-guides/resources/getting-started-with-platform/rules-and-xdm-events" + path: "documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events" } ] }, diff --git a/src/pages/documentation/resources/current-sdk-versions.md b/src/pages/documentation/home/current-sdk-versions.md similarity index 100% rename from src/pages/documentation/resources/current-sdk-versions.md rename to src/pages/documentation/home/current-sdk-versions.md diff --git a/src/pages/documentation/resources/getting-started/assets/configure-datastreams/configure-datastream.png b/src/pages/documentation/home/getting-started/assets/configure-datastreams/configure-datastream.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/configure-datastreams/configure-datastream.png rename to src/pages/documentation/home/getting-started/assets/configure-datastreams/configure-datastream.png diff --git a/src/pages/documentation/resources/getting-started/assets/configure-datastreams/create-datastream.png b/src/pages/documentation/home/getting-started/assets/configure-datastreams/create-datastream.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/configure-datastreams/create-datastream.png rename to src/pages/documentation/home/getting-started/assets/configure-datastreams/create-datastream.png diff --git a/src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/configure-extension.png b/src/pages/documentation/home/getting-started/assets/create-a-mobile-property/configure-extension.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/configure-extension.png rename to src/pages/documentation/home/getting-started/assets/create-a-mobile-property/configure-extension.png diff --git a/src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/create-mobile-property.png b/src/pages/documentation/home/getting-started/assets/create-a-mobile-property/create-mobile-property.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/create-a-mobile-property/create-mobile-property.png rename to src/pages/documentation/home/getting-started/assets/create-a-mobile-property/create-mobile-property.png diff --git a/src/pages/documentation/resources/getting-started/assets/index/edge-network-integration.png b/src/pages/documentation/home/getting-started/assets/index/edge-network-integration.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/index/edge-network-integration.png rename to src/pages/documentation/home/getting-started/assets/index/edge-network-integration.png diff --git a/src/pages/documentation/resources/getting-started/assets/index/solution-specific-integration.png b/src/pages/documentation/home/getting-started/assets/index/solution-specific-integration.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/index/solution-specific-integration.png rename to src/pages/documentation/home/getting-started/assets/index/solution-specific-integration.png diff --git a/src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png b/src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png rename to src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png diff --git a/src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-schema.png b/src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-schema.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/set-up-schemas-and-datasets/create-schema.png rename to src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-schema.png diff --git a/src/pages/documentation/resources/getting-started/assets/validate/assurance-analytics.png b/src/pages/documentation/home/getting-started/assets/validate/assurance-analytics.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/validate/assurance-analytics.png rename to src/pages/documentation/home/getting-started/assets/validate/assurance-analytics.png diff --git a/src/pages/documentation/resources/getting-started/assets/validate/assurance-places.png b/src/pages/documentation/home/getting-started/assets/validate/assurance-places.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/validate/assurance-places.png rename to src/pages/documentation/home/getting-started/assets/validate/assurance-places.png diff --git a/src/pages/documentation/resources/getting-started/assets/validate/configuration-response.png b/src/pages/documentation/home/getting-started/assets/validate/configuration-response.png similarity index 100% rename from src/pages/documentation/resources/getting-started/assets/validate/configuration-response.png rename to src/pages/documentation/home/getting-started/assets/validate/configuration-response.png diff --git a/src/pages/documentation/resources/getting-started/configure-datastreams.md b/src/pages/documentation/home/getting-started/configure-datastreams.md similarity index 100% rename from src/pages/documentation/resources/getting-started/configure-datastreams.md rename to src/pages/documentation/home/getting-started/configure-datastreams.md diff --git a/src/pages/documentation/resources/getting-started/create-a-mobile-property.md b/src/pages/documentation/home/getting-started/create-a-mobile-property.md similarity index 100% rename from src/pages/documentation/resources/getting-started/create-a-mobile-property.md rename to src/pages/documentation/home/getting-started/create-a-mobile-property.md diff --git a/src/pages/documentation/resources/getting-started/enable-debug-logging.md b/src/pages/documentation/home/getting-started/enable-debug-logging.md similarity index 100% rename from src/pages/documentation/resources/getting-started/enable-debug-logging.md rename to src/pages/documentation/home/getting-started/enable-debug-logging.md diff --git a/src/pages/documentation/resources/getting-started/get-the-sdk.md b/src/pages/documentation/home/getting-started/get-the-sdk.md similarity index 100% rename from src/pages/documentation/resources/getting-started/get-the-sdk.md rename to src/pages/documentation/home/getting-started/get-the-sdk.md diff --git a/src/pages/documentation/resources/getting-started/index.md b/src/pages/documentation/home/getting-started/index.md similarity index 100% rename from src/pages/documentation/resources/getting-started/index.md rename to src/pages/documentation/home/getting-started/index.md diff --git a/src/pages/documentation/resources/getting-started/set-up-schemas-and-datasets.md b/src/pages/documentation/home/getting-started/set-up-schemas-and-datasets.md similarity index 100% rename from src/pages/documentation/resources/getting-started/set-up-schemas-and-datasets.md rename to src/pages/documentation/home/getting-started/set-up-schemas-and-datasets.md diff --git a/src/pages/documentation/resources/getting-started/tabs/enable-debug-logging.md b/src/pages/documentation/home/getting-started/tabs/enable-debug-logging.md similarity index 100% rename from src/pages/documentation/resources/getting-started/tabs/enable-debug-logging.md rename to src/pages/documentation/home/getting-started/tabs/enable-debug-logging.md diff --git a/src/pages/documentation/resources/getting-started/tabs/get-the-sdk.md b/src/pages/documentation/home/getting-started/tabs/get-the-sdk.md similarity index 100% rename from src/pages/documentation/resources/getting-started/tabs/get-the-sdk.md rename to src/pages/documentation/home/getting-started/tabs/get-the-sdk.md diff --git a/src/pages/documentation/resources/getting-started/tabs/track-events.md b/src/pages/documentation/home/getting-started/tabs/track-events.md similarity index 100% rename from src/pages/documentation/resources/getting-started/tabs/track-events.md rename to src/pages/documentation/home/getting-started/tabs/track-events.md diff --git a/src/pages/documentation/resources/getting-started/track-events.md b/src/pages/documentation/home/getting-started/track-events.md similarity index 100% rename from src/pages/documentation/resources/getting-started/track-events.md rename to src/pages/documentation/home/getting-started/track-events.md diff --git a/src/pages/documentation/resources/getting-started/validate.md b/src/pages/documentation/home/getting-started/validate.md similarity index 100% rename from src/pages/documentation/resources/getting-started/validate.md rename to src/pages/documentation/home/getting-started/validate.md diff --git a/src/pages/documentation/index.md b/src/pages/documentation/home/index.md similarity index 100% rename from src/pages/documentation/index.md rename to src/pages/documentation/home/index.md diff --git a/src/pages/documentation/resources/release-notes/2021.md b/src/pages/documentation/home/release-notes/2021.md similarity index 100% rename from src/pages/documentation/resources/release-notes/2021.md rename to src/pages/documentation/home/release-notes/2021.md diff --git a/src/pages/documentation/resources/release-notes/2022.md b/src/pages/documentation/home/release-notes/2022.md similarity index 100% rename from src/pages/documentation/resources/release-notes/2022.md rename to src/pages/documentation/home/release-notes/2022.md diff --git a/src/pages/documentation/resources/release-notes/index.md b/src/pages/documentation/home/release-notes/index.md similarity index 100% rename from src/pages/documentation/resources/release-notes/index.md rename to src/pages/documentation/home/release-notes/index.md From a0e23452f14d120a28dcf97293cdccedf7751de0 Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Fri, 6 Oct 2023 17:15:05 -0700 Subject: [PATCH 06/12] Link fix --- gatsby-config.js | 10 +++++----- .../base-extensions/mobile-core/api-reference.md | 8 ++++---- .../mobile-core/configuration/api-reference.md | 4 ++-- .../mobile-core/configuration/index.md | 4 ++-- .../mobile-core/identity/api-reference.md | 14 +++++++------- .../mobile-core/identity/push-sync.md | 2 +- .../mobile-core/lifecycle/api-reference.md | 2 +- .../mobile-core/lifecycle/event-reference.md | 8 ++++---- .../base-extensions/mobile-core/lifecycle/ios.md | 4 ++-- .../mobile-core/lifecycle/tabs/index.md | 2 +- .../rules-engine/consequence-details.md | 6 +++--- .../mobile-core/signal/api-reference.md | 4 ++-- .../base-extensions/mobile-core/signal/index.md | 2 +- .../signal/rules-engine-integration.md | 2 +- .../mobile-core/signal/tabs/index.md | 2 +- .../platform-assurance-sdk/common-issues.md | 2 +- .../platform-assurance-sdk/tabs/index.md | 2 +- .../base-extensions/profile/api-reference.md | 2 +- .../base-extensions/profile/tabs/index.md | 2 +- .../api-reference.md | 4 ++-- .../adobe-journey-optimizer-decisioning/index.md | 16 ++++++++-------- .../tabs/api-reference.md | 2 +- .../tabs/index.md | 2 +- .../adobe-journey-optimizer/api-reference.md | 2 +- .../adobe-journey-optimizer/index.md | 14 +++++++------- .../adobe-journey-optimizer/tabs/index.md | 2 +- .../tutorials/tabs/native-from-javascript.md | 2 +- .../tutorials/validate-messages.md | 6 +++--- 28 files changed, 66 insertions(+), 66 deletions(-) diff --git a/gatsby-config.js b/gatsby-config.js index 26a832d893..020d6a12c7 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -585,22 +585,22 @@ module.exports = { { title: "Adobe Experience Platform Location Service", - path: "/documentation/places", + path: "/documentation/solution-extensions/places", pages: [{ title: "Overview", - path: "/documentation/places" + path: "/documentation/solution-extensions/places" }, { title: "API reference", - path: "documentation/places/api-reference.md" + path: "documentation/solution-extensions/places/api-reference.md" }, { title: "Event forwarding to Adobe Experience Platform", - path: "documentation/places/places-to-platform.md" + path: "documentation/solution-extensions/places/places-to-platform.md" }, { title: "Release notes", - path: "documentation/places/release-notes.md" + path: "documentation/solution-extensions/places/release-notes.md" } ] }, diff --git a/src/pages/documentation/base-extensions/mobile-core/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/api-reference.md index 25488695d2..67251a52c0 100644 --- a/src/pages/documentation/base-extensions/mobile-core/api-reference.md +++ b/src/pages/documentation/base-extensions/mobile-core/api-reference.md @@ -16,7 +16,7 @@ Programmatic updates made to the configuration can be cleared via the `clearUpda ## collectMessageInfo -User interactions with local or push notifications can be tracked by invoking the `collectMessageInfo` API. Please refer to [this page](../../documentation/adobe-campaign-standard#tracking-local-and-push-notification-message-interactions) for more information about tracking local and push notification message interactions. +User interactions with local or push notifications can be tracked by invoking the `collectMessageInfo` API. Please refer to [this page](../../solution-extensions/adobe-campaign-standard/index.md#tracking-local-and-push-notification-message-interactions) for more information about tracking local and push notification message interactions. ## collectLaunchInfo @@ -128,7 +128,7 @@ iOS ## getPrivacyStatus -You can use the `getPrivacyStatus` API to retrieve the current privacy status. For more information about privacy in Mobile Core, please see [Privacy and GDPR](../resources/privacy-and-gdpr.md#getprivacystatus) +You can use the `getPrivacyStatus` API to retrieve the current privacy status. For more information about privacy in Mobile Core, please see [Privacy and GDPR](../../resources/privacy-and-gdpr.md#getprivacystatus) ## getSdkIdentities @@ -147,7 +147,7 @@ To retrieve data as a JSON string from the SDKs and send this data to your serve -You must call the API below and retrieve identities stored in the SDK, **before** the user opts out.

This API does **not** include the identities stored in the Edge Identity extension. To retrieve the identities from the Edge Identity extension, use [getIdentities](../identity-for-edge-network/api-reference.md#getidentities). +You must call the API below and retrieve identities stored in the SDK, **before** the user opts out.

This API does **not** include the identities stored in the Edge Identity extension. To retrieve the identities from the Edge Identity extension, use [getIdentities](../../edge-extensions/identity-for-edge-network/api-reference.md#getidentities). @@ -332,7 +332,7 @@ Flutter ## setPrivacyStatus -You can use the `setPrivacyStatus` API to set the privacy status. For more information about privacy in Mobile Core, please see [Privacy and GDPR](../resources/privacy-and-gdpr.md#setprivacystatus) API's. +You can use the `setPrivacyStatus` API to set the privacy status. For more information about privacy in Mobile Core, please see [Privacy and GDPR](../../resources/privacy-and-gdpr.md#setprivacystatus) API's. ## setPushIdentifier diff --git a/src/pages/documentation/base-extensions/mobile-core/configuration/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/configuration/api-reference.md index e266778dfc..54a75379a8 100644 --- a/src/pages/documentation/base-extensions/mobile-core/configuration/api-reference.md +++ b/src/pages/documentation/base-extensions/mobile-core/configuration/api-reference.md @@ -58,7 +58,7 @@ iOS This API is only available in Android. -You can bundle a JSON configuration file in the app's Assets folder to replace or complement the configuration that was downloaded by using the [Configure with App ID per environment](../#configure-with-app-id-per-environment) approach. +You can bundle a JSON configuration file in the app's Assets folder to replace or complement the configuration that was downloaded by using the [Configure with App ID per environment](./index.md#configure-with-app-id-per-environment) approach. @@ -68,7 +68,7 @@ Android ## configureWithFileInPath -You can include a bundled JSON configuration file in your app package to replace or complement the configuration that was downloaded by using the [Configure with App ID per environment](../#configure-with-app-id-per-environment) approach. +You can include a bundled JSON configuration file in your app package to replace or complement the configuration that was downloaded by using the [Configure with App ID per environment](./index.md#configure-with-app-id-per-environment) approach. To pass in a bundled path and file name: diff --git a/src/pages/documentation/base-extensions/mobile-core/configuration/index.md b/src/pages/documentation/base-extensions/mobile-core/configuration/index.md index 9bca8ce43e..2a3562f2b1 100644 --- a/src/pages/documentation/base-extensions/mobile-core/configuration/index.md +++ b/src/pages/documentation/base-extensions/mobile-core/configuration/index.md @@ -46,7 +46,7 @@ Keys that are not found on the current configuration are added when this method -Do not use this API to update the build.environment or any key with an environment prefix, because it can lead to unexpected behavior. For more information, read [Environment-aware configuration properties](./index.md#environment-aware-configuration-properties). +Do not use this API to update the build.environment or any key with an environment prefix, because it can lead to unexpected behavior. For more information, read [Environment-aware configuration properties](#environment-aware-configuration-properties). @@ -74,7 +74,7 @@ For implementation details, please refer to [Configuration API reference](./api- ## Using a bundled file configuration -You can include a bundled JSON configuration file in your app package to replace or complement the configuration that was downloaded by using the [Configure with App ID per environment](./index.md#configure-with-app-id-per-environment) approach. +You can include a bundled JSON configuration file in your app package to replace or complement the configuration that was downloaded by using the [Configure with App ID per environment](#configure-with-app-id-per-environment) approach. To download the JSON configuration file, use the following URL: diff --git a/src/pages/documentation/base-extensions/mobile-core/identity/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/identity/api-reference.md index 016be8e940..012db98755 100644 --- a/src/pages/documentation/base-extensions/mobile-core/identity/api-reference.md +++ b/src/pages/documentation/base-extensions/mobile-core/identity/api-reference.md @@ -21,9 +21,9 @@ If the provided URL is null or empty, it is returned as is. Otherwise, the follo * The `adobe_mc` attribute is a URL encoded list that contains: * `MCMID` - Experience Cloud ID (ECID) * `MCORGID` - Experience Cloud Org ID - * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../adobe-analytics/api-reference.md#gettrackingidentifier) + * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../../solution-extensions/adobe-analytics/api-reference.md#gettrackingidentifier) * `TS` - A timestamp taken when this request was made -* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../adobe-analytics/api-reference.md#setvisitoridentifier). +* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../../solution-extensions/adobe-analytics/api-reference.md#setvisitoridentifier). This API is designed to handle the following URL formats: @@ -154,9 +154,9 @@ If an error occurs while retrieving the URL string, the callback handler will be * The `adobe_mc` attribute is an URL encoded list that contains: * `MCMID` - Experience Cloud ID (ECID) * `MCORGID` - Experience Cloud Org ID - * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../adobe-analytics/index.md) + * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../../solution-extensions/adobe-analytics/index.md) * `TS` - A timestamp taken when this request was made -* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../adobe-analytics/index.md). +* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../../solution-extensions/adobe-analytics/index.md). @@ -180,7 +180,7 @@ Flutter -This API is only available in Android and is deprecated starting in version 2.0.0 of the Identity extension. Use [`MobileCore.registerExtensions()`](../../api-reference.md#registerextensions) instead. +This API is only available in Android and is deprecated starting in version 2.0.0 of the Identity extension. Use [`MobileCore.registerExtensions()`](../api-reference.md#registerextensions) instead. The `registerExtension()` API registers the Identity extension with the Mobile Core extension. This API allows the extension to send and receive events to and from the Mobile SDK. @@ -203,11 +203,11 @@ Some example use cases for this API are: This API is **not** recommended for: -* Resetting a user's privacy settings; see [Privacy and GDPR](../../resources/privacy-and-gdpr.md). +* Resetting a user's privacy settings; see [Privacy and GDPR](../../../resources/privacy-and-gdpr.md). * Removing existing custom identifiers; use the [`syncIdentifier`](#syncidentifier) API instead. * Removing a previously synced advertising identifier after the advertising tracking settings were changed by the user; use the [`setAdvertisingIdentifier`](#setadvertisingidentifier) API instead. -See [`MobileCore.resetIdentities`](../../api-reference.md#resetidentities) for more details. +See [`MobileCore.resetIdentities`](../api-reference.md#resetidentities) for more details. ## setAdvertisingIdentifier diff --git a/src/pages/documentation/base-extensions/mobile-core/identity/push-sync.md b/src/pages/documentation/base-extensions/mobile-core/identity/push-sync.md index ea691da7b5..4a57906364 100644 --- a/src/pages/documentation/base-extensions/mobile-core/identity/push-sync.md +++ b/src/pages/documentation/base-extensions/mobile-core/identity/push-sync.md @@ -70,7 +70,7 @@ Launch your app with the device connected to an [Adobe Experience Platform Assur In the list of events, verify that you have an event with type `UPDATED_IDENTITY_RESPONSE`. In the details panel on the right, confirm that the following values are correct: * The value for `pushidentifier` should match the value that was sent in step 2 above. -* The value for mid should match the value for mid that is sent to Analytics. If you are using a [custom visitor identifier](../adobe-analytics/api-reference.md#setidentifier), this payload should also contain a vid variable with a value that matches the value that was used to identify this user. +* The value for mid should match the value for mid that is sent to Analytics. If you are using a [custom visitor identifier](../../../solution-extensions/adobe-analytics/api-reference.md#setidentifier), this payload should also contain a vid variable with a value that matches the value that was used to identify this user. ![Verify push identifier synced](./assets/push-sync/push-identities.png) diff --git a/src/pages/documentation/base-extensions/mobile-core/lifecycle/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/api-reference.md index 632325515a..4a35f3c34f 100644 --- a/src/pages/documentation/base-extensions/mobile-core/lifecycle/api-reference.md +++ b/src/pages/documentation/base-extensions/mobile-core/lifecycle/api-reference.md @@ -84,7 +84,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../api-reference.md#registerextensions) API instead. Registers the Lifecycle extension with the Mobile Core. diff --git a/src/pages/documentation/base-extensions/mobile-core/lifecycle/event-reference.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/event-reference.md index d894af987e..6963110c20 100644 --- a/src/pages/documentation/base-extensions/mobile-core/lifecycle/event-reference.md +++ b/src/pages/documentation/base-extensions/mobile-core/lifecycle/event-reference.md @@ -96,7 +96,7 @@ This event is a response from the Lifecycle extension to notify that the applica -To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). +To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../../edge-extensions/lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). @@ -110,7 +110,7 @@ In Android, there is a 500 millisecond timeout between consecutive `lifecycleSta #### Data payload -The Lifecycle application foreground data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application, device, and environment when the event occurred. Please refer to [Lifecycle Application Foreground metrics](../../lifecycle-for-edge-network/metrics.md#lifecycle-application-foreground-metrics) for a list of metrics included with this event. +The Lifecycle application foreground data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application, device, and environment when the event occurred. Please refer to [Lifecycle Application Foreground metrics](../../../edge-extensions/lifecycle-for-edge-network/metrics.md#lifecycle-application-foreground-metrics) for a list of metrics included with this event. ### Lifecycle application background @@ -123,7 +123,7 @@ The event is generated by the Lifecycle extension when: -To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). +To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../../edge-extensions/lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). @@ -137,4 +137,4 @@ In Android, there is a 500 millisecond timeout between consecutive `lifecycleSta #### Data payload -The Lifecycle Application Background data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application close type and previous session length. Please refer to [Lifecycle Application Background metrics](../../lifecycle-for-edge-network/metrics.md#lifecycle-application-background-metrics) for a list of metrics included with this event. +The Lifecycle Application Background data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application close type and previous session length. Please refer to [Lifecycle Application Background metrics](../../../edge-extensions/lifecycle-for-edge-network/metrics.md#lifecycle-application-background-metrics) for a list of metrics included with this event. diff --git a/src/pages/documentation/base-extensions/mobile-core/lifecycle/ios.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/ios.md index 50e112afce..2c27e28066 100644 --- a/src/pages/documentation/base-extensions/mobile-core/lifecycle/ios.md +++ b/src/pages/documentation/base-extensions/mobile-core/lifecycle/ios.md @@ -12,7 +12,7 @@ keywords: -In version 4 of the iOS SDK, this implementation was completed automatically.

When upgrading to the Experience Platform SDK, you must add code to continue collecting Lifecycle metrics. For more information, see [Manual Lifecycle Implementation](../../upgrade-platform-sdks/lifecycle.md). +In version 4 of the iOS SDK, this implementation was completed automatically.

When upgrading to the Experience Platform SDK, you must add code to continue collecting Lifecycle metrics. For more information, see [Manual Lifecycle Implementation](../../../resources/upgrade-platform-sdks/lifecycle.md). ## Implementing Lifecycle metrics in iOS @@ -45,7 +45,7 @@ The following scenarios are known to falsely cause a crash to be reported by the * If you are debugging using Xcode, re-launching the app while it is running in the foreground will cause a crash. * You can avoid a crash in this scenario by backgrounding the app prior to re-launching the app from Xcode. * If your app is launched in the background because of an enabled background capability (e.g. - background fetch, location update), then `lifecycleStart` is called and the app never comes to the foreground, the next launch (whether in the background or foreground) will result in a crash. -* If you programmatically delete Adobe’s pause flag from `NSUserDefaults`, while the app is in the background, the next launch or resume causes a crash. +* If you programmatically delete Adobe's pause flag from `NSUserDefaults`, while the app is in the background, the next launch or resume causes a crash. ### How can I prevent false crashes from being reported? diff --git a/src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/index.md b/src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/index.md index b47898cb36..ac8e4a3315 100644 --- a/src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/index.md +++ b/src/pages/documentation/base-extensions/mobile-core/lifecycle/tabs/index.md @@ -10,7 +10,7 @@ Add the Lifecycle extension and its dependency, the [Mobile Core](../index.md) e -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/base-extensions/mobile-core/rules-engine/consequence-details.md b/src/pages/documentation/base-extensions/mobile-core/rules-engine/consequence-details.md index cfcaf72817..0272dd1a7d 100644 --- a/src/pages/documentation/base-extensions/mobile-core/rules-engine/consequence-details.md +++ b/src/pages/documentation/base-extensions/mobile-core/rules-engine/consequence-details.md @@ -17,7 +17,7 @@ The Adobe Experience Platform Mobile SDK supports multiple types of rule consequ ## Analytics consequence -This rule consequence is currently handled by the [Analytics](../../adobe-analytics/index.md) extension. +This rule consequence is currently handled by the [Analytics](../../../solution-extensions/adobe-analytics/index.md) extension. | Friendly name | Key | Type | Required | Description | | :--- | :--- | :--- | :--- | :--- | @@ -27,7 +27,7 @@ This rule consequence is currently handled by the [Analytics](../../adobe-analyt ## In-App message consequence -This rule consequence is currently handled by the [Campaign](../../adobe-campaign-standard/index.md) extension. +This rule consequence is currently handled by the [Campaign](../../../solution-extensions/adobe-campaign-standard/index.md) extension. | Friendly name | Key | Type | Required | Description | | :--- | :--- | :--- | :--- | :--- | @@ -92,4 +92,4 @@ This rule is currently handled by the [Mobile Core](../index.md) extension. | Friendly name | Key | Type | Required | Description | | :--- | :--- | :--- | :--- | :--- | -| Event data | `eventdata` | object | Yes | Dictionary of pairs to overlay on the triggering event's EventData. For more information, see the [attach data tutorial](../../user-guides/attach-data.md). | +| Event data | `eventdata` | object | Yes | Dictionary of pairs to overlay on the triggering event's EventData. For more information, see the [attach data tutorial](../../../resources/user-guides/attach-data.md). | diff --git a/src/pages/documentation/base-extensions/mobile-core/signal/api-reference.md b/src/pages/documentation/base-extensions/mobile-core/signal/api-reference.md index 9159d72779..d5b788f264 100644 --- a/src/pages/documentation/base-extensions/mobile-core/signal/api-reference.md +++ b/src/pages/documentation/base-extensions/mobile-core/signal/api-reference.md @@ -40,7 +40,7 @@ Flutter -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../api-reference.md#registerextensions) API instead. Registers the Signal extension with the Mobile Core. @@ -56,4 +56,4 @@ Android ## collectPii -The Signal extension can be used to handle `collectPii` rules. For more information, see the [collectPii](../../api-reference.md#collectpii) API. +The Signal extension can be used to handle `collectPii` rules. For more information, see the [collectPii](../api-reference.md#collectpii) API. diff --git a/src/pages/documentation/base-extensions/mobile-core/signal/index.md b/src/pages/documentation/base-extensions/mobile-core/signal/index.md index 1cfb416a78..b946366cfe 100644 --- a/src/pages/documentation/base-extensions/mobile-core/signal/index.md +++ b/src/pages/documentation/base-extensions/mobile-core/signal/index.md @@ -36,7 +36,7 @@ For more information about creating and configuring a rule in the Data Collectio -Using dynamic dependency versions is not recommended for production apps. Refer to this [page](../resources/manage-gradle-dependencies.md) for managing gradle dependencies. +Using dynamic dependency versions is not recommended for production apps. Refer to this [page](../../../resources/manage-gradle-dependencies.md) for managing gradle dependencies. diff --git a/src/pages/documentation/base-extensions/mobile-core/signal/rules-engine-integration.md b/src/pages/documentation/base-extensions/mobile-core/signal/rules-engine-integration.md index 67bb2e0cf9..16c3b45e5f 100644 --- a/src/pages/documentation/base-extensions/mobile-core/signal/rules-engine-integration.md +++ b/src/pages/documentation/base-extensions/mobile-core/signal/rules-engine-integration.md @@ -98,7 +98,7 @@ The following example shows how to use the data that is passed to the MobileCore ![Send Postback action example](./assets/rules-engine-integration/send-postback-action.png) -For more information about `collectPii` and its usage, see `collectPii` in the [Mobile Core API reference](../../api-reference.md#collectpii). +For more information about `collectPii` and its usage, see `collectPii` in the [Mobile Core API reference](../api-reference.md#collectpii). ### Using tokens in Open URL rule actions diff --git a/src/pages/documentation/base-extensions/mobile-core/signal/tabs/index.md b/src/pages/documentation/base-extensions/mobile-core/signal/tabs/index.md index 4e199a11fb..dacc8fa9b4 100644 --- a/src/pages/documentation/base-extensions/mobile-core/signal/tabs/index.md +++ b/src/pages/documentation/base-extensions/mobile-core/signal/tabs/index.md @@ -10,7 +10,7 @@ Add the Signal extension and its dependency, the [Mobile Core](../index.md) exte -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/base-extensions/platform-assurance-sdk/common-issues.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/common-issues.md index 53f28570fd..2638ab31b1 100644 --- a/src/pages/documentation/base-extensions/platform-assurance-sdk/common-issues.md +++ b/src/pages/documentation/base-extensions/platform-assurance-sdk/common-issues.md @@ -71,7 +71,7 @@ Or ensuring internet connectivity on the device/simulator. If you see an Invalid Mobile SDK Configuration error (see screenshot below), verify the following: 1. Mobile Core is [configured](../mobile-core/configuration/api-reference.md) -2. Configuration in the Data Collection UI is [published](../getting-started/create-a-mobile-property.md#publish-the-configuration) +2. Configuration in the Data Collection UI is [published](../../home/getting-started/create-a-mobile-property.md#publish-the-configuration) 3. Ensure the device/simulator has internet connectivity ![Invalid Mobile SDK configuration](./assets/common-issues/assurance-invalid-configuration-error.png) diff --git a/src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/index.md b/src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/index.md index 0893ccf53e..be2792cc53 100644 --- a/src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/index.md +++ b/src/pages/documentation/base-extensions/platform-assurance-sdk/tabs/index.md @@ -14,7 +14,7 @@ implementation 'com.adobe.marketing.mobile:assurance' -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/base-extensions/profile/api-reference.md b/src/pages/documentation/base-extensions/profile/api-reference.md index 8ccf532396..3ee8df411a 100644 --- a/src/pages/documentation/base-extensions/profile/api-reference.md +++ b/src/pages/documentation/base-extensions/profile/api-reference.md @@ -46,7 +46,7 @@ iOS -This API is only available in Android and is deprecated starting in version 2.0.0 of the UserProfile extension. Use [`MobileCore.registerExtensions()`](../api-reference.md#registerextensions) API instead. +This API is only available in Android and is deprecated starting in version 2.0.0 of the UserProfile extension. Use [`MobileCore.registerExtensions()`](../mobile-core/api-reference.md#registerextensions) API instead. Registers the Profile extension with the Mobile Core extension. diff --git a/src/pages/documentation/base-extensions/profile/tabs/index.md b/src/pages/documentation/base-extensions/profile/tabs/index.md index 5a98ecd7af..ef03bbfca7 100644 --- a/src/pages/documentation/base-extensions/profile/tabs/index.md +++ b/src/pages/documentation/base-extensions/profile/tabs/index.md @@ -14,7 +14,7 @@ implementation 'com.adobe.marketing.mobile:userprofile' -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md index 0cef0c02f0..0cbf38372e 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md @@ -70,7 +70,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. @@ -85,7 +85,7 @@ Android This API call can lead to unintended SDK behavior, e.g. resetting of Experience Cloud ID (ECID). So it should be sparingly used and caution should be followed! This `MobileCore` API is a request to each extension to reset its identities. Every extension responds to this request in its own unique manner. For example, Optimize extension uses this API call to clear out its client-side in-memory propositions cache. -For details on syntax, usage and availability, refer to [Mobile Core - Reset identities](../mobile-core/api-reference.md#resetidentities). +For details on syntax, usage and availability, refer to [Mobile Core - Reset identities](../../base-extensions/mobile-core/api-reference.md#resetidentities). ## updatePropositions diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md index 9ae5ae698a..959ed29da2 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md @@ -24,7 +24,7 @@ Before starting, make sure the following steps are completed. ### Configure the Datastream for Adobe Target and/or Journey Optimizer - Offer Decisioning -On [Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/), navigate to **Data Collection** > **Datatreams** using the left navigation panel. Select an existing datastream or create a new datastream. For more details, see the [configure datastreams guide](../getting-started/configure-datastreams.md). +On [Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/), navigate to **Data Collection** > **Datatreams** using the left navigation panel. Select an existing datastream or create a new datastream. For more details, see the [configure datastreams guide](../../home/getting-started/configure-datastreams.md). 1. In the datastream, click on the desired environment from the list. Make sure **Adobe Experience Platform** section is enabled and configured with the required information like **Sandbox** and **Event Dataset**. 2. For Journey Optimizer - Offer Decisioning, navigate to **Adobe Experience Platform** section and enable **Offer Decisioning** checkbox. @@ -40,7 +40,7 @@ On [Experience Platform Data Collection](https://experience.adobe.com/#/data-col 1. In your mobile property, navigate to **Extensions** in the left navigation panel and click on the **Catalog** tab. 2. In the extensions Catalog, search or locate the **Adobe Journey Optimizer - Decisioning** extension, and click **Install**. 3. Since an extension configuration is not necessary, click **Save**. -4. Follow the publishing process to update SDK configuration. For more details, see the [publish the configuration guide](../getting-started/create-a-mobile-property.md.md#publish-the-configuration). +4. Follow the publishing process to update SDK configuration. For more details, see the [publish the configuration guide](../../home/getting-started/create-a-mobile-property.md#publish-the-configuration). ![Adobe Journey Optimizer - Decisioning extension configuration](./assets/index/configuration.png) @@ -48,7 +48,7 @@ On [Experience Platform Data Collection](https://experience.adobe.com/#/data-col -For the AEPOptimize APIs to work properly, you need to integrate Mobile Core and Edge extensions in your mobile app. For more details see, documentation on [Mobile Core](../mobile-core/index.md) and [Adobe Experience Platform Edge Network](../edge-network/index.md). +For the AEPOptimize APIs to work properly, you need to integrate Mobile Core and Edge extensions in your mobile app. For more details see, documentation on [Mobile Core](../../base-extensions/mobile-core/index.md) and [Adobe Experience Platform Edge Network](../../edge-extensions/edge-network/index.md). ### Install the Experience Platform Mobile SDK @@ -143,7 +143,7 @@ To use Target Third Party ID in the Experience Edge mobile workflows, the corres ![Target Third Party ID configuration](./assets/index/target-tpid.png) -In your mobile application, integrate the Identity for Edge Network extension to add the Target Third Party ID in the Identity Map in the personalization query request to the Edge network when calling the `updatePropositions` API. For more details, see the [Identity for Edge Network - updateIdentities API](../identity-for-edge-network/api-reference.md#updateidentities). +In your mobile application, integrate the Identity for Edge Network extension to add the Target Third Party ID in the Identity Map in the personalization query request to the Edge network when calling the `updatePropositions` API. For more details, see the [Identity for Edge Network - updateIdentities API](../../edge-extensions/identity-for-edge-network/api-reference.md#updateidentities). @@ -227,7 +227,7 @@ After you finish your rule configuration, verify the rule details are as shown b ![Adobe Journey Optimizer - Decisioning extension Lifecycle rule Configuration](./assets/index/lifecycle-rule.png) 1. Click on **Save**. -2. [Republish your configuration](../getting-started/create-a-mobile-property.md#publish-the-configuration) to the desired environment. +2. [Republish your configuration](../../home/getting-started/create-a-mobile-property.md#publish-the-configuration) to the desired environment. ### Analytics for Target (A4T) @@ -283,7 +283,7 @@ iOS -The Edge `sendEvent` API can then be used to send this tracking XDM data along with any additional XDM and freeform data to the Experience Edge network. Additionally, an override dataset can also be specified for tracking data. For more details, see [Edge - sendEvent API](../edge-network/api-reference.md#sendevent). +The Edge `sendEvent` API can then be used to send this tracking XDM data along with any additional XDM and freeform data to the Experience Edge network. Additionally, an override dataset can also be specified for tracking data. For more details, see [Edge - sendEvent API](../../edge-extensions/edge-network/api-reference.md#sendevent). @@ -297,7 +297,7 @@ iOS ## Configuration keys -To update the SDK configuration programmatically, use the following information to change the Optimize extension configuration values. For more information, see the [programmatic updates to Configuration guide](../mobile-core/configuration/api-reference.md#updateconfiguration). +To update the SDK configuration programmatically, use the following information to change the Optimize extension configuration values. For more information, see the [programmatic updates to Configuration guide](../../base-extensions/mobile-core/configuration/api-reference.md#updateconfiguration). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | @@ -305,4 +305,4 @@ To update the SDK configuration programmatically, use the following information -If the override dataset is used for proposition tracking, make sure the corresponding schema definition contains the `Experience Event - Proposition Interaction` field group. For more information, see the [setup schemas and datasets guide](../getting-started/set-up-schemas-and-datasets.md). +If the override dataset is used for proposition tracking, make sure the corresponding schema definition contains the `Experience Event - Proposition Interaction` field group. For more information, see the [setup schemas and datasets guide](../../home/getting-started/set-up-schemas-and-datasets.md). diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md index 794ef0f21d..ea18a64a64 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md @@ -105,7 +105,7 @@ public static void getPropositions(final List decisionScopes, fin ``` * _decisionScopes_ is a list of decision scopes for which propositions are requested. -* _callback_ `call` method is invoked with propositions map of type `Map`. If the callback is an instance of [AdobeCallbackWithError](../mobile-core/api-reference.md#adobecallbackwitherror), and if the operation times out or an error occurs in retrieving propositions, the `fail` method is invoked with the appropriate [AdobeError](../mobile-core/api-reference.md#adobeerror). +* _callback_ `call` method is invoked with propositions map of type `Map`. If the callback is an instance of [AdobeCallbackWithError](../../base-extensions/mobile-core/api-reference.md#adobecallbackwitherror), and if the operation times out or an error occurs in retrieving propositions, the `fail` method is invoked with the appropriate [AdobeError](../../base-extensions/mobile-core/api-reference.md#adobeerror). #### Example diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md index a435fba3ef..eb33c4c48c 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md @@ -16,7 +16,7 @@ implementation 'com.adobe.marketing.mobile:optimize' -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md index 6de07f2552..0fa0373ab4 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md @@ -43,7 +43,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md index e903d84e2b..87ccc76658 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md @@ -20,13 +20,13 @@ The following documentation details how to use the extension and required config 1. Read the tutorial on [getting started with push configuration](https://experienceleague.adobe.com/docs/journey-optimizer/using/get-started/configuration/push-config/push-gs.html) to learn how to configure push channels in Adobe Journey Optimizer. 2. [Update your app's Datastream](#update-datastream-with-profile-dataset) in [Adobe Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/) 3. Integrate with following extensions: - * [Mobile Core](../mobile-core/index.md) - * [Adobe Experience Platform Edge Network](../edge-network/index.md) - * [Identity for Edge Network](../identity-for-edge-network/index.md) + * [Mobile Core](../../base-extensions/mobile-core/index.md) + * [Adobe Experience Platform Edge Network](../../edge-extensions/edge-network/index.md) + * [Identity for Edge Network](../../edge-extensions/identity-for-edge-network/index.md) ### Update Datastream with a Profile dataset -Navigate to a previously configured Datastream by following the instructions in the [configure datastreams tutorial](../getting-started/configure-datastreams.md) in [Adobe Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/) and select **Add Service**. In the service dropdown select **Adobe Experience Platform**. +Navigate to a previously configured Datastream by following the instructions in the [configure datastreams tutorial](../../home/getting-started/configure-datastreams.md) in [Adobe Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/) and select **Add Service**. In the service dropdown select **Adobe Experience Platform**. * In the **Event Dataset** dropdown, select a dataset previously created in the [Adobe Experience Platform](https://experience.adobe.com/#/platform) UI. * In the **Profile Dataset** dropdown, select the **AJO Push Profile Dataset**. @@ -38,7 +38,7 @@ Navigate to a previously configured Datastream by following the instructions in ## Set up a mobile property in Adobe Data Collection -To learn how to create the mobile property, please read the tutorial on [creating a mobile property](../getting-started/create-a-mobile-property.md) +To learn how to create the mobile property, please read the tutorial on [creating a mobile property](../../home/getting-started/create-a-mobile-property.md) Now that a mobile property is created, we can setup the Adobe Journey Optimizer extension. @@ -51,11 +51,11 @@ Go to the [Experience Platform Data Collection UI](https://experience.adobe.com/ 1. Navigate to the **Catalog** tab, locate the **Adobe Journey Optimizer** extension, and select **Install** 2. Select the pre-created **AJO Push Tracking Experience Event Dataset** from the **Event Dataset** dropdown. 3. Select **Save**. -4. [Follow the publishing process](../getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. +4. [Follow the publishing process](../../home/getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. -The datasets selected should use a schema that uses the "Push Notification Tracking" XDM field group. The pre-created CJM Push Tracking Dataset contains this XDM field group in its schema definition. For more information, please read the tutorial on [setting up schemas and datasets](../getting-started/set-up-schemas-and-datasets.md). +The datasets selected should use a schema that uses the "Push Notification Tracking" XDM field group. The pre-created CJM Push Tracking Dataset contains this XDM field group in its schema definition. For more information, please read the tutorial on [setting up schemas and datasets](../../home/getting-started/set-up-schemas-and-datasets.md). ![](./assets/index/configuration.png) diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md index 34c970dd7a..f903694831 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md @@ -18,7 +18,7 @@ implementation "com.adobe.marketing.mobile:messaging" -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md index 0e1f2f5b9d..04aee096e4 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md @@ -26,7 +26,7 @@ public boolean shouldShowMessage(FullscreenMessage fullscreenMessage) { -In the `shouldShowMessage` function of the `MessagingDelegate`, call [`handleJavascriptMessage(_:withHandler)`](./class-message.md#handlejavascriptmessage_withhandler) to register your handler. +In the `shouldShowMessage` function of the `MessagingDelegate`, call `handleJavascriptMessage(_:withHandler)` to register your handler. The name of the message you intend to pass from the JavaScript side should be specified in the first parameter. diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md index f5eb3fb2b1..f65289d8f2 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md +++ b/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md @@ -21,7 +21,7 @@ This guide will walk you through steps necessary to ensure your app is properly ## Prerequisites -* Your app must have the **AEPMessaging** SDK extension installed. Integrate **AEPMessaging** by following the guide on [setting up AEPMessaging SDK](../setup.md). +* Your app must have the **AEPMessaging** SDK extension installed. Integrate **AEPMessaging** by following the guide on [setting up AEPMessaging SDK](../index.md). * This troubleshooting guide uses validation provided by the **AEPAssurance** extension and the **Adobe Assurance UI**. Integrate **AEPAssurance** in your application by following the [Adobe Experience Platform Assurance installation guide](https://experienceleague.adobe.com/docs/experience-platform/assurance/home.html). @@ -46,7 +46,7 @@ Ensure that your app has registered all necessary AEP SDK extensions by doing th -If your app uses the [Edge Consent extension](../../consent-for-edge-network/index.md), the device must be consenting (i.e. - a consent value of `Yes`) in order to download in-app messages. +If your app uses the [Edge Consent extension](../../../edge-extensions/consent-for-edge-network/index.md), the device must be consenting (i.e. - a consent value of `Yes`) in order to download in-app messages. A sample view in the Assurance UI can be seen below: @@ -127,7 +127,7 @@ Using the IAM plugin you can do the following for each message downloaded by the ### Q: What do I do when one of the required extensions is missing? -**A:** Ensure that each required extension is linked to your project and registered by `MobileCore`. For more information, please read the [Mobile Core API reference](../../mobile-core/api-reference.md#registerextensions). +**A:** Ensure that each required extension is linked to your project and registered by `MobileCore`. For more information, please read the [Mobile Core API reference](../../../base-extensions/mobile-core/api-reference.md#registerextensions). ### Q: Why can't I find an event named `Retrieve message definitions`? From f9749914665ad3597c5211e458e1b4c6065369ee Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Tue, 10 Oct 2023 18:07:47 -0700 Subject: [PATCH 07/12] Fixing remaining links --- .../consent-for-edge-network/api-reference.md | 4 +- .../consent-for-edge-network/index.md | 4 +- .../edge-network/api-reference.md | 4 +- .../edge-extensions/edge-network/index.md | 4 +- .../edge-network/validation.md | 6 +- .../api-reference.md | 8 +- .../identity-for-edge-network/faq.md | 12 +- .../tabs/api-reference.md | 8 +- .../api-reference.md | 2 +- .../event-reference.md | 6 +- .../lifecycle-for-edge-network/index.md | 2 +- .../lifecycle-for-edge-network/metrics.md | 6 +- .../media-for-edge-network/api-reference.md | 2 +- .../media-for-edge-network/index.md | 2 +- .../media-for-edge-network/tabs/index.md | 2 +- .../home/current-sdk-versions.md | 120 +++++++++--------- .../create-a-mobile-property.md | 4 +- .../getting-started/enable-debug-logging.md | 8 +- .../home/getting-started/tabs/get-the-sdk.md | 2 +- .../home/getting-started/track-events.md | 4 +- src/pages/documentation/home/index.md | 6 +- .../documentation/home/release-notes/2021.md | 8 +- .../documentation/home/release-notes/2022.md | 2 +- .../documentation/home/release-notes/index.md | 68 +++++----- src/pages/documentation/resources/faq.md | 14 +- .../resources/major-version-alignment.md | 2 +- .../resources/manage-gradle-dependencies.md | 2 +- .../resources/privacy-and-gdpr.md | 18 +-- .../upgrade-platform-sdks/analytics.md | 22 ++-- .../upgrade-platform-sdks/api-changelog.md | 76 +++++------ .../upgrade-platform-sdks/comparison.md | 10 +- .../resources/upgrade-platform-sdks/index.md | 4 +- .../resources/upgrade-platform-sdks/v4-faq.md | 4 +- .../resources/user-guides/app-extension.md | 4 +- .../resources/user-guides/attach-data.md | 6 +- .../getting-started-with-platform/overview.md | 10 +- .../rules-and-xdm-events.md | 2 +- .../sample-xdm-implementation.md | 10 +- .../resources/user-guides/index.md | 2 +- .../resources/user-guides/modify-data.md | 6 +- .../user-guides/tags-data-elements.md | 8 +- .../adobe-analytics/api-reference.md | 6 +- .../adobe-analytics/event-reference.md | 4 +- .../adobe-analytics/faq.md | 10 +- .../adobe-analytics/index.md | 14 +- .../migrate-to-edge-network.md | 6 +- .../adobe-analytics/tabs/index.md | 6 +- .../adobe-analytics/track-beacon.md | 4 +- .../adobe-audience-manager/api-reference.md | 2 +- .../adobe-audience-manager/index.md | 2 +- .../adobe-audience-manager/tabs/index.md | 4 +- .../adobe-campaign-classic/api-reference.md | 2 +- .../adobe-campaign-classic/index.md | 2 +- .../adobe-campaign-classic/tabs/index.md | 4 +- .../adobe-campaign-standard/api-reference.md | 2 +- .../adobe-campaign-standard/index.md | 14 +- .../tabs/api-reference.md | 2 +- .../adobe-campaign-standard/tabs/index.md | 10 +- .../tabs/push-notifications.md | 8 +- .../adobe-media-analytics/api-reference.md | 2 +- .../adobe-media-analytics/index.md | 4 +- .../adobe-media-analytics/migration-guide.md | 6 +- .../adobe-media-analytics/tabs/index.md | 2 +- .../adobe-target/api-reference.md | 2 +- .../solution-extensions/adobe-target/index.md | 6 +- .../adobe-target/tabs/api-reference.md | 8 +- .../adobe-target/tabs/index.md | 8 +- .../places/api-reference.md | 4 +- .../places/places-to-platform.md | 2 +- .../solution-extensions/places/tabs/index.md | 2 +- 70 files changed, 321 insertions(+), 321 deletions(-) diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md index 0a044d1e2d..c22167b551 100644 --- a/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md +++ b/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md @@ -43,7 +43,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. @@ -97,4 +97,4 @@ Bellow you can see the snippet of the request payload sent to the Edge Network: ] ``` -For additional information about the management of consent preferences, please refer to the [Privacy and GDPR documentation](../resources/privacy-and-gdpr.md#using-experience-platform-sdks-for-edge-network). +For additional information about the management of consent preferences, please refer to the [Privacy and GDPR documentation](../../resources/privacy-and-gdpr.md#using-experience-platform-sdks-for-edge-network). diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md b/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md index 63eb135fbb..224f2cf45e 100644 --- a/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md +++ b/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md @@ -11,7 +11,7 @@ import Tabs from './tabs/index.md' # Consent for Edge Network -The Adobe Experience Platform Consent mobile extension enables consent preferences collection from your mobile app when using the [Adobe Experience Platform Mobile SDK](../mobile-core/index.md) and the [Edge Network extension](../edge-network/index.md). +The Adobe Experience Platform Consent mobile extension enables consent preferences collection from your mobile app when using the [Adobe Experience Platform Mobile SDK](../../base-extensions/mobile-core/index.md) and the [Edge Network extension](../edge-network/index.md). ## Configure the Adobe Experience Platform Consent extension in Data Collection UI @@ -19,7 +19,7 @@ The Adobe Experience Platform Consent mobile extension enables consent preferenc 2. On the **Catalog** tab, locate or search for the **Consent** extension, and select **Install**. 3. Set your desired default consent level. 4. Select **Save**. -5. Follow the [publishing process](../getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. +5. Follow the [publishing process](../../home/getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. ![AEP Consent extension configuration](./assets/index/configuration.png) diff --git a/src/pages/documentation/edge-extensions/edge-network/api-reference.md b/src/pages/documentation/edge-extensions/edge-network/api-reference.md index 9abf77c4e2..09c1f94c5a 100644 --- a/src/pages/documentation/edge-extensions/edge-network/api-reference.md +++ b/src/pages/documentation/edge-extensions/edge-network/api-reference.md @@ -42,7 +42,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. @@ -54,7 +54,7 @@ Android Resets current state of the AEP Edge extension and clears previously cached content related to current identity, if any. -See [MobileCore.resetIdentities](../mobile-core/api-reference.md#resetidentities) for more details. +See [MobileCore.resetIdentities](../../base-extensions/mobile-core/api-reference.md#resetidentities) for more details. ## sendEvent diff --git a/src/pages/documentation/edge-extensions/edge-network/index.md b/src/pages/documentation/edge-extensions/edge-network/index.md index 444a50f229..e489c473c6 100644 --- a/src/pages/documentation/edge-extensions/edge-network/index.md +++ b/src/pages/documentation/edge-extensions/edge-network/index.md @@ -23,13 +23,13 @@ The Adobe Experience Platform Edge Network extension requires the Identity for E 3. Select the **Datastream** you would like to use per environment. Read more about [datastreams](#datastreams) below. 4. Set up the **Domain configuration** by either using the automatically populated domain, or a first party domain mapped to an Adobe-provisioned Edge network domain. For more information, see [domain configuration](#domain-configuration) below. 4. Select **Save**. -5. Follow the [publishing process](../getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. +5. Follow the [publishing process](../../home/getting-started/create-a-mobile-property.md#publish-the-configuration) to update SDK configuration. ![Edge Network extension configuration](./assets/index/configuration.png) ### Datastreams -If no datastream was previously created, see [Configure datastreams](../getting-started/configure-datastreams.md) before moving to the next step. +If no datastream was previously created, see [Configure datastreams](../../home/getting-started/configure-datastreams.md) before moving to the next step. You may configure only the required datastream for the production environment, and by default the staging and development environments will use the same datastream. Alternatively, if you want to use different datastreams per each environment, select the desired ones from the corresponding drop-down lists. diff --git a/src/pages/documentation/edge-extensions/edge-network/validation.md b/src/pages/documentation/edge-extensions/edge-network/validation.md index adf9c05a4e..44def7081c 100644 --- a/src/pages/documentation/edge-extensions/edge-network/validation.md +++ b/src/pages/documentation/edge-extensions/edge-network/validation.md @@ -13,7 +13,7 @@ The Adobe Experience Platform Edge Network extension is integrated with Adobe Ex ## SDK Logging -The Adobe Experience Platform Mobile SDKs allow for detailed debugging in debug or test environments when using Verbose or Debug Log level. To enable this and see the log messages in your IDE set the verbose/trace mode for [MobileCore logging](../getting-started/enable-debug-logging.md#debug-logging). +The Adobe Experience Platform Mobile SDKs allow for detailed debugging in debug or test environments when using Verbose or Debug Log level. To enable this and see the log messages in your IDE set the verbose/trace mode for [MobileCore logging](../../home/getting-started/enable-debug-logging.md#debug-logging). ## Validate with Assurance @@ -22,8 +22,8 @@ While the log messages can be quite helpful for an application developer, inspec ### Get started with Assurance 1. Start by following the instructions for [using Assurance](https://experienceleague.adobe.com/docs/experience-platform/assurance/user-access.html). -2. [Install and register the Assurance extension](../platform-assurance-sdk/index.md) in your mobile app. -3. Follow the same document for [connecting to an Assurance session](../platform-assurance-sdk/index.md#connect-to-an-assurance-session). +2. [Install and register the Assurance extension](../../base-extensions/platform-assurance-sdk/index.md) in your mobile app. +3. Follow the same document for [connecting to an Assurance session](../../base-extensions/platform-assurance-sdk/index.md#connect-to-an-assurance-session). ### Use the Event Transactions view diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md index bfb8a6c0c5..bb726799d0 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md @@ -81,7 +81,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. @@ -124,15 +124,15 @@ Some example use cases for this API are: This API is **not** recommended for: -* Resetting a user's consent and privacy settings; see [Privacy and GDPR](../resources/privacy-and-gdpr.md). +* Resetting a user's consent and privacy settings; see [Privacy and GDPR](../../resources/privacy-and-gdpr.md). * Removing existing custom identifiers; use the [`removeIdentity`](#removeidentity) API instead. -* Removing a previously synced advertising identifier after the advertising tracking settings were changed by the user; use the [`setAdvertisingIdentifier`](../mobile-core/identity/api-reference.md#setadvertisingidentifier) API instead. +* Removing a previously synced advertising identifier after the advertising tracking settings were changed by the user; use the [`setAdvertisingIdentifier`](../../base-extensions/mobile-core/identity/api-reference.md#setadvertisingidentifier) API instead. The Identity for Edge Network extension does not read the Mobile SDK's privacy status, and therefore setting the SDK's privacy status to opt-out will not automatically clear the identities from the Identity for Edge Network extension. -See [`MobileCore.resetIdentities`](../mobile-core/api-reference.md#resetidentities) for more details. +See [`MobileCore.resetIdentities`](../../base-extensions/mobile-core/api-reference.md#resetidentities) for more details. ## setAdvertisingIdentifier diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md index 8cda8769ad..d5f2754c4d 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md @@ -101,7 +101,7 @@ Each identity extension has its own API to retrieve their respective ECIDs as we A: Use both `getSdkIdentities` and `getIdentities` -To get the identifiers used by the Adobe Solutions extensions, call [getSdkIdentities](../mobile-core/api-reference.md#getsdkidentities). +To get the identifiers used by the Adobe Solutions extensions, call [getSdkIdentities](../../base-extensions/mobile-core/api-reference.md#getsdkidentities). To get the identifiers used by the Edge extensions, call [getIdentities](./api-reference.md#getidentities). @@ -109,9 +109,9 @@ To get the identifiers used by the Edge extensions, call [getIdentities](./api-r A: Set privacy status to `optedOut` and call `resetIdentities` -To clear the identifiers used by the Adobe Solutions extensions, call [setPrivacyStatus](../resources/privacy-and-gdpr.md#set-and-get-privacy-status) and set the privacy status to `optedOut`. +To clear the identifiers used by the Adobe Solutions extensions, call [setPrivacyStatus](../../resources/privacy-and-gdpr.md#set-and-get-privacy-status) and set the privacy status to `optedOut`. -To clear the identifiers used by the Edge extensions, call [resetIdentities](../mobile-core/api-reference.md#resetidentities) +To clear the identifiers used by the Edge extensions, call [resetIdentities](../../base-extensions/mobile-core/api-reference.md#resetidentities) ## Q: What steps are needed to generate a new Experience Cloud ID (ECID) for a user when using both Edge extensions and Adobe Solutions extensions? @@ -121,10 +121,10 @@ When using Real-time Customer Profile and Identity Service, the ECIDs from both Perform the following API calls to regenerate the ECIDs in sequence: -1. Set [privacy status](../resources/privacy-and-gdpr.md#set-and-get-privacy-status) to `optedOut` to clear the ECID from the Identity direct service extension. +1. Set [privacy status](../../resources/privacy-and-gdpr.md#set-and-get-privacy-status) to `optedOut` to clear the ECID from the Identity direct service extension. 2. Call [resetIdentities](./api-reference.md#resetidentities) to regenerate a new ECID in the Identity for Edge Network extension. 3. Call [getExperienceCloudId](./api-reference.md#getexperiencecloudid) on the Identity for Edge Network extension. This ensures the new ECID is generated before continuing. -4. Set [privacy status](../privacy-and-gdpr.md#set-and-get-privacy-status) to `optedIn` to generate a new ECID in the Identity direct service extension. +4. Set [privacy status](../../resources/privacy-and-gdpr.md#set-and-get-privacy-status) to `optedIn` to generate a new ECID in the Identity direct service extension. After completing the above steps, each identity extension will have its own, different, ECID. The new ECIDs will get linked under a new Identity Graph for the customer. @@ -140,7 +140,7 @@ iOS ## Q: Can I safely remove the Identity for Experience Cloud ID Service extension in an app if I am using the Edge Network extension? -If no other extension relies on the Identity for Experience Cloud ID Service extension, you can safely remove it. Please refer to the [Identity consideration document](../adobe-analytics/migrate-to-edge-network.md#identity-consideration-for-the-migration) for more information. +If no other extension relies on the Identity for Experience Cloud ID Service extension, you can safely remove it. Please refer to the [Identity consideration document](../../solution-extensions/adobe-analytics/migrate-to-edge-network.md#identity-consideration-for-the-migration) for more information. ## Q: I am passing the ECID from to the WebView using `getUrlVariables` API, but the web interactions get a new ECID assigned, how do I fix this? diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md index e97b1e376f..6464a2e5e1 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md +++ b/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md @@ -60,7 +60,7 @@ NSString *extensionVersion = [AEPMobileEdgeIdentity extensionVersion]; -The ECID value is returned via the [AdobeCallback](../mobile-core/api-reference.md#public-classes). When [AdobeCallbackWithError](../mobile-core/api-reference.md#public-classes) is provided to this API, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../mobile-core/api-reference.md#public-classes). +The ECID value is returned via the [AdobeCallback](../../base-extensions/mobile-core/api-reference.md#public-classes). When [AdobeCallbackWithError](../../base-extensions/mobile-core/api-reference.md#public-classes) is provided to this API, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../../base-extensions/mobile-core/api-reference.md#public-classes). @@ -139,7 +139,7 @@ Identity.getExperienceCloudId { (ecid, error) in -When [AdobeCallbackWithError](../mobile-core/api-reference.md#public-classes) is provided, and you are fetching the identities from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../mobile-core/api-reference.md#public-classes). +When [AdobeCallbackWithError](../../base-extensions/mobile-core/api-reference.md#public-classes) is provided, and you are fetching the identities from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../../base-extensions/mobile-core/api-reference.md#public-classes). @@ -184,7 +184,7 @@ Identity.getIdentities { identityMap -> static func getIdentities(completion: @escaping (IdentityMap?, Error?) -> Void) ``` -* _completion_ is invoked after the identities are available. The default timeout is 1000ms. The return format is an instance of [IdentityMap](api-reference.md#identitymap). +* _completion_ is invoked after the identities are available. The default timeout is 1000ms. The return format is an instance of [IdentityMap](#identitymap). **Example** @@ -270,7 +270,7 @@ Identity.getUrlVariables { urlVariablesString -> static func getUrlVariables(completion: @escaping (String?, Error?) -> Void) ``` -* `completion` is invoked with `urlVariables` containing the visitor identifiers as a query string, or with `error` if an unexpected error occurs or the request times out. The returned `Error` contains the [AEPError](../mobile-core/api-reference.md#public-classes) code of the specific error. The default timeout is 1000ms. +* `completion` is invoked with `urlVariables` containing the visitor identifiers as a query string, or with `error` if an unexpected error occurs or the request times out. The returned `Error` contains the [AEPError](../../base-extensions/mobile-core/api-reference.md#public-classes) code of the specific error. The default timeout is 1000ms. **Example** diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md index 1e321c1688..3e45d60cda 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md +++ b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md @@ -9,4 +9,4 @@ keywords: # API Reference -For API details, please reference [Lifecycle API Reference](../mobile-core/lifecycle/api-reference.md). +For API details, please reference [Lifecycle API Reference](../../base-extensions/mobile-core/lifecycle/api-reference.md). diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md index 542b665f06..9a87b3dffe 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md +++ b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md @@ -11,7 +11,7 @@ keywords: Events dispatched by the Lifecycle extension to support Adobe Experience Platform Edge Network workflows include: -* [Lifecycle Application Foreground](../mobile-core/lifecycle/event-reference.md#lifecycle-application-foreground) -* [Lifecycle Application Background](../mobile-core/lifecycle/event-reference.md#lifecycle-application-background) +* [Lifecycle Application Foreground](../../base-extensions/mobile-core/lifecycle/event-reference.md#lifecycle-application-foreground) +* [Lifecycle Application Background](../../base-extensions/mobile-core/lifecycle/event-reference.md#lifecycle-application-background) -For full event details, please read the [Lifecycle event reference](../mobile-core/lifecycle/event-reference.md). +For full event details, please read the [Lifecycle event reference](../../base-extensions/mobile-core/lifecycle/event-reference.md). diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md index 8cb74e451b..b113270a63 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md +++ b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md @@ -91,6 +91,6 @@ After you complete your configuration, verify that your rule looks like the foll ## Add the Lifecycle extension to your app -For implementation details, please reference the Lifecycle documentation to learn how to [add Lifecycle to your app](../mobile-core/lifecycle/index.md#add-lifecycle-to-your-app). as well as [register Lifecycle with Mobile Core and add appropriate the Start/Pause calls](../mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-start-pause-calls). +For implementation details, please reference the Lifecycle documentation to learn how to [add Lifecycle to your app](../../base-extensions/mobile-core/lifecycle/index.md#add-lifecycle-to-your-app). as well as [register Lifecycle with Mobile Core and add appropriate the Start/Pause calls](../../base-extensions/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-start-pause-calls). In addition, use the following steps to [add the Edge Network extension to your app](../edge-network/index.md#add-the-edge-network-extension-to-your-app). diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md index 66a20dbba2..4eaf077f14 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md +++ b/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md @@ -11,7 +11,7 @@ keywords: The metrics auto-collected by the Lifecycle extension to support Adobe Experience Platform Edge Network workflows include: -* [Lifecycle Application Foreground metrics](../mobile-core/lifecycle/metrics.md#lifecycle-application-foreground-metrics) -* [Lifecycle Application Background metrics](../mobile-core/lifecycle/metrics.md#lifecycle-application-background-metrics) +* [Lifecycle Application Foreground metrics](../../base-extensions/mobile-core/lifecycle/metrics.md#lifecycle-application-foreground-metrics) +* [Lifecycle Application Background metrics](../../base-extensions/mobile-core/lifecycle/metrics.md#lifecycle-application-background-metrics) -For full metric details, please read the [Lifecycle metrics reference](../mobile-core/lifecycle/metrics.md). +For full metric details, please read the [Lifecycle metrics reference](../../base-extensions/mobile-core/lifecycle/metrics.md). diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md b/src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md index 0feff2bc31..2b1f113b6b 100644 --- a/src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md +++ b/src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md @@ -31,7 +31,7 @@ iOS Immediately aborts all the active tracking sessions and clears all the MediaTracker instances. -See [MobileCore.resetIdentities](../mobile-core/api-reference.md#resetidentities) for more details. +See [MobileCore.resetIdentities](../../base-extensions/mobile-core/api-reference.md#resetidentities) for more details. ### createTracker diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/index.md b/src/pages/documentation/edge-extensions/media-for-edge-network/index.md index 1416984398..7b23148a70 100644 --- a/src/pages/documentation/edge-extensions/media-for-edge-network/index.md +++ b/src/pages/documentation/edge-extensions/media-for-edge-network/index.md @@ -86,7 +86,7 @@ iOS ## Configuration keys -To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../mobile-core/configuration/api-reference.md). +To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md b/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md index ab44f04ad5..e23f92834d 100644 --- a/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md +++ b/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md @@ -16,7 +16,7 @@ implementation 'com.adobe.marketing.mobile:edgemedia' -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/home/current-sdk-versions.md b/src/pages/documentation/home/current-sdk-versions.md index f4ac22f000..89a68ca683 100644 --- a/src/pages/documentation/home/current-sdk-versions.md +++ b/src/pages/documentation/home/current-sdk-versions.md @@ -36,27 +36,27 @@ The Android BOM (Bill of Materials) artifact has been released to Maven Central. | Extension | Maven | Github | |---|---|---| -| [Mobile Core](../mobile-core/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/core.svg?logo=android&logoColor=white&label=core&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/core) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Rules Engine](../mobile-core/rules-engine/index.md) | Bundled in Mobile Core | — | -| [Signal](../mobile-core/signal/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/signal.svg?logo=android&logoColor=white&label=signal&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/signal) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Lifecycle](../mobile-core/lifecycle/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/lifecycle.svg?logo=android&logoColor=white&label=lifecycle&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/lifecycle) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Identity](../mobile-core/identity/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/identity.svg?logo=android&logoColor=white&label=identity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/identity) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Profile](../profile/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/userprofile.svg?logo=android&logoColor=white&label=userprofile&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/userprofile) | [Link](https://github.com/adobe/aepsdk-userprofile-android) | -| [Adobe Experience Platform Assurance](../platform-assurance-sdk/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/assurance.svg?logo=android&logoColor=white&label=assurance&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/assurance) | [Link](https://github.com/adobe/aepsdk-assurance-android) | -| [Adobe Experience Platform Edge Network](../edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edge.svg?logo=android&logoColor=white&label=edge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edge) | [Link](https://github.com/adobe/aepsdk-edge-android) | -| [Identity for Edge Network](../identity-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeidentity.svg?logo=android&logoColor=white&label=edgeidentity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeidentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-android) | -| [Consent for Edge Network](../consent-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeconsent.svg?logo=android&logoColor=white&label=edgeconsent&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeconsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-android) | -| [Media for Edge Network](../media-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgemedia.svg?logo=android&logoColor=white&label=edgemedia&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgemedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-android) | -| [Edge Bridge](../adobe-analytics/migrate-to-edge-network.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgebridge.svg?logo=android&logoColor=white&label=edgebridge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgebridge) | [Link](https://github.com/adobe/aepsdk-edgebridge-android) | -| [Adobe Journey Optimizer](../adobe-journey-optimizer/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/messaging.svg?logo=android&logoColor=white&label=messaging&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/messaging) | [Link](https://github.com/adobe/aepsdk-messaging-android) | -| [Adobe Journey Optimizer - Decisioning](../adobe-journey-optimizer-decisioning/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/optimize.svg?logo=android&logoColor=white&label=optimize&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/optimize) | [Link](https://github.com/adobe/aepsdk-optimize-android) | +| [Mobile Core](../base-extensions/mobile-core/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/core.svg?logo=android&logoColor=white&label=core&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/core) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Rules Engine](../base-extensions/mobile-core/rules-engine/index.md) | Bundled in Mobile Core | — | +| [Signal](../base-extensions/mobile-core/signal/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/signal.svg?logo=android&logoColor=white&label=signal&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/signal) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Lifecycle](../base-extensions/mobile-core/lifecycle/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/lifecycle.svg?logo=android&logoColor=white&label=lifecycle&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/lifecycle) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Identity](../base-extensions/mobile-core/identity/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/identity.svg?logo=android&logoColor=white&label=identity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/identity) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Profile](../base-extensions/profile/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/userprofile.svg?logo=android&logoColor=white&label=userprofile&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/userprofile) | [Link](https://github.com/adobe/aepsdk-userprofile-android) | +| [Adobe Experience Platform Assurance](../base-extensions/platform-assurance-sdk/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/assurance.svg?logo=android&logoColor=white&label=assurance&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/assurance) | [Link](https://github.com/adobe/aepsdk-assurance-android) | +| [Adobe Experience Platform Edge Network](../edge-extensions/edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edge.svg?logo=android&logoColor=white&label=edge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edge) | [Link](https://github.com/adobe/aepsdk-edge-android) | +| [Identity for Edge Network](../edge-extensions/identity-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeidentity.svg?logo=android&logoColor=white&label=edgeidentity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeidentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-android) | +| [Consent for Edge Network](../edge-extensions/consent-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeconsent.svg?logo=android&logoColor=white&label=edgeconsent&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeconsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-android) | +| [Media for Edge Network](../edge-extensions/media-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgemedia.svg?logo=android&logoColor=white&label=edgemedia&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgemedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-android) | +| [Edge Bridge](../solution-extensions/adobe-analytics/migrate-to-edge-network.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgebridge.svg?logo=android&logoColor=white&label=edgebridge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgebridge) | [Link](https://github.com/adobe/aepsdk-edgebridge-android) | +| [Adobe Journey Optimizer](../edge-extensions/adobe-journey-optimizer/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/messaging.svg?logo=android&logoColor=white&label=messaging&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/messaging) | [Link](https://github.com/adobe/aepsdk-messaging-android) | +| [Adobe Journey Optimizer - Decisioning](../edge-extensions/adobe-journey-optimizer-decisioning/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/optimize.svg?logo=android&logoColor=white&label=optimize&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/optimize) | [Link](https://github.com/adobe/aepsdk-optimize-android) | | [Places Service](https://experienceleague.adobe.com/docs/places/using/home.html) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/places.svg?logo=android&logoColor=white&label=places&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/places) | [Link](https://github.com/adobe/aepsdk-places-android) | -| [Adobe Analytics](../adobe-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/analytics.svg?logo=android&logoColor=white&label=analytics&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/analytics) | [Link](https://github.com/adobe/aepsdk-analytics-android) | -| [Adobe Analytics - Media Analytics for Audio & Video](../adobe-media-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/media.svg?logo=android&logoColor=white&label=media&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/media) | [Link](https://github.com/adobe/aepsdk-media-android) | -| [Adobe Target](../adobe-target/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/target.svg?logo=android&logoColor=white&label=target&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/target) | [Link](https://github.com/adobe/aepsdk-target-android) | -| [Adobe Campaign Standard](../adobe-campaign-standard/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaign.svg?logo=android&logoColor=white&label=campaign&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaign) | [Link](https://github.com/adobe/aepsdk-campaign-android) | -| [Adobe Campaign Classic](../adobe-campaign-classic/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaignclassic.svg?logo=android&logoColor=white&label=campaignclassic&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaignclassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-android) | -| [Adobe Audience Manager](../adobe-audience-manager/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/audience.svg?logo=android&logoColor=white&label=audience&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/audience) | [Link](https://github.com/adobe/aepsdk-audience-android) | +| [Adobe Analytics](../solution-extensions/adobe-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/analytics.svg?logo=android&logoColor=white&label=analytics&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/analytics) | [Link](https://github.com/adobe/aepsdk-analytics-android) | +| [Adobe Analytics - Media Analytics for Audio & Video](../solution-extensions/adobe-media-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/media.svg?logo=android&logoColor=white&label=media&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/media) | [Link](https://github.com/adobe/aepsdk-media-android) | +| [Adobe Target](../solution-extensions/adobe-target/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/target.svg?logo=android&logoColor=white&label=target&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/target) | [Link](https://github.com/adobe/aepsdk-target-android) | +| [Adobe Campaign Standard](../solution-extensions/adobe-campaign-standard/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaign.svg?logo=android&logoColor=white&label=campaign&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaign) | [Link](https://github.com/adobe/aepsdk-campaign-android) | +| [Adobe Campaign Classic](../solution-extensions/adobe-campaign-classic/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaignclassic.svg?logo=android&logoColor=white&label=campaignclassic&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaignclassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-android) | +| [Adobe Audience Manager](../solution-extensions/adobe-audience-manager/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/audience.svg?logo=android&logoColor=white&label=audience&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/audience) | [Link](https://github.com/adobe/aepsdk-audience-android) | | Adobe Analytics - Mobile Services | Deprecated | | | Places Monitor | Deprecated | | @@ -68,27 +68,27 @@ The Android BOM (Bill of Materials) artifact has been released to Maven Central. | Extension | tvOS | App Extension | CocoaPods | GitHub | |---|---|---|---|---| -| [Mobile Core](../mobile-core/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPCore&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCore) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Rules Engine](../mobile-core/rules-engine/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-rulesengine-ios.svg?label=AEPRulesEngine&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPRulesEngine) | [Link](https://github.com/adobe/aepsdk-rulesengine-ios) | -| [Signal](../mobile-core/signal/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPSignal&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPSignal) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Identity](../mobile-core/identity/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPIdentity) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Lifecycle](../mobile-core/lifecycle/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPLifecycle&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPLifecycle) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Profile](../profile/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-userprofile-ios.svg?label=AEPUserProfile&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPUserProfile) | [Link](https://github.com/adobe/aepsdk-userprofile-ios) | -| [Adobe Experience Platform Assurance](../platform-assurance-sdk/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-assurance-ios.svg?label=AEPAssurance&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAssurance) | [Link](https://github.com/adobe/aepsdk-assurance-ios) | -| [Adobe Experience Platform Edge Network](../edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edge-ios.svg?label=AEPEdge&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdge) | [Link](https://github.com/adobe/aepsdk-edge-ios) | -| [Identity for Edge Network](../identity-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeidentity-ios.svg?label=AEPEdgeIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeIdentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-ios) | -| [Consent for Edge Network](../consent-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeconsent-ios.svg?label=AEPEdgeConsent&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeConsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-ios) | -| [Media for Edge Network](../media-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgemedia-ios.svg?label=AEPEdgeMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeMedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-ios) | +| [Mobile Core](../base-extensions/mobile-core/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPCore&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCore) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Rules Engine](../base-extensions/mobile-core/rules-engine/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-rulesengine-ios.svg?label=AEPRulesEngine&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPRulesEngine) | [Link](https://github.com/adobe/aepsdk-rulesengine-ios) | +| [Signal](../base-extensions/mobile-core/signal/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPSignal&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPSignal) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Identity](../base-extensions/mobile-core/identity/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPIdentity) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Lifecycle](../base-extensions/mobile-core/lifecycle/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPLifecycle&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPLifecycle) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Profile](../base-extensions/profile/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-userprofile-ios.svg?label=AEPUserProfile&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPUserProfile) | [Link](https://github.com/adobe/aepsdk-userprofile-ios) | +| [Adobe Experience Platform Assurance](../base-extensions/platform-assurance-sdk/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-assurance-ios.svg?label=AEPAssurance&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAssurance) | [Link](https://github.com/adobe/aepsdk-assurance-ios) | +| [Adobe Experience Platform Edge Network](../edge-extensions/edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edge-ios.svg?label=AEPEdge&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdge) | [Link](https://github.com/adobe/aepsdk-edge-ios) | +| [Identity for Edge Network](../edge-extensions/identity-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeidentity-ios.svg?label=AEPEdgeIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeIdentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-ios) | +| [Consent for Edge Network](../edge-extensions/consent-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeconsent-ios.svg?label=AEPEdgeConsent&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeConsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-ios) | +| [Media for Edge Network](../edge-extensions/media-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgemedia-ios.svg?label=AEPEdgeMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeMedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-ios) | | [Edge Bridge](../adobe-analytics/migrate-to-edge-network.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgebridge-ios.svg?label=AEPEdgeBridge&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeBridge) | [Link](https://github.com/adobe/aepsdk-edgebridge-ios) | -| [Adobe Journey Optimizer](../adobe-journey-optimizer/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-messaging-ios.svg?label=AEPMessaging&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMessaging) | [Link](https://github.com/adobe/aepsdk-messaging-ios) | -| [Adobe Journey Optimizer - Decisioning](../adobe-journey-optimizer-decisioning/index.md) | | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-optimize-ios.svg?label=AEPOptimize&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPOptimize) | [Link](https://github.com/adobe/aepsdk-optimize-ios) | +| [Adobe Journey Optimizer](../edge-extensions/adobe-journey-optimizer/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-messaging-ios.svg?label=AEPMessaging&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMessaging) | [Link](https://github.com/adobe/aepsdk-messaging-ios) | +| [Adobe Journey Optimizer - Decisioning](../edge-extensions/adobe-journey-optimizer-decisioning/index.md) | | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-optimize-ios.svg?label=AEPOptimize&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPOptimize) | [Link](https://github.com/adobe/aepsdk-optimize-ios) | | [Places Service](https://experienceleague.adobe.com/docs/places/using/home.html) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-places-ios.svg?label=AEPPlaces&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPPlaces) | [Link](https://github.com/adobe/aepsdk-places-ios) | -| [Adobe Analytics](../adobe-analytics/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-analytics-ios.svg?label=AEPAnalytics&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAnalytics) | [Link](https://github.com/adobe/aepsdk-analytics-ios) | -| [Adobe Analytics - Media Analytics for Audio & Video](../adobe-media-analytics/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-media-ios.svg?label=AEPMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMedia) | [Link](https://github.com/adobe/aepsdk-media-ios) | -| [Adobe Target](../adobe-target/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-target-ios.svg?label=AEPTarget&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPTarget) | [Link](https://github.com/adobe/aepsdk-target-ios) | -| [Adobe Campaign Standard](../adobe-campaign-standard/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaign-ios.svg?label=AEPCampaign&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaign) | [Link](https://github.com/adobe/aepsdk-campaign-ios) | -| [Adobe Campaign Classic](../adobe-campaign-classic/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaignclassic-ios.svg?label=AEPCampaignClassic&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaignClassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-ios) | -| [Adobe Audience Manager](../adobe-audience-manager/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-audience-ios.svg?label=AEPAudience&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAudience) | [Link](https://github.com/adobe/aepsdk-audience-ios) | +| [Adobe Analytics](../solution-extensions/adobe-analytics/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-analytics-ios.svg?label=AEPAnalytics&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAnalytics) | [Link](https://github.com/adobe/aepsdk-analytics-ios) | +| [Adobe Analytics - Media Analytics for Audio & Video](../solution-extensions/adobe-media-analytics/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-media-ios.svg?label=AEPMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMedia) | [Link](https://github.com/adobe/aepsdk-media-ios) | +| [Adobe Target](../solution-extensions/adobe-target/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-target-ios.svg?label=AEPTarget&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPTarget) | [Link](https://github.com/adobe/aepsdk-target-ios) | +| [Adobe Campaign Standard](../solution-extensions/adobe-campaign-standard/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaign-ios.svg?label=AEPCampaign&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaign) | [Link](https://github.com/adobe/aepsdk-campaign-ios) | +| [Adobe Campaign Classic](../solution-extensions/adobe-campaign-classic/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaignclassic-ios.svg?label=AEPCampaignClassic&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaignClassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-ios) | +| [Adobe Audience Manager](../solution-extensions/adobe-audience-manager/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-audience-ios.svg?label=AEPAudience&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAudience) | [Link](https://github.com/adobe/aepsdk-audience-ios) | | Adobe Analytics - Mobile Services | | Deprecated | | | | Places Monitor | | Deprecated | | | @@ -106,19 +106,19 @@ If you are currently using the ACP-prefixed React Native libraries, please see [ | Extension | npmjs | |---|---| -| [Mobile Core](../mobile-core/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcore.svg?color=green&label=%40adobe%2Freact-native-aepcore&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcore) | -| [Profile](../profile/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepuserprofile.svg?color=green&label=%40adobe%2Freact-native-aepuserprofile&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepuserprofile) | -| [Assurance](../platform-assurance-sdk/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepassurance.svg?color=green&label=%40adobe%2Freact-native-aepassurance&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepassurance) | -| [Edge](../edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedge.svg?color=green&label=%40adobe%2Freact-native-aepedge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedge) | -| [EdgeIdentity](../identity-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeidentity.svg?color=green&label=%40adobe%2Freact-native-aepedgeidentity&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeidentity) | -| [EdgeConsent](../consent-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeconsent.svg?color=green&label=%40adobe%2Freact-native-aepedgeconsent&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeconsent) | -| [Edge Bridge](../adobe-analytics/migrate-to-edge-network.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgebridge.svg?color=green&label=%40adobe%2Freact-native-aepedgebridge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgebridge) | -| [Messaging](../iam/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepmessaging.svg?color=green&label=%40adobe%2Freact-native-aepmessaging&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepmessaging) | -| [Optimize](./adobe-journey-optimizer/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepoptimize.svg?color=green&label=%40adobe%2Freact-native-aepoptimize&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepoptimize) | -| [Places](./places/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepplaces.svg?color=green&label=%40adobe%2Freact-native-aepplaces&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepplaces) | -| [Target](../adobe-target/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aeptarget.svg?color=green&label=%40adobe%2Freact-native-aeptarget&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aeptarget) | -| [Campaign Classic](./adobe-campaign-classic/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcampaignclassic.svg?color=green&label=%40adobe%2Freact-native-aepcampaignclassic&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcampaignclassic) | -| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../adobe-analytics/migrate-to-edge-network.md). | +| [Mobile Core](../base-extensions/mobile-core/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcore.svg?color=green&label=%40adobe%2Freact-native-aepcore&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcore) | +| [Profile](../base-extensions/profile/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepuserprofile.svg?color=green&label=%40adobe%2Freact-native-aepuserprofile&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepuserprofile) | +| [Assurance](../base-extensions/platform-assurance-sdk/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepassurance.svg?color=green&label=%40adobe%2Freact-native-aepassurance&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepassurance) | +| [Edge](../edge-extensions/edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedge.svg?color=green&label=%40adobe%2Freact-native-aepedge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedge) | +| [EdgeIdentity](../edge-extensions/identity-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeidentity.svg?color=green&label=%40adobe%2Freact-native-aepedgeidentity&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeidentity) | +| [EdgeConsent](../edge-extensions/consent-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeconsent.svg?color=green&label=%40adobe%2Freact-native-aepedgeconsent&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeconsent) | +| [Edge Bridge](../solution-extensions/adobe-analytics/migrate-to-edge-network.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgebridge.svg?color=green&label=%40adobe%2Freact-native-aepedgebridge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgebridge) | +| [Messaging](../edge-extensions/adobe-journey-optimizer-decisioning/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepmessaging.svg?color=green&label=%40adobe%2Freact-native-aepmessaging&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepmessaging) | +| [Optimize](../edge-extensions/adobe-journey-optimizer/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepoptimize.svg?color=green&label=%40adobe%2Freact-native-aepoptimize&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepoptimize) | +| [Places](../solution-extensions/places/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepplaces.svg?color=green&label=%40adobe%2Freact-native-aepplaces&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepplaces) | +| [Target](../solution-extensions/adobe-target/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aeptarget.svg?color=green&label=%40adobe%2Freact-native-aeptarget&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aeptarget) | +| [Campaign Classic](../solution-extensions/adobe-campaign-classic/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcampaignclassic.svg?color=green&label=%40adobe%2Freact-native-aepcampaignclassic&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcampaignclassic) | +| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../solution-extensions/adobe-analytics/migrate-to-edge-network.md). | | Adobe Media Analytics| Not Supported | | Adobe Audience| Not Supported | | Adobe Campaign Standard| Not Supported | @@ -138,14 +138,14 @@ If you are currently using the ACP-prefixed Flutter libraries, please see [the g | Extension | pub.dev | |---|---| -| [Mobile Core](../mobile-core/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepcore.svg)](https://pub.dartlang.org/packages/flutter_aepcore) | -| [Assurance](../platform-assurance-sdk/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepassurance.svg)](https://pub.dartlang.org/packages/flutter_aepassurance) | -| [Edge](../edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedge.svg)](https://pub.dartlang.org/packages/flutter_aepedge) | -| [EdgeIdentity](../identity-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeidentity.svg)](https://pub.dartlang.org/packages/flutter_aepedgeidentity) | -| [EdgeConsent](../consent-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeconsent.svg)](https://pub.dartlang.org/packages/flutter_aepedgeconsent) | -| [Edge Bridge](../adobe-analytics/migrate-to-edge-network.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgebridge.svg)](https://pub.dartlang.org/packages/flutter_aepedgebridge) | -| [UserProfile](../profile/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepuserprofile.svg)](https://pub.dartlang.org/packages/flutter_aepuserprofile) | -| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../adobe-analytics/migrate-to-edge-network.md). | +| [Mobile Core](../base-extensions/mobile-core/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepcore.svg)](https://pub.dartlang.org/packages/flutter_aepcore) | +| [Assurance](../base-extensions/platform-assurance-sdk/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepassurance.svg)](https://pub.dartlang.org/packages/flutter_aepassurance) | +| [Edge](../edge-extensions/edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedge.svg)](https://pub.dartlang.org/packages/flutter_aepedge) | +| [EdgeIdentity](../edge-extensions/identity-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeidentity.svg)](https://pub.dartlang.org/packages/flutter_aepedgeidentity) | +| [EdgeConsent](../edge-extensions/consent-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeconsent.svg)](https://pub.dartlang.org/packages/flutter_aepedgeconsent) | +| [Edge Bridge](../solution-extensions/adobe-analytics/migrate-to-edge-network.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgebridge.svg)](https://pub.dartlang.org/packages/flutter_aepedgebridge) | +| [UserProfile](../base-extensions/profile/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepuserprofile.svg)](https://pub.dartlang.org/packages/flutter_aepuserprofile) | +| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../solution-extensions/adobe-analytics/migrate-to-edge-network.md). | | Place Service | Not Supported | | Place Monitor| Deprecated | diff --git a/src/pages/documentation/home/getting-started/create-a-mobile-property.md b/src/pages/documentation/home/getting-started/create-a-mobile-property.md index 22f2b8ae93..bbfe485cf9 100644 --- a/src/pages/documentation/home/getting-started/create-a-mobile-property.md +++ b/src/pages/documentation/home/getting-started/create-a-mobile-property.md @@ -32,14 +32,14 @@ After Data Collection UI rights have been added to your Adobe ID, log in to the 3. Select **New Property**. 4. Type a name for the property and select **Mobile** as the platform. - If necessary, you can change the [**Privacy**](../resources/privacy-and-gdpr.md#set-and-get-privacy-status) setting later. + If necessary, you can change the [**Privacy**](../../resources/privacy-and-gdpr.md#set-and-get-privacy-status) setting later. 5. Select **Save** to create the mobile property. 6. Search for the property you just created and select it to open it. -The default privacy status is set to _opted in_ and might impact data collection. For more information, see [Privacy and GDPR](../resources/privacy-and-gdpr.md). +The default privacy status is set to _opted in_ and might impact data collection. For more information, see [Privacy and GDPR](../../resources/privacy-and-gdpr.md). ![Setting default privacy status](./assets/create-a-mobile-property/create-mobile-property.png) diff --git a/src/pages/documentation/home/getting-started/enable-debug-logging.md b/src/pages/documentation/home/getting-started/enable-debug-logging.md index d02fc97a10..ddde3d0c9f 100644 --- a/src/pages/documentation/home/getting-started/enable-debug-logging.md +++ b/src/pages/documentation/home/getting-started/enable-debug-logging.md @@ -59,17 +59,17 @@ Unity ## Lifecycle metrics -Lifecycle metrics are an optional, but valuable feature provided by the Adobe Experience Platform SDK. It provides out-of-the-box, application lifecycle information about your app user. A complete list of available metrics is provided in the [lifecycle documentation](../mobile-core/lifecycle/index.md). +Lifecycle metrics are an optional, but valuable feature provided by the Adobe Experience Platform SDK. It provides out-of-the-box, application lifecycle information about your app user. A complete list of available metrics is provided in the [lifecycle documentation](../../base-extensions/mobile-core/lifecycle/index.md). These metrics contain information on the app user's engagement lifecycle such as device information, install or upgrade information, and session start and pause times. You may also set additional lifecycle metrics. -This section shows you how to collect lifecycle metrics. To view, and report on this data in those respective solutions, you need to set up [Adobe Analytics](../adobe-analytics/index.md) or other Experience Cloud solution extensions. +This section shows you how to collect lifecycle metrics. To view, and report on this data in those respective solutions, you need to set up [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) or other Experience Cloud solution extensions. -Lifecycle metrics are now available for Edge Network implementations. For more details about the XDM-based lifecycle metrics, see [Lifecycle for Edge Network](../lifecycle-for-edge-network/index.md). +Lifecycle metrics are now available for Edge Network implementations. For more details about the XDM-based lifecycle metrics, see [Lifecycle for Edge Network](../../edge-extensions/lifecycle-for-edge-network/index.md). @@ -101,4 +101,4 @@ Xamarin --> -For more information, see the documentation on [Lifecycle metrics](../mobile-core/lifecycle/index.md). +For more information, see the documentation on [Lifecycle metrics](../../base-extensions/mobile-core/lifecycle/index.md). diff --git a/src/pages/documentation/home/getting-started/tabs/get-the-sdk.md b/src/pages/documentation/home/getting-started/tabs/get-the-sdk.md index fbc088aba2..94e71ce40f 100644 --- a/src/pages/documentation/home/getting-started/tabs/get-the-sdk.md +++ b/src/pages/documentation/home/getting-started/tabs/get-the-sdk.md @@ -51,7 +51,7 @@ implementation 'com.adobe.marketing.mobile:lifecycle' -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/home/getting-started/track-events.md b/src/pages/documentation/home/getting-started/track-events.md index 211b35719e..d225701686 100644 --- a/src/pages/documentation/home/getting-started/track-events.md +++ b/src/pages/documentation/home/getting-started/track-events.md @@ -62,7 +62,7 @@ iOS ## Track user actions (for Adobe Analytics) -This section shows you how to start track user actions in your mobile app. To view and report on this data in those respective solutions, set up [Adobe Analytics](../adobe-analytics/index.md) or another Experience Cloud solution extensions. +This section shows you how to start track user actions in your mobile app. To view and report on this data in those respective solutions, set up [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) or another Experience Cloud solution extensions. Actions are events that occur in your app. Use this API to track and measure an action, where each action has one or more corresponding metrics that increment each time the event occurs. For example, you might call this API for every new subscription, every time an article is viewed, or every time a level is completed. @@ -134,7 +134,7 @@ Xamarin --> -For more information, see the [Mobile Core API Reference](../mobile-core/api-reference.md). +For more information, see the [Mobile Core API Reference](../../base-extensions/mobile-core/api-reference.md). ## Get help diff --git a/src/pages/documentation/home/index.md b/src/pages/documentation/home/index.md index 57ae14d03f..d017bd3ed0 100644 --- a/src/pages/documentation/home/index.md +++ b/src/pages/documentation/home/index.md @@ -17,11 +17,11 @@ The latest versions of the Adobe Experience Platform SDK for Apple iOS (Swift an -Effective August 31, 2023: ACP iOS SDKs, Flutter for ACP, React Native for ACP, Cordova, and Xamarin SDKs will no longer be supported. Refer to [ACP SDKs end-of-support](./resources/acp-end-of-support.md) for more information. +Effective August 31, 2023: ACP iOS SDKs, Flutter for ACP, React Native for ACP, Cordova, and Xamarin SDKs will no longer be supported. Refer to [ACP SDKs end-of-support](../resources/acp-end-of-support.md) for more information. -Check out our page discussing how we will [align major SDK versions](./resources/major-version-alignment.md) for future releases of the Adobe Experience Platform Mobile SDKs and wrappers. +Check out our page discussing how we will [align major SDK versions](../resources/major-version-alignment.md) for future releases of the Adobe Experience Platform Mobile SDKs and wrappers. @@ -52,7 +52,7 @@ The Adobe Experience Platform Mobile SDK supports the following platforms: * [Getting started](./getting-started/index.md) * [Getting the Experience Platform SDKs](./getting-started/get-the-sdk.md) -* [Frequently asked questions](./resources/faq.md) +* [Frequently asked questions](../resources/faq.md) * [Why use the Adobe Experience Platform Mobile SDKs](https://medium.com/adobetech/accelerate-your-mobile-application-development-with-adobe-experience-platform-mobile-sdk-and-launch-ed023536d611) ## Get Help diff --git a/src/pages/documentation/home/release-notes/2021.md b/src/pages/documentation/home/release-notes/2021.md index d4134caa7c..66000ea239 100644 --- a/src/pages/documentation/home/release-notes/2021.md +++ b/src/pages/documentation/home/release-notes/2021.md @@ -241,7 +241,7 @@ This SDK is compatible with Android Core 1.8.2 and above. ### iOS Campaign Standard 3.0.0 -* Initial release to support [Adobe Campaign Standard workflows](../adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-campaign-ios/). +* Initial release to support [Adobe Campaign Standard workflows](../../solution-extensions/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-campaign-ios/). ## June 7, 2021 @@ -287,7 +287,7 @@ This SDK is compatible with Android Core 1.8.2 and above. ### iOS AEPMedia 3.0.0 -* Initial release to support [Adobe Analytics - Media Analytics workflows](../adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-media-ios/). +* Initial release to support [Adobe Analytics - Media Analytics workflows](../../solution-extensions/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-media-ios/). ## April 29, 2021 @@ -316,7 +316,7 @@ You can now find the Consent for Edge Network extension in the tag extensions ca ### iOS Target 3.0.0 -* Initial release to support [Adobe Target](../adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-ios). +* Initial release to support [Adobe Target](../../solution-extensions/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-ios). ## April 8, 2021 @@ -382,7 +382,7 @@ The Adobe Experience Platform Consent (AEPEdgeConsent) mobile extension is now a ### iOS AEPAnalytics 3.0.0 -* Initial release to support [Adobe Analytics](../adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This library is available as an [open sourced project on Github](https://github.com/adobe/aepsdk-analytics-ios/). +* Initial release to support [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This library is available as an [open sourced project on Github](https://github.com/adobe/aepsdk-analytics-ios/). ## January 29, 2021 diff --git a/src/pages/documentation/home/release-notes/2022.md b/src/pages/documentation/home/release-notes/2022.md index 399ed45e4f..2d6fd4a1d0 100644 --- a/src/pages/documentation/home/release-notes/2022.md +++ b/src/pages/documentation/home/release-notes/2022.md @@ -71,7 +71,7 @@ For an end-to-end guide on how to use the extension, see the [Edge Bridge tutori ### iOS Campaign Classic 3.0.0 -* Initial release to support [Adobe Campaign Classic workflows](./index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This extension library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-ios/). +* Initial release to support [Adobe Campaign Classic workflows](../../solution-extensions/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This extension library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-ios/). ## June 30, 2022 diff --git a/src/pages/documentation/home/release-notes/index.md b/src/pages/documentation/home/release-notes/index.md index e176fd687d..ca288b64b5 100644 --- a/src/pages/documentation/home/release-notes/index.md +++ b/src/pages/documentation/home/release-notes/index.md @@ -262,7 +262,7 @@ Keywords: ### iOS Places 4.1.0 and Android Places 2.1.0 -* Added support for forwarding location entry and exit events to Adobe Experience Platform. For more information, refer to the [Places Service event forwarding to Adobe Experience Platform](/places/places-to-platform.md) guide. +* Added support for forwarding location entry and exit events to Adobe Experience Platform. For more information, refer to the [Places Service event forwarding to Adobe Experience Platform](../../solution-extensions/places/places-to-platform.md) guide. ### Android Core 2.3.1 @@ -454,7 +454,7 @@ The following React Native libraries have been upgraded to use the version 4 of ### Android BOM 2.0.0 -* Align the major version to match the current major version of the MobileCore extension for Android. Please refer to the [major version alignment document](../resources/major-version-alignment.md). +* Align the major version to match the current major version of the MobileCore extension for Android. Please refer to the [major version alignment document](../../resources/major-version-alignment.md). * This BOM ([Bill of Materials](https://central.sonatype.com/artifact/com.adobe.marketing.mobile/sdk-bom/2.0.0)) release includes changes to the following Android extensions. @@ -583,21 +583,21 @@ Note that all these extensions must be updated together. ### iOS Target 4.0.0 -Major version update for [Adobe Target](../adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Target](../../solution-extensions/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Audience 4.0.0 - Major version update for [Adobe Audience Manager](../adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: + Major version update for [Adobe Audience Manager](../../solution-extensions/adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Media 4.0.0 -Major version update for [Adobe Analytics - Media Analytics workflows](../adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Analytics - Media Analytics workflows](../../solution-extensions/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -607,22 +607,22 @@ Major version update for [Adobe Analytics - Media Analytics workflows](../adobe- ### Android Edge Media 2.0.0 -Initial release of the [Adobe Streaming Media for Edge Network](../media-for-edge-network/index.md) extension for Android which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. +Initial release of the [Adobe Streaming Media for Edge Network](../../edge-extensions/media-for-edge-network/index.md) extension for Android which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. ### iOS Edge Media 4.0.0 -Initial release of the [Adobe Streaming Media for Edge Network](../media-for-edge-network/index.md) extension for iOS which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. +Initial release of the [Adobe Streaming Media for Edge Network](../../edge-extensions/media-for-edge-network/index.md) extension for iOS which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. ### iOS Places 4.0.0 -Major version update for [Adobe Experience Platform Location Service](../places/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Experience Platform Location Service](../../solution-extensions/places/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Analytics 4.0.0 -Major version update for [Adobe Analytics](../adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -633,7 +633,7 @@ Major version update for [Adobe Analytics](../adobe-analytics/index.md) for Adob ### iOS Campaign Classic 4.0.0 -Major version update for [Adobe Campaign Classic workflows](../adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Campaign Classic workflows](../../solution-extensions/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -641,14 +641,14 @@ Major version update for [Adobe Campaign Classic workflows](../adobe-campaign-cl ### iOS Campaign Standard 4.0.0 -Major version update for [Adobe Campaign Standard workflows](../adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Campaign Standard workflows](../../solution-extensions/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS UserProfile 4.0.0 -Major version update for [User Profile](../profile/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [User Profile](../../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -664,14 +664,14 @@ Major version update for Edge Bridge for Adobe Experience Platform Mobile SDKs o ### iOS Messaging 4.0.0 -Major version update for [Adobe Journey Optimizer](../adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Journey Optimizer](../../edge-extensions/adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Optimize 4.0.0 -Major version update for [Adobe Journey Optimizer - Decisioning](../adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Journey Optimizer - Decisioning](../../edge-extensions/adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -681,21 +681,21 @@ Major version update for [Adobe Journey Optimizer - Decisioning](../adobe-journe ### iOS Consent 4.0.0 -Major version update for [Consent for Edge Network](../consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Consent for Edge Network](../../edge-extensions/consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS EdgeIdentity 4.0.0 -Major version update for [Identity for Edge Network](../identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Identity for Edge Network](../../edge-extensions/identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Edge 4.0.0 -Major version update for [Edge Network](../edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Edge Network](../../edge-extensions/edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -704,7 +704,7 @@ Major version update for [Edge Network](../edge-network/index.md) for Adobe Expe ### iOS Assurance 4.0.0 -Major version update for [Adobe Experience Platform Assurance](../platform-assurance-sdk/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Experience Platform Assurance](../../base-extensions/platform-assurance-sdk/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -1145,7 +1145,7 @@ For help on moving to these versions, and information on deprecated APIs please ### Android Target 2.0.0 -* Major version update for [Adobe Target](../adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-android). +* Major version update for [Adobe Target](../../solution-extensions/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-android). Please note that the following improvements have been made in the current release: @@ -1174,23 +1174,23 @@ import com.adobe.marketing.mobile.target.TargetParameters; ### Android Analytics 2.0.0 -* Major version update for [Adobe Analytics](../adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-analytics-android/). +* Major version update for [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-analytics-android/). ### Android Audience 2.0.0 -* Major version update for [Adobe Audience Manager](../adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-audience-android). +* Major version update for [Adobe Audience Manager](../../solution-extensions/adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-audience-android). ### Android Media 3.0.0 -* Major version update for [Adobe Analytics - Media Analytics workflows](../adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-media-android). +* Major version update for [Adobe Analytics - Media Analytics workflows](../../solution-extensions/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-media-android). ### Android Messaging 2.0.0 -* Major version update for [Adobe Journey Optimizer](../adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-messaging-android). +* Major version update for [Adobe Journey Optimizer](../../edge-extensions/adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-messaging-android). ### Android Places 2.0.0 -* Major version update for [Adobe Experience Platform Location Service](../places/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-places-android). +* Major version update for [Adobe Experience Platform Location Service](../../solution-extensions/places/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-places-android). Please note that the following improvements have been made in the current release: @@ -1215,11 +1215,11 @@ import com.adobe.marketing.mobile.places.PlacesRequestError; ### Android Optimize 2.0.0 -* Major version update for [Adobe Journey Optimizer - Decisioning](../adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This extension library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-optimize-android/). +* Major version update for [Adobe Journey Optimizer - Decisioning](../../edge-extensions/adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This extension library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-optimize-android/). ### Android Campaign Standard 2.0.0 -* Major version update for [Adobe Campaign Standard workflows](../adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaign-android). +* Major version update for [Adobe Campaign Standard workflows](../../solution-extensions/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaign-android). ## February 1, 2023 @@ -1231,33 +1231,33 @@ import com.adobe.marketing.mobile.places.PlacesRequestError; ### Android Assurance 2.0.0 -* Major version update for [Adobe Experience Platform Assurance](../platform-assurance-sdk/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-assurance-android). +* Major version update for [Adobe Experience Platform Assurance](../../base-extensions/platform-assurance-sdk/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-assurance-android). ### Android Campaign Classic 2.0.0 -* Major version update for [Adobe Campaign Classic workflows](../adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-android). +* Major version update for [Adobe Campaign Classic workflows](../../solution-extensions/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-android). Please note that the `registerDevice` API, similar to iOS, no longer provides a callback method for registration status since a `false` value cannot be accurately used as a signal to retry requests. ### Android Consent 2.0.0 -* Major version update for [Consent for Edge Network](../consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeconsent-android). +* Major version update for [Consent for Edge Network](../../edge-extensions/consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeconsent-android). ### Android Edge 2.0.0 -* Major version update for [Edge Network](../edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edge-android). +* Major version update for [Edge Network](../../edge-extensions/edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edge-android). ### Android EdgeIdentity 2.0.0 -* Major version update for [Identity for Edge Network](../identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeidentity-android). +* Major version update for [Identity for Edge Network](../../edge-extensions/identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeidentity-android). ### Android UserProfile 2.0.0 -* Major version update for [User Profile](../profile/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-userprofile-android). +* Major version update for [User Profile](../../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-userprofile-android). * The following APIs have been deprecated and will be removed in a future release: - | Deprecated API | Recommended Alternative | - | ----------------------------------- | ------------------------------------ | + | Deprecated API | Recommended Alternative | + | -------------- | ----------------------- | | `UserProfile.updateUserAttribute()` | `UserProfile.updateUserAttributes()` | | `UserProfile.removeUserAttribute()` | `UserProfile.removeUserAttributes()` | diff --git a/src/pages/documentation/resources/faq.md b/src/pages/documentation/resources/faq.md index b3b791224f..34d6008508 100644 --- a/src/pages/documentation/resources/faq.md +++ b/src/pages/documentation/resources/faq.md @@ -66,7 +66,7 @@ The Experience Platform SDK migrates the locally stored user contexts from the 4 ### What platforms are supported? -For a complete list of supported platforms, please read the [latest SDK versions document](../current-sdk-versions.md). +For a complete list of supported platforms, please read the [latest SDK versions document](../home/current-sdk-versions.md). ### What OS and platform versions are supported? @@ -138,7 +138,7 @@ Add the following rule to your custom ProGuard rules file, typically labeled `pr Implementing push notification tracking and measurement with the SDK depends on the Experience Cloud solution being used. * For the Adobe Campaign Standard extension, please read the [Adobe Campaign standard push tracking tutorial](https://experienceleague.adobe.com/docs/campaign-standard/using/administrating/configuring-mobile/push-tracking.html). -* For the Adobe Campaign Classic extension, please read the [Adobe Campaign Classic push notifications tracking tutorial](../adobe-campaign-classic/api-reference.md#tracknotification-api). +* For the Adobe Campaign Classic extension, please read the [Adobe Campaign Classic push notifications tracking tutorial](../solution-extensions/adobe-campaign-classic/api-reference.md#tracknotification-api). ## Migrating to Android Mobile Core 2.x and compatible extensions @@ -182,7 +182,7 @@ To get the latest Mobile SDK dependencies for your Android application: * Open the **mobile property** configured in the **Data Collection UI** for your application. * Navigate to the **Extensions** tab and update all the extensions to the latest version. -* The [install instructions](../getting-started/get-the-sdk.md#1-add-dependencies-to-your-project) will now show the dependencies for the latest Mobile SDK. +* The [install instructions](../home/getting-started/get-the-sdk.md#1-add-dependencies-to-your-project) will now show the dependencies for the latest Mobile SDK. ### Why do I see 'java.lang.NoSuchMethodError' after upgrading to the latest version of Mobile SDK for Android? @@ -196,7 +196,7 @@ If you attempt to use the latest Mobile Core SDK and solution SDKs that were bui java.lang.NoSuchMethodError: No static method getCore()Lcom/adobe/marketing/mobile/Core; in class Lcom/adobe/marketing/mobile/MobileCore; or its super classes (declaration of 'com.adobe.marketing.mobile.MobileCore' appears in XXX ``` -To resolve this error, upgrade all your solution SDKs to the [most recent versions](../current-sdk-versions.md#android). +To resolve this error, upgrade all your solution SDKs to the [most recent versions](../home/current-sdk-versions.md#android). ### Why do I not see 'sdk-core' dependency for latest version of Mobile SDK for Android? @@ -227,7 +227,7 @@ To resolve the build warning, remove FullscreenMessageActivity from your applica ### Why do I see 'unresolved reference' error when upgrading Adobe Target SDK to the latest version? -The [latest version](../adobe-target/release-notes.md#android-target-200) of Adobe Target Mobile SDK has the following breaking API changes for alignment with the iOS SDK: +The [latest version](../solution-extensions/adobe-target/release-notes.md#android-target-200) of Adobe Target Mobile SDK has the following breaking API changes for alignment with the iOS SDK: * **locationsDisplayed** is now **displayedLocations** * **locationClicked** is now **clickedLocation** @@ -277,11 +277,11 @@ import com.adobe.marketing.mobile.places.PlacesRequestError; ### What are Lifecycle metrics? -Lifecycle metrics are out-of-the-box metrics that are automatically collected when the SDK is first implemented in your app. For more information, please read the [documentation on Lifecycle metrics](../mobile-core/lifecycle/index.md). +Lifecycle metrics are out-of-the-box metrics that are automatically collected when the SDK is first implemented in your app. For more information, please read the [documentation on Lifecycle metrics](../home/mobile-core/lifecycle/index.md). ## Adobe Analytics -See the [frequently asked questions for Analytics](../adobe-analytics/faq.md). +See the [frequently asked questions for Analytics](../solution-extensions/adobe-analytics/faq.md). ## Adobe Experience Platform Edge Network diff --git a/src/pages/documentation/resources/major-version-alignment.md b/src/pages/documentation/resources/major-version-alignment.md index e998c74463..89d6620847 100644 --- a/src/pages/documentation/resources/major-version-alignment.md +++ b/src/pages/documentation/resources/major-version-alignment.md @@ -34,7 +34,7 @@ Unlike our previous major version updates, this is not a major rewrite nor does While we don't have plans for another major rewrite any time soon, if a need for one comes up, we will be sure to let you know with plenty of lead time. -Outside of major version updates, all of our extensions will continue to follow semantic versioning ([semver](https://semver.org/)) for minor and patch releases on an as-needed basis. We recommend using the [latest version](./../current-sdk-versions.md) of each extension, which will contain the most current optimizations and bug fixes. +Outside of major version updates, all of our extensions will continue to follow semantic versioning ([semver](https://semver.org/)) for minor and patch releases on an as-needed basis. We recommend using the [latest version](../home/current-sdk-versions.md) of each extension, which will contain the most current optimizations and bug fixes. ## How does this impact the SDK going forward? diff --git a/src/pages/documentation/resources/manage-gradle-dependencies.md b/src/pages/documentation/resources/manage-gradle-dependencies.md index 9261e827f4..38372855b1 100644 --- a/src/pages/documentation/resources/manage-gradle-dependencies.md +++ b/src/pages/documentation/resources/manage-gradle-dependencies.md @@ -12,7 +12,7 @@ keywords: Installation via [Maven](https://maven.apache.org/) and [Gradle](https://gradle.org/) is recommended, as it's the easiest way to get the Adobe Experience Platform Mobile SDK into your Android app. -The Android installation instructions generated for mobile properties in the Data Collection UI, as indicated in the [getting started guide](../getting-started/get-the-sdk.md), use dynamic versioning for Gradle dependencies. This is done to simplify getting started with the latest versions of our SDKs. Use of dynamic dependency versions is **not** recommended, as it makes builds non-deterministic, which can cause builds to break without any obvious change, and worse, can be caused by a transitive dependency that the build author has no control over. +The Android installation instructions generated for mobile properties in the Data Collection UI, as indicated in the [getting started guide](../home/getting-started/get-the-sdk.md), use dynamic versioning for Gradle dependencies. This is done to simplify getting started with the latest versions of our SDKs. Use of dynamic dependency versions is **not** recommended, as it makes builds non-deterministic, which can cause builds to break without any obvious change, and worse, can be caused by a transitive dependency that the build author has no control over. To have predictable builds, follow one of the following approaches when managing gradle dependencies. diff --git a/src/pages/documentation/resources/privacy-and-gdpr.md b/src/pages/documentation/resources/privacy-and-gdpr.md index 87c03bf8c6..cad6bde50e 100644 --- a/src/pages/documentation/resources/privacy-and-gdpr.md +++ b/src/pages/documentation/resources/privacy-and-gdpr.md @@ -28,7 +28,7 @@ The two options are documented in detail below. -If you are using a mix of Edge Network and Adobe Experience Cloud mobile extensions, please follow the steps for configuring both consent and privacy status settings. See also the [frequently asked questions](../identity-for-edge-network/faq.md) about consent and privacy settings or identities. +If you are using a mix of Edge Network and Adobe Experience Cloud mobile extensions, please follow the steps for configuring both consent and privacy status settings. See also the [frequently asked questions](../edge-extensions/identity-for-edge-network/faq.md) about consent and privacy settings or identities. ## Using Experience Platform SDKs for Edge Network @@ -36,15 +36,15 @@ If you are using a mix of Edge Network and Adobe Experience Cloud mobile extensi You can set the collect consent status to ensure collection of data suits your user's preferences. -| Extension | Collect (y) | Collect (n) | Collect (pending) | -| :--------------- | :------------ | :---------------- | :---------------- | +| Extension | Collect (y) | Collect (n) | Collect (pending) | +| :-------- | :---------- | :---------- | :---------------- | | **Edge Network** | Hits are sent | Hits are not sent | Hits are queued | > **Note:** When no default collect consent value is defined in configuration, the SDK defaults to Yes (y) for collect consent. -Updating the collect consent status to No (n) does not reset or clear the identities of the current user. If you need to reset all current identities, use the [MobileCore.resetIdentities()](../mobile-core/api-reference.md#resetidentities) API. +Updating the collect consent status to No (n) does not reset or clear the identities of the current user. If you need to reset all current identities, use the [MobileCore.resetIdentities()](../base-extensions/mobile-core/api-reference.md#resetidentities) API. ### Collect consent settings @@ -88,11 +88,11 @@ iOS ### getIdentities -When using the Edge Network extensions, use the [Identity.getIdentities](../identity-for-edge-network/api-reference.md#getidentities) API to retrieve all the identifier data stored locally by the SDK and send this data to your servers. +When using the Edge Network extensions, use the [Identity.getIdentities](../edge-extensions/identity-for-edge-network/api-reference.md#getidentities) API to retrieve all the identifier data stored locally by the SDK and send this data to your servers. ## Configuration keys -To programmatically update the SDK configuration, use the following information to change your default consent values. For more information, see the [configuration API reference](../mobile-core/configuration/api-reference.md). +To programmatically update the SDK configuration, use the following information to change your default consent values. For more information, see the [configuration API reference](../base-extensions/mobile-core/configuration/api-reference.md). | Key | Description | | :--- | :--------- | @@ -144,15 +144,15 @@ iOS ### getSdkIdentities -To retrieve all the identifier data stored locally by the SDK as a JSON string, use the [getSdkIdentities](../mobile-core/api-reference.md#getsdkidentities) API from the Mobile Core extension. +To retrieve all the identifier data stored locally by the SDK as a JSON string, use the [getSdkIdentities](../base-extensions/mobile-core/api-reference.md#getsdkidentities) API from the Mobile Core extension. -When using both Edge Network and Adobe Solutions extensions, use both [Identity.getIdentities](../identity-for-edge-network/api-reference.md#getidentities) API and [MobileCore.getSdkIdentities](../mobile-core/api-reference.md#getsdkidentities) APIs to retrieve all the identifier data stored locally by the SDK. +When using both Edge Network and Adobe Solutions extensions, use both [Identity.getIdentities](../edge-extensions/identity-for-edge-network/api-reference.md#getidentities) API and [MobileCore.getSdkIdentities](../base-extensions/mobile-core/api-reference.md#getsdkidentities) APIs to retrieve all the identifier data stored locally by the SDK. ## Configuration keys -To update the SDK configuration, programmatically, use the following information to change your privacy configuration values. For more information, [Configuration API reference](../mobile-core/configuration/api-reference.md). +To update the SDK configuration, programmatically, use the following information to change your privacy configuration values. For more information, [Configuration API reference](../base-extensions/mobile-core/configuration/api-reference.md). | Key | Description | | :--- | :--- | diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md b/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md index 23a12b161d..8f7ba6e34d 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md @@ -6,8 +6,8 @@ import Tabs from './tabs/analytics.md' The Adobe Experience Platform Analytics extension uses [tags](https://experience.adobe.com/#/data-collection/) to configure the Experience Platform SDKs. This replaces the ADBMobileConfig.json which the Mobile Services SDK used for configuration. To get started with the AEP SDKs: -1. Create a mobile property on tags.
See [Set up a mobile property](../../getting-started/create-a-mobile-property.md) for more information. -2. Configure your mobile app with the create mobile property.
The AEP Mobile Core extension provides general functionality required by all the Adobe AEP extensions. The Configuration extension is built into the Mobile Core and contains the configureWithAppId API. This API is used to link the tag mobile property with your mobile app. The documentation for this API can be seen at the [Configuration API Reference](../../mobile-core/configuration/api-reference.md#configurewithappid) page. A code sample showing the usage of this API is provided below. +1. Create a mobile property on tags.
See [Set up a mobile property](../../home/getting-started/create-a-mobile-property.md) for more information. +2. Configure your mobile app with the create mobile property.
The AEP Mobile Core extension provides general functionality required by all the Adobe AEP extensions. The Configuration extension is built into the Mobile Core and contains the configureWithAppId API. This API is used to link the tag mobile property with your mobile app. The documentation for this API can be seen at the [Configuration API Reference](../../base-extensions/mobile-core/configuration/api-reference.md#configurewithappid) page. A code sample showing the usage of this API is provided below. 3. Once all the Platform extensions are imported and configured correctly, remove the v4 Mobile SDK dependency.
This step is mandatory and a mix of v4 and AEP API calls is not supported. @@ -29,14 +29,14 @@ For an overview of the API mapping between the Mobile Services SDK and Adobe Exp | API | Notes | |---|---| | trackActionFromBackground | Deprecated | -| trackLocation:data: | This functionality is available in the [Places extension](../../places/index.md). | -| trackBeacon:Data: | Support modified. [See guide](../../adobe-analytics/track-beacon.md). | -| trackingClearCurrentBeacon | Support modified. [See guide](../../adobe-analytics/track-beacon.md). | -| trackLifetimeValueIncrease:data: | This functionality can be recreated using the [Analytics](../../adobe-analytics/index.md) and [User Profile](../../profile/index.md) extensions. -| trackTimedActionStart: | This functionality can be recreated using the [Analytics](../../adobe-analytics/index.md) and [User Profile](../../profile/index.md) extensions. -| trackTimedActionUpdate: | This functionality can be recreated using the [Analytics](../../adobe-analytics/index.md) and [User Profile](../../profile/index.md) extensions. -| trackTimedActionEnd: | This functionality can be recreated using the [Analytics](../../adobe-analytics/index.md) and [User Profile](../../profile/index.md) extensions. -| trackTimedActionExists: | This functionality can be recreated using the [Analytics](../../adobe-analytics/index.md) and [User Profile](../../profile/index.md) extensions. +| trackLocation:data: | This functionality is available in the [Places extension](../../solution-extensions/places/index.md). | +| trackBeacon:Data: | Support modified. [See guide](../../solution-extensions/adobe-analytics/track-beacon.md). | +| trackingClearCurrentBeacon | Support modified. [See guide](../../solution-extensions/adobe-analytics/track-beacon.md). | +| trackLifetimeValueIncrease:data: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | +| trackTimedActionStart: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | +| trackTimedActionUpdate: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | +| trackTimedActionEnd: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | +| trackTimedActionExists: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | ## Experience Platform extensions installation and setup @@ -54,7 +54,7 @@ iOS -For more details, see [Add Analytics to your application](../../adobe-analytics/index.md#add-analytics-to-your-application). +For more details, see [Add Analytics to your application](../../solution-extensions/adobe-analytics/index.md#add-analytics-to-your-application). ## API changes diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md b/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md index 13c4c0bcb8..f1fd0aa4a4 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md @@ -4,7 +4,7 @@ This page details SDK API changes between the Experience Platform SDKs and 4x SD ## Mobile Core APIs -For more information, see the [Mobile Core API reference](../../mobile-core/api-reference.md). +For more information, see the [Mobile Core API reference](../../base-extensions/mobile-core/api-reference.md). ### Supported APIs @@ -13,13 +13,13 @@ For more information, see the [Mobile Core API reference](../../mobile-core/api- | extensionVersion: | version/getVersion | | [getPrivacyStatus:](../privacy-and-gdpr.md#getprivacystatus) | privacyStatus | | [setPrivacyStatus:](../privacy-and-gdpr.md#setprivacystatus) | setPrivacyStatus: | -| [setLogLevel:](../../mobile-core/api-reference.md#setloglevel) | setDebugLogging: | -| [configureWithFileInPath:](../../mobile-core/configuration/api-reference.md/#configurewithfileinpath) | overrideConfigPath: | -| [setAppGroup:](../../mobile-core/api-reference.md#setappgroup) | setAppGroup: | -| [trackState:data:](../../mobile-core/api-reference.md#trackstate) | trackState:data: | -| [trackAction:data:](../../mobile-core/api-reference.md#trackaction) | trackAction:data: | -| [collectPII:](../../mobile-core/api-reference.md#collectpii) | collectPII: | -| [getSdkIdentities:](../../mobile-core/identity/api-reference.md#getsdkidentities) | getAllIdentifiersAsync: | +| [setLogLevel:](../../base-extensions/mobile-core/api-reference.md#setloglevel) | setDebugLogging: | +| [configureWithFileInPath:](../../base-extensions/mobile-core/configuration/api-reference.md/#configurewithfileinpath) | overrideConfigPath: | +| [setAppGroup:](../../base-extensions/mobile-core/api-reference.md#setappgroup) | setAppGroup: | +| [trackState:data:](../../base-extensions/mobile-core/api-reference.md#trackstate) | trackState:data: | +| [trackAction:data:](../../base-extensions/mobile-core/api-reference.md#trackaction) | trackAction:data: | +| [collectPII:](../../base-extensions/mobile-core/api-reference.md#collectpii) | collectPII: | +| [getSdkIdentities:](../../base-extensions/mobile-core/identity/api-reference.md#getsdkidentities) | getAllIdentifiersAsync: | ### Deprecated APIs and functionality @@ -27,7 +27,7 @@ For more information, see the [Mobile Core API reference](../../mobile-core/api- |---|---| | trackActionFromBackground | Deprecated | | trackLocation:data: | Deprecated | -| trackBeacon:Data: | Support modified. See [guide](../../adobe-analytics/track-beacon.md) | +| trackBeacon:Data: | Support modified. See [guide](../../solution-extensions/adobe-analytics/track-beacon.md) | | trackingClearCurrentBeacon | Deprecated | | registerAdobeDataCallback: | Deprecated | | lifetimeValue | Deprecated | @@ -45,15 +45,15 @@ For more information, see the [Mobile Core API reference](../../mobile-core/api- -In the v4 iOS SDK, Lifecycle start and stop calls are made automatically by the SDK. In the Adobe Experience Platform Mobile SDK, the calls to start and stop lifecycle need to be made by the application developer. For more information, see the [Lifecycle extension](../../mobile-core/lifecycle/index.md). +In the v4 iOS SDK, Lifecycle start and stop calls are made automatically by the SDK. In the Adobe Experience Platform Mobile SDK, the calls to start and stop lifecycle need to be made by the application developer. For more information, see the [Lifecycle extension](../../base-extensions/mobile-core/lifecycle/index.md). -For more information, see the [Lifecycle API reference](../../mobile-core/lifecycle/api-reference.md). +For more information, see the [Lifecycle API reference](../../base-extensions/mobile-core/lifecycle/api-reference.md). | Experience Platform SDK | 4x SDK | |---|---| -| [lifecycleStart:](../../mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleData | -| [lifecycleStart:](../../mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleWithAdditionalData | -| [lifecyclePause](../../mobile-core/lifecycle/api-reference.md#lifecyclepause) | pauseCollectingLifecycleData (Android only) | +| [lifecycleStart:](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleData | +| [lifecycleStart:](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleWithAdditionalData | +| [lifecyclePause](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) | pauseCollectingLifecycleData (Android only) | ### Deprecated APIs @@ -63,60 +63,60 @@ For more information, see the [Lifecycle API reference](../../mobile-core/lifecy ## Identity extension APIs -For more information, see the [Identity API reference](../../mobile-core/identity/api-reference.md). +For more information, see the [Identity API reference](../../base-extensions-mobile-core/identity/api-reference.md). ### Supported APIs | Experience Platform SDK | 4x SDK | |---|---| -| [setPushIdentifier:](../../mobile-core/identity/api-reference.md#setpushidentifier) | setPushIdentifier | -| [setAdvertisingIdentifier:](../../mobile-core/identity/api-reference.md#setadvertisingidentifier) | setAdvertisingIdentifier | -| [getExperienceCloudId:](../../mobile-core/identity/api-reference.md#getexperiencecloudid) | visitorMarketingCloudID | -| [syncIdentifiers:](../../mobile-core/identity/api-reference.md#syncidentifiers) | visitorSyncIdentifiers | -| [syncIdentifiers:authentication:](../../mobile-core/identity/api-reference.md#syncidentifiers-overloaded) | visitorSyncIdentifiers:authenticationState: | -| [syncIdentifier:identifier:authentication:](../../mobile-core/identity/api-reference.md#syncidentifier) |visitorSyncIdentifiersWithType:identifier:authenticationState: | -| [getIdentifiers](../../mobile-core/identity/api-reference.md#getidentifiers) | visitorGetIDs | -| [appendToURL:withCallback:](../../mobile-core/identity/api-reference.md#appendtourl--appendvisitorinfoforurl) | visitorAppendToURL: | -| [getUrlVariables](../../mobile-core/identity/api-reference.md#geturlvariables) | visitorGetUrlVariablesAsync: | +| [setPushIdentifier:](../../base-extensions/mobile-core/identity/api-reference.md#setpushidentifier) | setPushIdentifier | +| [setAdvertisingIdentifier:](../../base-extensions/mobile-core/identity/api-reference.md#setadvertisingidentifier) | setAdvertisingIdentifier | +| [getExperienceCloudId:](../../base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) | visitorMarketingCloudID | +| [syncIdentifiers:](../../base-extensions/mobile-core/identity/api-reference.md#syncidentifiers) | visitorSyncIdentifiers | +| [syncIdentifiers:authentication:](../../base-extensions/mobile-core/identity/api-reference.md#syncidentifiers-overloaded) | visitorSyncIdentifiers:authenticationState: | +| [syncIdentifier:identifier:authentication:](../../base-extensions/mobile-core/identity/api-reference.md#syncidentifier) |visitorSyncIdentifiersWithType:identifier:authenticationState: | +| [getIdentifiers](../../base-extensions/mobile-core/identity/api-reference.md#getidentifiers) | visitorGetIDs | +| [appendToURL:withCallback:](../../base-extensions/mobile-core/identity/api-reference.md#appendtourl--appendvisitorinfoforurl) | visitorAppendToURL: | +| [getUrlVariables](../../base-extensions/mobile-core/identity/api-reference.md#geturlvariables) | visitorGetUrlVariablesAsync: | ## Adobe Analytics extension APIs -For more information, see the [Analytics API reference](../../adobe-analytics/api-reference.md). +For more information, see the [Analytics API reference](../../solution-extensions/adobe-analytics/api-reference.md). ### Supported APIs | Experience Platform SDK | 4x SDK | |---|---| -| [getVisitorIdentifier:](../../adobe-analytics/api-reference.md#getvisitoridentifier) | getUserIdentifier | -| [setVisitorIdentifier:](../../adobe-analytics/api-reference.md#setvisitoridentifier) | setUserIdentifier | -| [getTrackingIdentifier:](../../adobe-analytics/api-reference.md#gettrackingidentifier) | trackingIdentifier | -| [sendQueuedHits:](../../adobe-analytics/api-reference.md#sendqueuedhits) | trackingSendQueuedHits | -| [clearQueue](../../adobe-analytics/api-reference.md#clearqueue) | trackingClearQueue | -| [getQueueSize](../../adobe-analytics/api-reference.md#getqueuesize) | trackingGetQueueSize | +| [getVisitorIdentifier:](../../solution-extensions/adobe-analytics/api-reference.md#getvisitoridentifier) | getUserIdentifier | +| [setVisitorIdentifier:](../../solution-extensions/adobe-analytics/api-reference.md#setvisitoridentifier) | setUserIdentifier | +| [getTrackingIdentifier:](../../solution-extensions/adobe-analytics/api-reference.md#gettrackingidentifier) | trackingIdentifier | +| [sendQueuedHits:](../../solution-extensions/adobe-analytics/api-reference.md#sendqueuedhits) | trackingSendQueuedHits | +| [clearQueue](../../solution-extensions/adobe-analytics/api-reference.md#clearqueue) | trackingClearQueue | +| [getQueueSize](../../solution-extensions/adobe-analytics/api-reference.md#getqueuesize) | trackingGetQueueSize | ## Adobe Audience Manager extension APIs -For more information, see the [Audience Manager Extension API reference](../../adobe-audience-manager/api-reference.md). +For more information, see the [Audience Manager Extension API reference](../../solution-extensions/adobe-audience-manager/api-reference.md). ### Supported APIs | Experience Platform SDK | 4x SDK | |---|---| -| [​getVisitorProfile:​](../../adobe-audience-manager/api-reference.md#getvisitorprofile) | audienceVisitorProfile | -| [​signalWithData:callback:​](../../adobe-audience-manager/api-reference.md#signalwithdata) | audienceSignalWithData:callback | -| [​reset​](../../adobe-audience-manager/api-reference.md#reset-identifiers-and-profiles) | audienceReset | +| [​getVisitorProfile:​](../../solution-extensions/adobe-audience-manager/api-reference.md#getvisitorprofile) | audienceVisitorProfile | +| [​signalWithData:callback:​](../../solution-extensions/adobe-audience-manager/api-reference.md#signalwithdata) | audienceSignalWithData:callback | +| [​reset​](../../solution-extensions/adobe-audience-manager/api-reference.md#reset-identifiers-and-profiles) | audienceReset | ### Deprecated APIs | 4x SDK | Notes | -|---|---| +| ------ | ----- | | audienceSetDpid:dpuuid: | Replaced - See [Link](​https://experienceleague.adobe.com/docs/audience-manager/user-guide/reference/cid.html) | -| audienceDpid: | Replaced - See [Link](https://experienceleague.adobe.com/docs/audience-manager/user-guide/reference/cid.html) |​ +| audienceDpid: | Replaced - See [Link](https://experienceleague.adobe.com/docs/audience-manager/user-guide/reference/cid.html) | | audienceDpuuid: | Replaced - See [Link](https://experienceleague.adobe.com/docs/audience-manager/user-guide/reference/cid.html) | ​## Adobe Target extension APIs -For more information see [Target API reference](../../adobe-target/api-reference.md). +For more information see [Target API reference](../../solution-extensions/adobe-target/api-reference.md). ### Supported APIs diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md b/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md index 7b1613165f..9428ec4c1e 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md @@ -43,14 +43,14 @@ The following tables provide information about the differences between the new E | Functionality | 4x SDK | Experience Platform SDK | |---|---|---| -| Postbacks - Get/POST URL requests | Yes | Yes - [Signals](../../mobile-core/signal/index.md) extension | -| Postbacks - PII Get/POST URL requests | Yes | Yes - [Signals](../../mobile-core/signal/index.md) extension | -| Postbacks - Open app deeplink | Yes | Yes - [Signals](../../mobile-core/signal/index.md) extension | +| Postbacks - Get/POST URL requests | Yes | Yes - [Signals](../../base-extensions/mobile-core/signal/index.md) extension | +| Postbacks - PII Get/POST URL requests | Yes | Yes - [Signals](../../base-extensions/mobile-core/signal/index.md) extension | +| Postbacks - Open app deeplink | Yes | Yes - [Signals](../../base-extensions/mobile-core/signal/index.md) extension | | Push Messaging | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated) | | In-app Messaging | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated) | | Marketing/Acquisition Links | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated)| -| Geo location and beacon tracking | Yes | Yes - [Places extension](../../places/index.md) | -| Geo points-of-interest management | Yes | Yes - [Places extension](../../places/index.md) | +| Geo location and beacon tracking | Yes | Yes - [Places extension](../../solution-extensions/places/index.md) | +| Geo points-of-interest management | Yes | Yes - [Places extension](../../solution-extensions/places/index.md) | ### Adobe Audience Manager diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/index.md b/src/pages/documentation/resources/upgrade-platform-sdks/index.md index bfdd9c933c..5936c59716 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/index.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/index.md @@ -34,14 +34,14 @@ The Experience Platform SDKs contain breaking changes from the version 4 SDKs.Mobile Core contains core SDK functionality that is required for all implementations that require Adobe and/or third-party extensions. +* The Experience Platform SDKs introduce the [Mobile Core](../../base-extensions/mobile-core/index.md) and constituent extensions.
Mobile Core contains core SDK functionality that is required for all implementations that require Adobe and/or third-party extensions. * The Mobile Core and other extensions are configured in the Data Collection UI in a mobile property.
When published, the Data Collection UI hosts this property configuration and makes it for your SDK implementation. * You decide which SDK extensions to add, configure, and ultimately include in your app project.
This provides the flexibility to customize your implementations.
**Important:** Some extensions depend on others for proper functioning, and these are documented where applicable. * We recommend that you ease your build process by use supported dependency managers, such as Gradle for Android and Cocoapods for iOS. The Data Collection UI provides inline instructions and specs to help you with this process. ### Get started with the upgrade -1. Begin with the [Getting Started](../getting-started/create-a-mobile-property.md) section and ensure that you are appropriately provisioned for tags. +1. Begin with the [Getting Started](../../home/getting-started/create-a-mobile-property.md) section and ensure that you are appropriately provisioned for tags. 2. Ensure all of the required SDK APIs that you currently use are available in the new SDK.
For more information, see [Experience Platform SDKs vs. the 4x SDKs](comparison.md).
**Tip:** The Experience Platform SDK supports iOS versions 10+, Android 4.4+ (API 19+). 3. If you are implementing Analytics, see [Processing rules overview](https://experienceleague.adobe.com/docs/analytics/admin/admin-tools/processing-rules/processing-rules.html) to map the variables and rules. 4. In the Experience Platform SDK, you need to manually implement your Lifecycle calls. For more information, see [Manual Lifecycle Implementation](lifecycle.md). diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/v4-faq.md b/src/pages/documentation/resources/upgrade-platform-sdks/v4-faq.md index 3d90b1cf9b..08c800288d 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/v4-faq.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/v4-faq.md @@ -4,7 +4,7 @@ The version 4 SDKs were first released in September 2013 to support mobile app implementations for Adobe Analytics (including Mobile Services), Adobe Audience Manager, Adobe Target, and Adobe Campaign. These performant, well-tested SDKs provided rich functionality and are used in well over 18,000 apps across app stores. -Spurred by customer feedback for more control, performance, and functionality over the years; and to support future product enhancements, we released the re-architected [Adobe Experience Platform Mobile SDKs](../../../index.md) in September 2018. The new Experience Platform Mobile SDKs replaces the version 4 SDKs and provide support for new features such as flexible configuration through the Data Collection UI, modular Adobe and partner extensions. +Spurred by customer feedback for more control, performance, and functionality over the years; and to support future product enhancements, we released the re-architected Adobe Experience Platform Mobile SDKs in September 2018. The new Experience Platform Mobile SDKs replaces the version 4 SDKs and provide support for new features such as flexible configuration through the Data Collection UI, modular Adobe and partner extensions. Solutions such as [Places Service](https://experienceleague.adobe.com/docs/places/using/home.html) and [Adobe Experience Platform Assurance](https://experienceleague.adobe.com/docs/experience-platform/assurance/home.html) are exclusively available on Experience Platform Mobile SDKs. @@ -18,7 +18,7 @@ Yes! This end-of-support statement does not affect your use of Mobile Services i ## Can I still download and use the version 4 SDKs? -You can continue to use the version 4 SDKs after the end-of-support dates. However, as mentioned in the [end-of-support considerations section](../index.md#end-of-support-considerations), no support will be provided. +You can continue to use the version 4 SDKs after the end-of-support dates. However, as mentioned in the [end-of-support considerations section](./index.md#end-of-support-considerations), no support will be provided. diff --git a/src/pages/documentation/resources/user-guides/app-extension.md b/src/pages/documentation/resources/user-guides/app-extension.md index a05d740bd4..651b845004 100644 --- a/src/pages/documentation/resources/user-guides/app-extension.md +++ b/src/pages/documentation/resources/user-guides/app-extension.md @@ -9,11 +9,11 @@ keywords: # iOS App Extension implementation -You can use supported Adobe Experience Platform mobile extensions in your App Extensions to collect usage data. The supported Platform mobile extensions are listed [here](../current-sdk-versions.md#ios). +You can use supported Adobe Experience Platform mobile extensions in your App Extensions to collect usage data. The supported Platform mobile extensions are listed [here](../../home/current-sdk-versions.md#ios). ## Prerequisites -* This tutorial assumes a basic understanding of how to use the iOS AEP Mobile SDK in applications. For more details see [Getting Started](../getting-started/index.md). +* This tutorial assumes a basic understanding of how to use the iOS AEP Mobile SDK in applications. For more details see [Getting Started](../../home/getting-started/index.md). * You should have CocoaPods installed. ## Adding the AEP mobile extensions diff --git a/src/pages/documentation/resources/user-guides/attach-data.md b/src/pages/documentation/resources/user-guides/attach-data.md index d33f1f8364..2d86ff63ac 100644 --- a/src/pages/documentation/resources/user-guides/attach-data.md +++ b/src/pages/documentation/resources/user-guides/attach-data.md @@ -14,9 +14,9 @@ import AttachingDataTarget from './tabs/attach-data/attaching-data/target.md' # Attach data to SDK events -The attach data_rule action is supported in [Mobile Core](../mobile-core/index.md) starting from version 2.1.8 (Launch), 2.3.5 (iOS), and 1.4.5 (Android). This action is powerful, complex, and enables advanced use cases. +The attach data_rule action is supported in [Mobile Core](../../base-extensions/mobile-core/index.md) starting from version 2.1.8 (Launch), 2.3.5 (iOS), and 1.4.5 (Android). This action is powerful, complex, and enables advanced use cases. -To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../mobile-core/rules-engine/index.md). +To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../base-extensions/mobile-core/rules-engine/index.md). ## Context @@ -30,7 +30,7 @@ In the Experience Platform Mobile SDK, events hold all the data that is required | Source | Indicates the cause or the directionality of the event. For example, a request or a response. | | Event data | The data required to define the event. For example, context data on an Analytics event. | -Extensions that register with [Mobile Core](../mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. +Extensions that register with [Mobile Core](../../base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. ### How are events created in the SDK? diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md index e4466f4f67..d28aec9c4e 100644 --- a/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md +++ b/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md @@ -63,7 +63,7 @@ To create a configuration identifier use the following steps: * Select `Add service` and from the drop-down select `Adobe Experience Platform`. - * For the `Event Dataset`, select the XDM dataset you created in [Initialize Adobe Experience Platform for data collection](../../edge-network/index.md). + * For the `Event Dataset`, select the XDM dataset you created in [Initialize Adobe Experience Platform for data collection](../../../edge-extensions/edge-network/index.md). * Click `Save`. ![](./assets/overview/enable-datastreams.png) @@ -72,9 +72,9 @@ To create a configuration identifier use the following steps: As a prerequisite, the Adobe Experience Platform Edge extension requires the successful implementation of the Adobe Experience Platform Mobile SDK - [Mobile Core](../../mobile-core/index.md). -Experience Edge extension relies on the [Mobile Core](../../mobile-core/index.md) for the transmission of events, managing identity (ECID), and triggering client-side rules based on XDM. +Experience Edge extension relies on the [Mobile Core](../../../base-extensions/mobile-core/index.md) for the transmission of events, managing identity (ECID), and triggering client-side rules based on XDM. -1. First, follow the steps in the [set up a mobile property tutorial](../../getting-started/create-a-mobile-property.md) in the Data Collection UI. +1. First, follow the steps in the [set up a mobile property tutorial](../../../home/getting-started/create-a-mobile-property.md) in the Data Collection UI. 2. Install the `Adobe Experience Platform Edge` extension from the Catalog. 3. In the configuration view, from `Edge Configuration` section select the `Datastream` configuration you created in the `Generate a Datastream identifier` step and click `Save`. 4. Install the `AEP Assurance` extension from the Catalog. @@ -184,7 +184,7 @@ AEP Assurance (formerly known as Project Griffon) is a product from Adobe that l ![](./assets/overview/commerce-assurance-connection.png) 7. Once connected to Assurance, you will see a Platform icon in red color on the top right corner of the app view. The color of the Platform icon becomes gray if the connectivity to Assurance server is lost for any reason. In this case, you want to reconnect to continue to see the session in the UI. -8. In the Assurance session, you should now start seeing events populating the Events List. When clicking the `Purchase` button from the `Edge` tab, you should see the Experience events sent to Experience Edge. For more details, refer to [Event types handled by the AEP Mobile extension](../../edge-network/validation.md). +8. In the Assurance session, you should now start seeing events populating the Events List. When clicking the `Purchase` button from the `Edge` tab, you should see the Experience events sent to Experience Edge. For more details, refer to [Event types handled by the AEP Mobile extension](../../../edge-extensions/edge-network/validation.md). To check the XDM Experience event was successfully validated, check that the `validation for the given event was successful` message is present in the `service com.adobe.streaming.validation` event. @@ -225,7 +225,7 @@ Use the `sendPurchaseXDMEvent` as an example and Assurance to validate that the ## Next steps -If you would like to explore other XDM schemas for your mobile use-case, find more details in the [Adobe Experience Platform - Experience Edge](../../edge-network/index.md) page. +If you would like to explore other XDM schemas for your mobile use-case, find more details in the [Adobe Experience Platform - Experience Edge](../../../edge-extensions/edge-network/index.md) page. To learn more about Experience Data Model (XDM), schemas, datasets, and field groups, read [XDM System overview](https://experienceleague.adobe.com/docs/experience-platform/xdm/home.html). diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md index 508f89296f..a43e61f0d4 100644 --- a/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md +++ b/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md @@ -109,7 +109,7 @@ Add a new rule in the Data Collection UI or update the one created in the previo ### Next steps -Find more details about the Adobe Experience Platform Mobile SDK Rules Engine and the supported rule types, please read the [Rules Engine documentation](../../mobile-core/rules-engine/index.md) and the [Rules Engine GitHub](https://github.com/adobe/aepsdk-rulesengine-ios). +Find more details about the Adobe Experience Platform Mobile SDK Rules Engine and the supported rule types, please read the [Rules Engine documentation](../../../base-extensions/mobile-core/rules-engine/index.md) and the [Rules Engine GitHub](https://github.com/adobe/aepsdk-rulesengine-ios). For more rules examples in the Data Collection UI, see the following links: diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md index 30172f924d..9c4a8f55a2 100644 --- a/src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md +++ b/src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md @@ -166,15 +166,15 @@ The customer profile can be viewed in [Adobe Experience Platform](https://experi To learn more about the Adobe Customer Profile, see the [Identity Service overview](https://experienceleague.adobe.com/docs/experience-platform/identity/home.html) and the [Identity namespace overview](https://experienceleague.adobe.com/docs/experience-platform/identity/namespaces.html). -## Extra credit: Create segment based on Identity Authentication State +## Extra credit: Create audience based on Identity Authentication State -Create a segment in [Adobe Experience Platform](https://experience.adobe.com/platform) for the customer profiles where the `Authenticated State = Ambiguous`. +Create an audience in [Adobe Experience Platform](https://experience.adobe.com/platform) for the customer profiles where the `Authenticated State = Ambiguous`. -1. Select **Segments** from the left panel, followed by **Create segment**. +1. Select **Audiences** from the left panel, followed by **Create audience** and **Build rule**. 2. Select **Events**, followed by **XDM Experience Event** and **Identity Map** and add the **Authenticated State** element in the **Start building segment** section. 3. Select **Include Identity Map** within email where `Authenticated State` equals `Ambiguous`. -4. Set the name for this segment, for example "Users with email and authenticated state ambiguous". +4. Set the name for this audience, for example "Users with email and authenticated state ambiguous". 5. Select **Save**. -6. Once the segment is computed, you can see how many users qualify for this segment. +6. Once the audience is computed, you can see how many users qualify for this audience. For more details about segmentation in Adobe Experience Platform, see the [Segment Builder user guide](https://experienceleague.adobe.com/docs/experience-platform/segmentation/ui/segment-builder.html). diff --git a/src/pages/documentation/resources/user-guides/index.md b/src/pages/documentation/resources/user-guides/index.md index 1c8addda52..7c88837ed1 100644 --- a/src/pages/documentation/resources/user-guides/index.md +++ b/src/pages/documentation/resources/user-guides/index.md @@ -17,4 +17,4 @@ This sections provides a starting point for mobile application developers who wa ## Building mobile extensions -To learn how to extend Mobile SDK to support customer-specific features, and allow for the greatest flexibility, please read the guide on [building mobile extensions](building-mobile-extensions.md). +To learn how to extend Mobile SDK to support customer-specific features, and allow for the greatest flexibility, please read the guide on [building mobile extensions](./building-mobile-extensions.md). diff --git a/src/pages/documentation/resources/user-guides/modify-data.md b/src/pages/documentation/resources/user-guides/modify-data.md index 1516b7e86c..1fb0970329 100644 --- a/src/pages/documentation/resources/user-guides/modify-data.md +++ b/src/pages/documentation/resources/user-guides/modify-data.md @@ -10,9 +10,9 @@ keywords: # Modify data in SDK events -The modify data rule action is supported in [Mobile Core](../mobile-core/index.md) starting from version 2.1.14 (Launch), version 2.7.0 (iOS), and 1.5.5 (Android). This action is powerful, complex, and enables advanced use cases. +The modify data rule action is supported in [Mobile Core](../../base-extensions/mobile-core/index.md) starting from version 2.1.14 (Launch), version 2.7.0 (iOS), and 1.5.5 (Android). This action is powerful, complex, and enables advanced use cases. -To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../mobile-core/rules-engine/index.md). +To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../base-extensions/mobile-core/rules-engine/index.md). ## Context @@ -26,7 +26,7 @@ In the Experience Platform Mobile SDK, events hold all the data that is required | Source | Indicates the cause of or directionality of the event. For example, a request or a response. | | Event data | Additional data is required to define the event. For example, context data on an Analytics event. | -Extensions that register with [Mobile Core](../mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. +Extensions that register with [Mobile Core](../../base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. ### How are events created in the SDK? diff --git a/src/pages/documentation/resources/user-guides/tags-data-elements.md b/src/pages/documentation/resources/user-guides/tags-data-elements.md index ed9a752929..73965acdb7 100644 --- a/src/pages/documentation/resources/user-guides/tags-data-elements.md +++ b/src/pages/documentation/resources/user-guides/tags-data-elements.md @@ -22,7 +22,7 @@ You can use data elements during rule creation to consolidate the definition of As a best practice, you should reuse data elements. -Data elements are building blocks for rules and allow you create a data dictionary of commonly used data in the Experience Platform Mobile SDK, regardless of where they originate (shared state, event data) or which extension creates them. Data elements are populated with data when they are processed in the [Rules Engine](../mobile-core/rules-engine/index.md). +Data elements are building blocks for rules and allow you create a data dictionary of commonly used data in the Experience Platform Mobile SDK, regardless of where they originate (shared state, event data) or which extension creates them. Data elements are populated with data when they are processed in the [Rules Engine](../../base-extensions/mobile-core/rules-engine/index.md). To use data elements at a high level, complete the following steps: @@ -75,16 +75,16 @@ In the following example, a rule is created to send a postback that contains the ## Publish the configuration -After the property is published, this new rule is made available for download by the applications that are configured for this property. For more information, please read the [publish the configuration tutorial](../getting-started/create-a-mobile-property.md#publish-configuration) and the [configure the SDK with an Environment ID tutorial](../getting-started/track-events.md#configure-the-sdk-with-an-environment-id). When the application launches, this rule is triggered, and if the ECID exists in the SDK, a postback is sent to the URL with the ECID value. +After the property is published, this new rule is made available for download by the applications that are configured for this property. For more information, please read the [publish the configuration tutorial](../../home/getting-started/create-a-mobile-property.md#publish-configuration) and the [configure the SDK with an Environment ID tutorial](../../home/getting-started/track-events.md#configure-the-sdk-with-an-environment-id). When the application launches, this rule is triggered, and if the ECID exists in the SDK, a postback is sent to the URL with the ECID value. ## Additional information Here is some additional information about the Rules Engine and the Signal extension: -* [Rules Engine](../mobile-core/rules-engine/index.md) +* [Rules Engine](../../base-extensions/mobile-core/rules-engine/index.md) An overview and technical details of the Experience Platform Mobile SDK Rules Engine. -* [Signal extension and Rules Engine integration](../mobile-core/signal/rules-engine-integration.md) +* [Signal extension and Rules Engine integration](../../base-extensions/mobile-core/signal/rules-engine-integration.md) This section provides an example of how to create rules to trigger actions in the Signals extension. diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md b/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md index dfd7c9465d..acd2245bf4 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md @@ -96,7 +96,7 @@ Retrieves the Analytics tracking identifier that is generated for this app/devic -If you have an [Experience Cloud ID](../mobile-core/identity/api-reference.md#getexperiencecloudid) and have not yet configured a visitor ID grace period, the value returned by `getTrackingIdentifier` may be null. +If you have an [Experience Cloud ID](../../base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) and have not yet configured a visitor ID grace period, the value returned by `getTrackingIdentifier` may be null. @@ -142,7 +142,7 @@ Registers the Analytics extension with the Mobile Core SDK. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. @@ -156,7 +156,7 @@ Clears the identities stored in the Analytics extension - `tracking identifier ( -Support for this API was added in:
  • Android Analytics version 1.2.9
  • iOS AEPAnalytics version 3.0.3

See [MobileCore.resetIdentities](../mobile-core/api-reference.md#resetidentities) for more details. +Support for this API was added in:
  • Android Analytics version 1.2.9
  • iOS AEPAnalytics version 3.0.3

See [MobileCore.resetIdentities](../../base-extensions/mobile-core/api-reference.md#resetidentities) for more details. ## sendQueuedHits diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md b/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md index 3234397e09..8e418dae7f 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md @@ -80,7 +80,7 @@ The following events are handled by the Adobe Analytics extension: ### Generic track content request -This event is a request to complete processing on the Analytics hits queue. The event will be created when either of the [`trackAction`](../mobile-core/api-reference.md#trackaction) or [`trackState`](../mobile-core/api-reference.md#trackstate) APIs is called. +This event is a request to complete processing on the Analytics hits queue. The event will be created when either of the [`trackAction`](../../base-extensions/mobile-core/api-reference.md#trackaction) or [`trackState`](../../base-extensions/mobile-core/api-reference.md#trackstate) APIs is called. The Analytics extension receives and processes the following keys in a generic track content request event: @@ -309,7 +309,7 @@ Note that the data may contain other custom key-value pairs that are **not** def ### Lifecycle request content -This event represents a request to the Lifecycle extension to start or stop collecting data and is generated when [lifecycleStart](../mobile-core/lifecycle/api-reference.md#lifecyclestart) and [lifecyclePause()](../mobile-core/lifecycle/api-reference.md#lifecyclepause) are used. +This event represents a request to the Lifecycle extension to start or stop collecting data and is generated when [lifecycleStart](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) and [lifecyclePause()](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) are used. The Analytics extension only listens for the Lifecycle start event, and the Analytics database queue should be paused for up to 1000 milliseconds, which is the default value for `DEFAULT_LIFECYCLE_RESPONSE_WAIT_TIMEOUT`. diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/faq.md b/src/pages/documentation/solution-extensions/adobe-analytics/faq.md index e69f44d7ae..2754308d9f 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/faq.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/faq.md @@ -27,12 +27,12 @@ If you see SDK identifiers unexpectedly change, try the following fixes to addre The metric `Crashes` is computed based on the Lifecycle start and pause API calls implemented in your mobile application. How can you verify if the implementation is correct: * Ensure that the Lifecycle extension is registered. -* Verify that both MobileCore APIs `lifecycleStart` and `lifecyclePause` are implemented in the application based on the recommended settings for each platform. See the [guide for registering Lifecycle with MobileCore and adding appropriate start/pause calls](../mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-startpause-calls). -* For more details, see also [Tracking app crashes in iOS](../mobile-core/lifecycle/ios.md#tracking-app-crashes-in-ios) and [Android](../mobile-core/lifecycle/android.md#tracking-app-crashes-in-android). +* Verify that both MobileCore APIs `lifecycleStart` and `lifecyclePause` are implemented in the application based on the recommended settings for each platform. See the [guide for registering Lifecycle with MobileCore and adding appropriate start/pause calls](../../base-extensions/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-startpause-calls). +* For more details, see also [Tracking app crashes in iOS](../../base-extensions/mobile-core/lifecycle/ios.md#tracking-app-crashes-in-ios) and [Android](../../base-extensions/mobile-core/lifecycle/android.md#tracking-app-crashes-in-android). ## How are mobile visits different from launches? -A launch is measured by the SDK when a user opens the app for the first time or returns to the app after having been out of the app for longer than the specified timeout value. The typical timeout is 5 minutes (300 seconds) in the [lifecycleTimeout](../mobile-core/lifecycle/index.md#device-information) configuration setting. +A launch is measured by the SDK when a user opens the app for the first time or returns to the app after having been out of the app for longer than the specified timeout value. The typical timeout is 5 minutes (300 seconds) in the [lifecycleTimeout](../../base-extensions/mobile-core/lifecycle/index.md#device-information) configuration setting. A visit is a server-side calculation by Adobe Analytics and is based on the first and last data hits that are sent by the SDK without exceeding a visit timeout. Typically, session timeouts are set at 30 minutes for a report suite. Although visits come from traditional web analytics, these hits still provide valuable insights into how users enter and exit from your app. @@ -46,7 +46,7 @@ If you have followed the documentation and are unable to see reporting data in y ### Verify that the Analytics extension is registered -The [Analytics extension](./index.md) and its dependent [Identity extension](../mobile-core/identity/index.md) should be registered and configured correctly for the SDK to start processing trackAction/trackState requests. +The [Analytics extension](./index.md) and its dependent [Identity extension](../../base-extensions/mobile-core/identity/index.md) should be registered and configured correctly for the SDK to start processing trackAction/trackState requests. ### Verify that network requests are sent to Adobe Analytics @@ -71,4 +71,4 @@ If you are unable to resolve your concerns through resources provided here, plea ## How do I send data to Adobe Analytics in React Native and Flutter? -In the latest SDK version (AEP-prefixed) for React Native and Flutter, you can send data to Analytics via the Edge Network using the Edge Network extension and `sendEvent` API. If you want a drop-in migration solution for an existing `trackAction` / `trackState` implementation, you can do this with the help of the Edge Bridge extension. You can learn more about these options in the [migration guide](../adobe-analytics/migrate-to-edge-network.md). +In the latest SDK version (AEP-prefixed) for React Native and Flutter, you can send data to Analytics via the Edge Network using the Edge Network extension and `sendEvent` API. If you want a drop-in migration solution for an existing `trackAction` / `trackState` implementation, you can do this with the help of the Edge Bridge extension. You can learn more about these options in the [migration guide](./migrate-to-edge-network.md). diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/index.md b/src/pages/documentation/solution-extensions/adobe-analytics/index.md index 3dd1ab0547..629a72fb3f 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/index.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/index.md @@ -14,7 +14,7 @@ import Tabs from './tabs/index.md' 1. In the Data Collection UI, select the **Extensions** tab. 2. On the **Catalog** tab, locate the **Adobe Analytics** extension, and select **Install**. -3. Type the extension settings. For more information, please read the [configure the Analytics Extension section](./#configure-the-analytics-extension). +3. Type the extension settings. For more information, please read the [configure the Analytics Extension section](#configure-the-analytics-extension). 4. Click **Save**. 5. Follow the publishing process to update SDK configuration. @@ -70,7 +70,7 @@ If you currently send Mobile SDK data to a report suite that also collects data -For more information about Analytics server-side forwarding to Audience Manager, see the documentation on [Analytics sever-side forwarding](./#server-side-forwarding-with-audience-manager). +For more information about Analytics server-side forwarding to Audience Manager, see the documentation on [Analytics sever-side forwarding](#server-side-forwarding-with-audience-manager). If you set up Analytics server-side forwarding to Audience Manager in your Analytics report suite, select the **Audience Manager Forwarding** checkbox. When this checkbox is selected, all SDK requests to Analytics servers are sent with an expected response code of **10**. This step ensures that client-side Analytics response traffic is forwarded to the Audience Manager SDK so that the User Profile is correctly updated. @@ -100,7 +100,7 @@ The default value for this setting is 0, which means that hit batching is disabl #### Launch hit delay -The number of seconds to wait before Analytics launch hits are sent from the SDK. Ensure that this setting is set at 5 seconds or greater when using acquisition functionality from the [Mobile Services](../adobe-analytics-mobile-services/) extension. +The number of seconds to wait before Analytics launch hits are sent from the SDK. Ensure that this setting is set at 5 seconds or greater when using acquisition functionality from the [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension. ## Add Analytics to your application @@ -128,15 +128,15 @@ iOS ## Send Lifecycle metrics to Analytics -To automatically report on the application lifecycle details in Analytics, ensure that you properly configure the lifecycle data collection. For more information, see the documentation on [Lifecycle metrics](../mobile-core/lifecycle/metrics.md). +To automatically report on the application lifecycle details in Analytics, ensure that you properly configure the lifecycle data collection. For more information, see the documentation on [Lifecycle metrics](../../base-extensions/mobile-core/lifecycle/metrics.md). ## Send app states and actions to Analytics -To track mobile app states and actions in Adobe Analytics, implement the [trackAction](../mobile-core/api-reference.md#trackaction) and [trackState](../mobile-core/api-reference.md#trackstate) APIs from the Mobile Core extension. For more information, see the [track app actions](../mobile-core/api-reference.md#track-app-actions) and [track app states](../mobile-core/api-reference.md#track-app-states-and-views) tutorials. +To track mobile app states and actions in Adobe Analytics, implement the [trackAction](../../base-extensions/mobile-core/api-reference.md#trackaction) and [trackState](../../base-extensions/mobile-core/api-reference.md#trackstate) APIs from the Mobile Core extension. For more information, see the [track app actions](../../base-extensions/mobile-core/api-reference.md#track-app-actions) and [track app states](../../base-extensions/mobile-core/api-reference.md#track-app-states-and-views) tutorials. -[trackState](../mobile-core/api-reference.md#trackstate) reports the view state as the **Page Name**, and state views are reported as **Page View** in Analytics. The value is sent to Analytics by using the page name variable (`pagename=value`).

[trackAction](../mobile-core/api-reference.md#trackaction) reports the Action as an **event** and does not increment your page views in Analytics. The value is sent to Analytics by using the action variable (`action=value`). +[trackState](../../base-extensions/mobile-core/api-reference.md#trackstate) reports the view state as the **Page Name**, and state views are reported as **Page View** in Analytics. The value is sent to Analytics by using the page name variable (`pagename=value`).

[trackAction](../../base-extensions/mobile-core/api-reference.md#trackaction) reports the Action as an **event** and does not increment your page views in Analytics. The value is sent to Analytics by using the action variable (`action=value`). ## Integrations with Adobe Experience Platform solutions and services @@ -193,4 +193,4 @@ iOS -For more information, see the [configuration API reference](../mobile-core/configuration/api-reference.md). +For more information, see the [configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md b/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md index 2c4cd20917..9b5f5c172b 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md @@ -15,7 +15,7 @@ The **Edge Bridge extension** offers a drop in solution for migrating existing A -Edge Bridge only supports the Analytics drop-in migration case. If you are looking to migrate your Adobe Target implementation, please refer to the [Adobe Journey Optimizer Decisioning documentation](../adobe-journey-optimizer-decisioning/index.md) for more details. +Edge Bridge only supports the Analytics drop-in migration case. If you are looking to migrate your Adobe Target implementation, please refer to the [Adobe Journey Optimizer Decisioning documentation](../../edge-extensions/adobe-journey-optimizer-decisioning/index.md) for more details. ## Extensions comparison @@ -27,7 +27,7 @@ Edge Bridge only supports the Analytics drop-in migration case. If you are looki -Other foundational extensions include the [Consent for Edge Network extension](../consent-for-edge-network/index.md) which enables consent preferences collection from your mobile app, and the [Assurance extension](../platform-assurance-sdk/index.md) for validating your app implementation. +Other foundational extensions include the [Consent for Edge Network extension](../../edge-extensions/consent-for-edge-network/index.md) which enables consent preferences collection from your mobile app, and the [Assurance extension](../../base-extensions/platform-assurance-sdk/index.md) for validating your app implementation. ### Workflow comparison @@ -86,4 +86,4 @@ If you need further assistance, please contact [Adobe Experience Cloud customer ## Next steps -To learn more about latest versions available for the Edge Network and Edge Bridge extensions, see the [Current SDK versions page](../current-sdk-versions.md). +To learn more about latest versions available for the Edge Network and Edge Bridge extensions, see the [Current SDK versions page](../../home/current-sdk-versions.md). diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md index ba1fc84c09..09bcd34520 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md @@ -4,11 +4,11 @@ noIndex: true -1. Add the [Mobile Core](../mobile-core/index.md) and Analytics extensions to your project using the app's Gradle file. +1. Add the [Mobile Core](../../base-extensions/mobile-core/index.md) and Analytics extensions to your project using the app's Gradle file. -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. @@ -39,7 +39,7 @@ import com.adobe.marketing.mobile.Analytics -1. Add the [Mobile Core](../mobile-core/index.md) and Analytics extensions to your project using Cocoapods. +1. Add the [Mobile Core](../../base-extensions/mobile-core/index.md) and Analytics extensions to your project using Cocoapods. 2. Add the following pods in your `Podfile`: ```ruby diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md b/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md index 2a4258fb9d..6cb93f4640 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md @@ -20,13 +20,13 @@ import ClearBeaconIos from './tabs/track-beacon/clear-beacon/ios.md' Sending beacon data to Adobe Analytics for reporting can be an effective way to understand how your audience can interact with physical landmarks. -The `trackBeacon` API from v4 SDKs is no longer available in the Experience Platform SDKs. Now, you need to manually send beacon tracking data to your Adobe Analytics server and create the rules based on a user's proximity to your beacons. This solution requires the [Profile extension](../profile/index.md) to create beacon-related rules. +The `trackBeacon` API from v4 SDKs is no longer available in the Experience Platform SDKs. Now, you need to manually send beacon tracking data to your Adobe Analytics server and create the rules based on a user's proximity to your beacons. This solution requires the [Profile extension](../../base-extensions/profile/index.md) to create beacon-related rules. This topic contains sample code to help you implement your own `trackBeacon` calls. ### Track a beacon -When your user comes within the range of a beacon, call this method to send beacon data to [Adobe Analytics](../adobe-analytics/index.md). This code also saves all beacon-related data in the client-side Profile for use with the Rules Engine. +When your user comes within the range of a beacon, call this method to send beacon data to [Adobe Analytics](./index.md). This code also saves all beacon-related data in the client-side Profile for use with the Rules Engine. diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md index ed8ec0386a..a0a5181db2 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md @@ -46,7 +46,7 @@ This API registers an extension class that was derived from with a unique name. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md index f69a2b97de..842276919a 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md +++ b/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md @@ -54,7 +54,7 @@ For more information about implementing Audience Manager APIs, please read the [ ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Audience Manager configuration values. For more information, see the [Configuration API reference](../mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Audience Manager configuration values. For more information, see the [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md index 5d9224e5c2..4651e06f64 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md @@ -8,7 +8,7 @@ noIndex: true -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. @@ -39,7 +39,7 @@ import com.adobe.marketing.mobile.Audience -1. Add the [Mobile Core](../mobile-core/index.md) and Audience extensions to your project using Cocoapods. +1. Add the [Mobile Core](../../base-extensions/mobile-core/index.md) and Audience extensions to your project using Cocoapods. 2. Add the following pods in your `Podfile`: ```ruby diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md index 15d7666d08..2795211663 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md @@ -42,7 +42,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md index 560223d6f2..a74b446aa1 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md @@ -82,7 +82,7 @@ iOS ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Campaign Classic configuration values. For more information, see the [Configuration API reference](../mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Campaign Classic configuration values. For more information, see the [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md index c1f73ef4e1..277758924c 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md @@ -17,13 +17,13 @@ implementation 'com.adobe.marketing.mobile:campaignclassic' -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. -Add the Campaign Classic and [Mobile Core](../mobile-core/index.md) libraries to your project. +Add the Campaign Classic and [Mobile Core](../../base-extensions/mobile-core/index.md) libraries to your project. You can add the following pods to your `Podfile`: diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md index fe967d8acb..d2fa62afd9 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md @@ -30,7 +30,7 @@ Registers the Campaign Standard extension with the Mobile Core. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md index 89d8d6cd83..e787620e4e 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md @@ -12,7 +12,7 @@ import Tabs from './tabs/index.md' -**Before** you install or configure the Campaign Standard extension, please read the [getting started guide](../getting-started/create-a-mobile-property.md) and the [configuring a mobile application using Adobe Experience Platform SDKs guide](https://experienceleague.adobe.com/docs/campaign-standard/using/administrating/configuring-channels/configuring-a-mobile-application.html). +**Before** you install or configure the Campaign Standard extension, please read the [getting started guide](../../home/getting-started/create-a-mobile-property.md) and the [configuring a mobile application using Adobe Experience Platform SDKs guide](https://experienceleague.adobe.com/docs/campaign-standard/using/administrating/configuring-channels/configuring-a-mobile-application.html). ## Configure the Campaign Standard extension in the Data Collection UI @@ -62,10 +62,10 @@ Remember the following information when you add the Campaign extension to your a | Extension | Information | | :--- | :--- | -| Campaign Standard | The Campaign Standard extension requires the [Mobile Core](../mobile-core/index.md), [Profile](../profile/index.md), [Lifecycle](../mobile-core/lifecycle/index.md), and [Signal](../mobile-core/signal/index.md) extensions. You should always ensure that you get the latest version of the extensions. | +| Campaign Standard | The Campaign Standard extension requires the [Mobile Core](../../base-extensions/mobile-core/index.md), [Profile](../profile/index.md), [Lifecycle](../../base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../base-extensions/mobile-core/signal/index.md) extensions. You should always ensure that you get the latest version of the extensions. | | Profile | The Profile extension is required for in-app trigger frequencies to work accurately. For more information, see [Profile](../profile/index.md). | -| Signal | The Signal extension is required for all postback rules to work. For more information, see [Signal](../mobile-core/signal/index.md). | -| Lifecycle | The Lifecycle extension is required for a profile to be registered in Campaign. In order to do this, you will need to implement the Lifecycle APIs. For more information, please read either the [Lifecycle API (Android)](../mobile-core/lifecycle/android.md) or the [Lifecycle API (iOS)](../mobile-core/lifecycle/ios.md) documentation. | +| Signal | The Signal extension is required for all postback rules to work. For more information, see [Signal](../../base-extensions/mobile-core/signal/index.md). | +| Lifecycle | The Lifecycle extension is required for a profile to be registered in Campaign. In order to do this, you will need to implement the Lifecycle APIs. For more information, please read either the [Lifecycle API (Android)](../../base-extensions/mobile-core/lifecycle/android.md) or the [Lifecycle API (iOS)](../../base-extensions/mobile-core/lifecycle/ios.md) documentation. | @@ -95,7 +95,7 @@ iOS ### Initialize the SDK and set up tracking -To initialize the SDK and set up tracking, see the [initialize the SDK and set up tracking tutorial](../getting-started/track-events.md). +To initialize the SDK and set up tracking, see the [initialize the SDK and set up tracking tutorial](../../home/getting-started/track-events.md). @@ -109,7 +109,7 @@ iOS ### Set up push messaging -To enable push messaging with Adobe Campaign, call `setPushIdentifer` to send the push identifier that is received from the Apple Push Notification Service (APNS) or Firebase Cloud Messaging Platform (FCM) to the Adobe Identity service. For more information about the `setPushIdentifer` API, see the [setPushIdentifier section of the Adobe Identity API guide](../mobile-core/identity/api-reference.md#setpushidentifier). +To enable push messaging with Adobe Campaign, call `setPushIdentifer` to send the push identifier that is received from the Apple Push Notification Service (APNS) or Firebase Cloud Messaging Platform (FCM) to the Adobe Identity service. For more information about the `setPushIdentifer` API, see the [setPushIdentifier section of the Adobe Identity API guide](../../base-extensions/mobile-core/identity/api-reference.md#setpushidentifier). For more information about setting up your iOS app to connect to APNS and retrieve a device token that will be used as a push identifier, see the tutorial on [registering your app with APNs](https://developer.apple.com/documentation/usernotifications/registering_your_app_with_apns?language=objc). For more information about setting up your Android app to connect to FCM and retrieve a device registration token that will be used as a push identifier, see the tutorial on [setting up a Firebase Cloud Messaging client app on Android](https://firebase.google.com/docs/cloud-messaging/android/client). @@ -219,7 +219,7 @@ iOS ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Campaign Standard configuration values. For more information, see the [Configuration API reference](../mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Campaign Standard configuration values. For more information, see the [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md index 4e419ae802..12ac35d4c3 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md @@ -64,7 +64,7 @@ NSString *campaignVersion = [AEPMobileCampaign extensionVersion]; -This API has been deprecated as of version 2.0.0. Please use the [Mobile Core registerExtension API](../../mobile-core/api-reference.md) instead. +This API has been deprecated as of version 2.0.0. Please use the [Mobile Core registerExtension API](../../base-extensions/mobile-core/api-reference.md) instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md index 180963cc47..b394c4a602 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md @@ -18,11 +18,11 @@ implementation 'com.adobe.marketing.mobile:userprofile' -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. -2. Import the Campaign Standard, [Mobile Core](../mobile-core/index.md), [Profile](../profile/index.md), [Lifecycle](../mobile-core/lifecycle/index.md), and [Signal](../mobile-core/signals/index.md) extensions in your application's main activity. +2. Import the Campaign Standard, [Mobile Core](../../base-extensions/mobile-core/index.md), [Profile](../../base-extensions/profile/index.md), [Lifecycle](../../base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../base-extensions/mobile-core/signals/index.md) extensions in your application's main activity. ```java import com.adobe.marketing.mobile.Campaign; @@ -35,7 +35,7 @@ import com.adobe.marketing.mobile.UserProfile; -1. Add the Campaign Standard, [Mobile Core](../mobile-core/index.md), and [Profile](../profile/index.md) extensions to your project using Cocoapods. +1. Add the Campaign Standard, [Mobile Core](../../base-extensions/mobile-core/index.md), and [Profile](../../base-extensions/profile/index.md) extensions to your project using Cocoapods. ![](../assets/index/aep-cocoapods.png) @@ -115,7 +115,7 @@ class MyApp : Application() { } ``` -For more information about starting Lifecycle, see the [Lifecycle extension in Android guide](../mobile-core/lifecycle/android.md). +For more information about starting Lifecycle, see the [Lifecycle extension in Android guide](../../base-extensions/mobile-core/lifecycle/android.md). @@ -183,7 +183,7 @@ To set up local notifications in Android, update the AndroidManifest.xml file: ``` -To configure the notification icons that the local notification will use, see the [configuring notification icons section](../mobile-core/api-reference.md#setsmalliconresourceid--setlargeiconresourceid) within the Mobile Core. +To configure the notification icons that the local notification will use, see the [configuring notification icons section](../../base-extensions/mobile-core/api-reference.md#setsmalliconresourceid--setlargeiconresourceid) within the Mobile Core. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md index d7c9746b26..7ec9a3f314 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md @@ -47,7 +47,7 @@ noIndex: true 2. Generate a push token for the app using FireBase Instance ID class. 3. In the `onComplete` function of `OnCompleteListener`, set the Push identifier by calling the API `MobileCore.setPushIdentifier`. - For more information, see [setPushIdentifier](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-analytics-mobile-services#set-up-push-messaging). + For more information, see [setPushIdentifier](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/#set-up-push-messaging). #### Verify that the push token has successfully synced with the Experience Cloud ID service @@ -77,7 +77,7 @@ If SDK privacy status is `optedout`, the push identifier will not be set. 2. In `application:didRegisterForRemoteNotificationsWithDeviceToken:`, call `setPushIdentifier` to set the Push identifier. - For more information, see [setPushIdentifier](../mobile-core/api-reference.md#setpushidentifier). + For more information, see [setPushIdentifier](../../base-extensions/mobile-core/api-reference.md#setpushidentifier). #### Verify that the push token has successfully synced with the Experience Cloud ID service @@ -88,7 +88,7 @@ If SDK privacy status is `optedout`, the push identifier will not be set. 3. In the list of events, verify that you have an event with type _SetPushIdentifier_. 4. In the details panel on the right, verify the value of the push token for this device. - The value in pushIdentifier is the same value that is sent to the ECID service. ![Verify SetPushIdentifier event](../assets/push-notifications/push-token-to-identity.png) + The value in pushIdentifier is the same value that is sent to the ECID service. ![Verify SetPushIdentifier event](.../assets/push-notifications/push-token-to-identity.png) 5. To verify that app's push token is mapped to the correct Experience Cloud ID (ECID) in the Campaign instance, click **Adobe Campaign > Administrator > Channels > Mobile App (AEP SDK)**. 6. Select your app, under the mobile application subscribers verify that the Experience Cloud ID and the Registration token for the user is displayed. ![App subscriber list, verify mid and Registration token](../assets/push-notifications/subscriber-list-ios.png) @@ -96,4 +96,4 @@ If SDK privacy status is `optedout`, the push identifier will not be set. 8. Check for the **demdex request**, which is marked with the red line in the screenshot below. 9. Verify the successful response (200) for this network call. - ![ECID network request for push token sync](../assets/push-notifications/charles-demdex-call-ios.png) + ![ECID network request for push token sync](.../assets/push-notifications/charles-demdex-call-ios.png) diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md index 350f7fe373..5a98fb970d 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md @@ -34,7 +34,7 @@ Registers the Media extension with the Mobile Core SDK. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md index 5de29badd7..2a1a5e7365 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md +++ b/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md @@ -13,7 +13,7 @@ import Tabs from './tabs/index.md' Adobe Streaming Media for Edge Network extension is now available! -Refer to the [Migrating to Media for Edge Network Guide](migration-guide.md) and [Media for Edge Network extension](../media-for-edge-network/index.md) documentation to learn more about implementing Streaming Media using Adobe Experience Edge Network. +Refer to the [Migrating to Media for Edge Network Guide](migration-guide.md) and [Media for Edge Network extension](../../edge-extensions/media-for-edge-network/index.md) documentation to learn more about implementing Streaming Media using Adobe Experience Edge Network. @@ -89,7 +89,7 @@ iOS ## Configuration keys -To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../mobile-core/configuration/api-reference.md). +To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md index acba8419f7..90fed59582 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md +++ b/src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md @@ -51,7 +51,7 @@ iOS | AEPIdentity |AEPEdgeIdentity | | AEPMedia | AEPEdgeMedia | -Refer to the guide on how to [configure and setup Media for Edge Network](../media-for-edge-network/index.md) to learn more. +Refer to the guide on how to [configure and setup Media for Edge Network](../../edge-extensions/media-for-edge-network/index.md) to learn more. ## Install extensions @@ -95,7 +95,7 @@ iOS Media extension allowed for ad content tracking of `1 second` when setting the `MediaConstants.MediaObjectKey.GRANULAR_AD_TRACKING` key in the media object. -Media for Edge Network extension supports customizable ping intervals. `Ad content` tracking interval can be set in the range `[1-10] seconds`, and `main content` tracking interval can be set in the range `[10-50] seconds`. For more details, refer to the [createTrackerWithConfig API](../media-for-edge-network/api-reference.md/#createtrackerwithconfig). +Media for Edge Network extension supports customizable ping intervals. `Ad content` tracking interval can be set in the range `[1-10] seconds`, and `main content` tracking interval can be set in the range `[10-50] seconds`. For more details, refer to the [createTrackerWithConfig API](../../edge-extensions/media-for-edge-network/api-reference.md/#createtrackerwithconfig). @@ -113,4 +113,4 @@ Media for Edge Network extension currently does not support the downloaded conte ## API reference -The Media for Edge Network extension offers APIs that are similar to those provided by the Media Analytics extension. To explore the Media for Edge Network extension APIs and understand their usage, please refer to the [API reference docs](../media-for-edge-network/api-reference.md). +The Media for Edge Network extension offers APIs that are similar to those provided by the Media Analytics extension. To explore the Media for Edge Network extension APIs and understand their usage, please refer to the [API reference docs](../../edge-extensions/media-for-edge-network/api-reference.md). diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md index 7a05dfc174..017daaf975 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md @@ -8,7 +8,7 @@ noIndex: true -Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../resources/manage-gradle-dependencies.md) for more information. +Using dynamic dependency versions is **not** recommended for production apps. Please read the [managing Gradle dependencies guide](../../resources/manage-gradle-dependencies.md) for more information. diff --git a/src/pages/documentation/solution-extensions/adobe-target/api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/api-reference.md index 6ffb0c1443..0ea1c35ebe 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-target/api-reference.md @@ -159,7 +159,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-target/index.md b/src/pages/documentation/solution-extensions/adobe-target/index.md index 5739594348..0a05a62e90 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/index.md +++ b/src/pages/documentation/solution-extensions/adobe-target/index.md @@ -147,7 +147,7 @@ The visual preview mode allows you to easily perform end-to-end QA activities by You can also set an application deep link that can be triggered when selections are made in the preview mode by using the [setPreviewRestartDeeplink](./api-reference.md#setpreviewrestartdeeplink) API. -To enter the preview visual mode, use the `collectLaunchInfo` API to enable the mode and select the red floating button that appears on the app screen. For more information, see [collectLaunchInfo](../mobile-core/api-reference.md#collectlaunchinfo). +To enter the preview visual mode, use the `collectLaunchInfo` API to enable the mode and select the red floating button that appears on the app screen. For more information, see [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo). @@ -190,7 +190,7 @@ For A4T data to be sent to Adobe Analytics client-side, make sure Analytics SDK To programmatically update SDK configuration, use the following information to change your Target configuration values: -For more information, see [Programmatic updates to Configuration](../mobile-core/configuration/index.md#programmatic-updates-to-configuration). +For more information, see [Programmatic updates to Configuration](../../base-extensions/mobile-core/configuration/index.md#programmatic-updates-to-configuration). | Key | Description | Data Type | | :--- | :--- | :--- | @@ -204,4 +204,4 @@ For more information, see [Programmatic updates to Configuration](../mobile-core -Currently, the `target.sessiontimeout` value can only be configured programmatically. For more information, see [updateConfiguration](../mobile-core/configuration/api-reference.md#updateconfiguration). +Currently, the `target.sessiontimeout` value can only be configured programmatically. For more information, see [updateConfiguration](../../base-extensions/mobile-core/configuration/api-reference.md#updateconfiguration). diff --git a/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md index 0df01d0154..4c7c3c32cd 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md @@ -1387,17 +1387,17 @@ Target.setTntId("f741a5d5-09c0-4931-bf53-b9e568c5f782.35_0") -On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. +On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. -The SDK can only collect information from the launching Activity if [`setApplication`](../../mobile-core/api-reference.md#setapplication) API has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. +The SDK can only collect information from the launching Activity if [`setApplication`](../../base-extensions/mobile-core/api-reference.md#setapplication) API has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. -To enter the visual preview mode, use the Mobile Core's [collectLaunchInfo](../../mobile-core/api-reference.md#collectlaunchinfo) API to enable the mode, and select the red floating button that appears on the app screen. +To enter the visual preview mode, use the Mobile Core's [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API to enable the mode, and select the red floating button that appears on the app screen. #### Swift @@ -1762,7 +1762,7 @@ public class TargetParameters: NSObject, Codable { } ``` -Examples for creating instances of TargetParameters can be seen in the [Target overview](../index.md#target-parameters). +Examples for creating instances of TargetParameters can be seen in the [Target overview](./index.md#target-parameters). -For more information, see the documentation on [Lifecycle metrics](../../base-extensions/mobile-core/lifecycle/index.md). +For more information, see the documentation on [Lifecycle metrics](../base-extensions/mobile-core/lifecycle/index.md). diff --git a/src/pages/documentation/home/getting-started/track-events.md b/src/pages/documentation/home/getting-started/track-events.md index d225701686..a77888df8c 100644 --- a/src/pages/documentation/home/getting-started/track-events.md +++ b/src/pages/documentation/home/getting-started/track-events.md @@ -134,7 +134,7 @@ Xamarin --> -For more information, see the [Mobile Core API Reference](../../base-extensions/mobile-core/api-reference.md). +For more information, see the [Mobile Core API Reference](../base-extensions/mobile-core/api-reference.md). ## Get help diff --git a/src/pages/documentation/home/release-notes/index.md b/src/pages/documentation/home/release-notes/index.md index ca288b64b5..ae43ced38b 100644 --- a/src/pages/documentation/home/release-notes/index.md +++ b/src/pages/documentation/home/release-notes/index.md @@ -648,7 +648,7 @@ Major version update for [Adobe Campaign Standard workflows](../../solution-exte ### iOS UserProfile 4.0.0 -Major version update for [User Profile](../../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [User Profile](../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -704,7 +704,7 @@ Major version update for [Edge Network](../../edge-extensions/edge-network/index ### iOS Assurance 4.0.0 -Major version update for [Adobe Experience Platform Assurance](../../base-extensions/platform-assurance-sdk/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Experience Platform Assurance](../base-extensions/assurance/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -1231,7 +1231,7 @@ import com.adobe.marketing.mobile.places.PlacesRequestError; ### Android Assurance 2.0.0 -* Major version update for [Adobe Experience Platform Assurance](../../base-extensions/platform-assurance-sdk/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-assurance-android). +* Major version update for [Adobe Experience Platform Assurance](../base-extensions/assurance/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-assurance-android). ### Android Campaign Classic 2.0.0 @@ -1253,7 +1253,7 @@ Please note that the `registerDevice` API, similar to iOS, no longer provides a ### Android UserProfile 2.0.0 -* Major version update for [User Profile](../../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-userprofile-android). +* Major version update for [User Profile](../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-userprofile-android). * The following APIs have been deprecated and will be removed in a future release: | Deprecated API | Recommended Alternative | diff --git a/src/pages/documentation/resources/privacy-and-gdpr.md b/src/pages/documentation/resources/privacy-and-gdpr.md index cad6bde50e..ee74e477ca 100644 --- a/src/pages/documentation/resources/privacy-and-gdpr.md +++ b/src/pages/documentation/resources/privacy-and-gdpr.md @@ -44,7 +44,7 @@ You can set the collect consent status to ensure collection of data suits your u -Updating the collect consent status to No (n) does not reset or clear the identities of the current user. If you need to reset all current identities, use the [MobileCore.resetIdentities()](../base-extensions/mobile-core/api-reference.md#resetidentities) API. +Updating the collect consent status to No (n) does not reset or clear the identities of the current user. If you need to reset all current identities, use the [MobileCore.resetIdentities()](../home/base-extensions/mobile-core/api-reference.md#resetidentities) API. ### Collect consent settings @@ -92,7 +92,7 @@ When using the Edge Network extensions, use the [Identity.getIdentities](../edge ## Configuration keys -To programmatically update the SDK configuration, use the following information to change your default consent values. For more information, see the [configuration API reference](../base-extensions/mobile-core/configuration/api-reference.md). +To programmatically update the SDK configuration, use the following information to change your default consent values. For more information, see the [configuration API reference](../home/base-extensions/mobile-core/configuration/api-reference.md). | Key | Description | | :--- | :--------- | @@ -144,15 +144,15 @@ iOS ### getSdkIdentities -To retrieve all the identifier data stored locally by the SDK as a JSON string, use the [getSdkIdentities](../base-extensions/mobile-core/api-reference.md#getsdkidentities) API from the Mobile Core extension. +To retrieve all the identifier data stored locally by the SDK as a JSON string, use the [getSdkIdentities](../home/base-extensions/mobile-core/api-reference.md#getsdkidentities) API from the Mobile Core extension. -When using both Edge Network and Adobe Solutions extensions, use both [Identity.getIdentities](../edge-extensions/identity-for-edge-network/api-reference.md#getidentities) API and [MobileCore.getSdkIdentities](../base-extensions/mobile-core/api-reference.md#getsdkidentities) APIs to retrieve all the identifier data stored locally by the SDK. +When using both Edge Network and Adobe Solutions extensions, use both [Identity.getIdentities](../edge-extensions/identity-for-edge-network/api-reference.md#getidentities) API and [MobileCore.getSdkIdentities](../home/base-extensions/mobile-core/api-reference.md#getsdkidentities) APIs to retrieve all the identifier data stored locally by the SDK. ## Configuration keys -To update the SDK configuration, programmatically, use the following information to change your privacy configuration values. For more information, [Configuration API reference](../base-extensions/mobile-core/configuration/api-reference.md). +To update the SDK configuration, programmatically, use the following information to change your privacy configuration values. For more information, [Configuration API reference](../home/base-extensions/mobile-core/configuration/api-reference.md). | Key | Description | | :--- | :--- | diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md b/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md index 8f7ba6e34d..bc2a87232c 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md @@ -7,7 +7,7 @@ import Tabs from './tabs/analytics.md' The Adobe Experience Platform Analytics extension uses [tags](https://experience.adobe.com/#/data-collection/) to configure the Experience Platform SDKs. This replaces the ADBMobileConfig.json which the Mobile Services SDK used for configuration. To get started with the AEP SDKs: 1. Create a mobile property on tags.
See [Set up a mobile property](../../home/getting-started/create-a-mobile-property.md) for more information. -2. Configure your mobile app with the create mobile property.
The AEP Mobile Core extension provides general functionality required by all the Adobe AEP extensions. The Configuration extension is built into the Mobile Core and contains the configureWithAppId API. This API is used to link the tag mobile property with your mobile app. The documentation for this API can be seen at the [Configuration API Reference](../../base-extensions/mobile-core/configuration/api-reference.md#configurewithappid) page. A code sample showing the usage of this API is provided below. +2. Configure your mobile app with the create mobile property.
The AEP Mobile Core extension provides general functionality required by all the Adobe AEP extensions. The Configuration extension is built into the Mobile Core and contains the configureWithAppId API. This API is used to link the tag mobile property with your mobile app. The documentation for this API can be seen at the [Configuration API Reference](../../home/base-extensions/mobile-core/configuration/api-reference.md#configurewithappid) page. A code sample showing the usage of this API is provided below. 3. Once all the Platform extensions are imported and configured correctly, remove the v4 Mobile SDK dependency.
This step is mandatory and a mix of v4 and AEP API calls is not supported. @@ -32,11 +32,11 @@ For an overview of the API mapping between the Mobile Services SDK and Adobe Exp | trackLocation:data: | This functionality is available in the [Places extension](../../solution-extensions/places/index.md). | | trackBeacon:Data: | Support modified. [See guide](../../solution-extensions/adobe-analytics/track-beacon.md). | | trackingClearCurrentBeacon | Support modified. [See guide](../../solution-extensions/adobe-analytics/track-beacon.md). | -| trackLifetimeValueIncrease:data: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | -| trackTimedActionStart: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | -| trackTimedActionUpdate: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | -| trackTimedActionEnd: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | -| trackTimedActionExists: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../base-extensions/profile/index.md) extensions. | +| trackLifetimeValueIncrease:data: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | +| trackTimedActionStart: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | +| trackTimedActionUpdate: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | +| trackTimedActionEnd: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | +| trackTimedActionExists: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | ## Experience Platform extensions installation and setup diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md b/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md index a346b32e5f..85fca19410 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md @@ -4,7 +4,7 @@ This page details SDK API changes between the Experience Platform SDKs and 4x SD ## Mobile Core APIs -For more information, see the [Mobile Core API reference](../../base-extensions/mobile-core/api-reference.md). +For more information, see the [Mobile Core API reference](../../home/base-extensions/mobile-core/api-reference.md). ### Supported APIs @@ -13,13 +13,13 @@ For more information, see the [Mobile Core API reference](../../base-extensions/ | extensionVersion: | version/getVersion | | [getPrivacyStatus:](../privacy-and-gdpr.md#getprivacystatus) | privacyStatus | | [setPrivacyStatus:](../privacy-and-gdpr.md#setprivacystatus) | setPrivacyStatus: | -| [setLogLevel:](../../base-extensions/mobile-core/api-reference.md#setloglevel) | setDebugLogging: | -| [configureWithFileInPath:](../../base-extensions/mobile-core/configuration/api-reference.md/#configurewithfileinpath) | overrideConfigPath: | -| [setAppGroup:](../../base-extensions/mobile-core/api-reference.md#setappgroup) | setAppGroup: | -| [trackState:data:](../../base-extensions/mobile-core/api-reference.md#trackstate) | trackState:data: | -| [trackAction:data:](../../base-extensions/mobile-core/api-reference.md#trackaction) | trackAction:data: | -| [collectPII:](../../base-extensions/mobile-core/api-reference.md#collectpii) | collectPII: | -| [getSdkIdentities:](../../base-extensions/mobile-core/identity/api-reference.md#getsdkidentities) | getAllIdentifiersAsync: | +| [setLogLevel:](../../home/base-extensions/mobile-core/api-reference.md#setloglevel) | setDebugLogging: | +| [configureWithFileInPath:](../../home/base-extensions/mobile-core/configuration/api-reference.md/#configurewithfileinpath) | overrideConfigPath: | +| [setAppGroup:](../../home/base-extensions/mobile-core/api-reference.md#setappgroup) | setAppGroup: | +| [trackState:data:](../../home/base-extensions/mobile-core/api-reference.md#trackstate) | trackState:data: | +| [trackAction:data:](../../home/base-extensions/mobile-core/api-reference.md#trackaction) | trackAction:data: | +| [collectPII:](../../home/base-extensions/mobile-core/api-reference.md#collectpii) | collectPII: | +| [getSdkIdentities:](../../home/base-extensions/mobile-core/identity/api-reference.md#getsdkidentities) | getAllIdentifiersAsync: | ### Deprecated APIs and functionality @@ -45,15 +45,15 @@ For more information, see the [Mobile Core API reference](../../base-extensions/ -In the v4 iOS SDK, Lifecycle start and stop calls are made automatically by the SDK. In the Adobe Experience Platform Mobile SDK, the calls to start and stop lifecycle need to be made by the application developer. For more information, see the [Lifecycle extension](../../base-extensions/mobile-core/lifecycle/index.md). +In the v4 iOS SDK, Lifecycle start and stop calls are made automatically by the SDK. In the Adobe Experience Platform Mobile SDK, the calls to start and stop lifecycle need to be made by the application developer. For more information, see the [Lifecycle extension](../../home/base-extensions/mobile-core/lifecycle/index.md). -For more information, see the [Lifecycle API reference](../../base-extensions/mobile-core/lifecycle/api-reference.md). +For more information, see the [Lifecycle API reference](../../home/base-extensions/mobile-core/lifecycle/api-reference.md). | Experience Platform SDK | 4x SDK | |---|---| -| [lifecycleStart:](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleData | -| [lifecycleStart:](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleWithAdditionalData | -| [lifecyclePause](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) | pauseCollectingLifecycleData (Android only) | +| [lifecycleStart:](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleData | +| [lifecycleStart:](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleWithAdditionalData | +| [lifecyclePause](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) | pauseCollectingLifecycleData (Android only) | ### Deprecated APIs @@ -69,15 +69,15 @@ For more information, see the [Identity API reference](../../base-extensions-mob | Experience Platform SDK | 4x SDK | |---|---| -| [setPushIdentifier:](../../base-extensions/mobile-core/identity/api-reference.md#setpushidentifier) | setPushIdentifier | -| [setAdvertisingIdentifier:](../../base-extensions/mobile-core/identity/api-reference.md#setadvertisingidentifier) | setAdvertisingIdentifier | -| [getExperienceCloudId:](../../base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) | visitorMarketingCloudID | -| [syncIdentifiers:](../../base-extensions/mobile-core/identity/api-reference.md#syncidentifiers) | visitorSyncIdentifiers | -| [syncIdentifiers:authentication:](../../base-extensions/mobile-core/identity/api-reference.md#syncidentifiers-overloaded) | visitorSyncIdentifiers:authenticationState: | -| [syncIdentifier:identifier:authentication:](../../base-extensions/mobile-core/identity/api-reference.md#syncidentifier) |visitorSyncIdentifiersWithType:identifier:authenticationState: | -| [getIdentifiers](../../base-extensions/mobile-core/identity/api-reference.md#getidentifiers) | visitorGetIDs | -| [appendToURL:withCallback:](../../base-extensions/mobile-core/identity/api-reference.md#appendtourl--appendvisitorinfoforurl) | visitorAppendToURL: | -| [getUrlVariables](../../base-extensions/mobile-core/identity/api-reference.md#geturlvariables) | visitorGetUrlVariablesAsync: | +| [setPushIdentifier:](../../home/base-extensions/mobile-core/identity/api-reference.md#setpushidentifier) | setPushIdentifier | +| [setAdvertisingIdentifier:](../../home/base-extensions/mobile-core/identity/api-reference.md#setadvertisingidentifier) | setAdvertisingIdentifier | +| [getExperienceCloudId:](../../home/base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) | visitorMarketingCloudID | +| [syncIdentifiers:](../../home/base-extensions/mobile-core/identity/api-reference.md#syncidentifiers) | visitorSyncIdentifiers | +| [syncIdentifiers:authentication:](../../home/base-extensions/mobile-core/identity/api-reference.md#syncidentifiers-overloaded) | visitorSyncIdentifiers:authenticationState: | +| [syncIdentifier:identifier:authentication:](../../home/base-extensions/mobile-core/identity/api-reference.md#syncidentifier) |visitorSyncIdentifiersWithType:identifier:authenticationState: | +| [getIdentifiers](../../home/base-extensions/mobile-core/identity/api-reference.md#getidentifiers) | visitorGetIDs | +| [appendToURL:withCallback:](../../home/base-extensions/mobile-core/identity/api-reference.md#appendtourl--appendvisitorinfoforurl) | visitorAppendToURL: | +| [getUrlVariables](../../home/base-extensions/mobile-core/identity/api-reference.md#geturlvariables) | visitorGetUrlVariablesAsync: | ## Adobe Analytics extension APIs diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md b/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md index 9428ec4c1e..77920e2e63 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md @@ -43,9 +43,9 @@ The following tables provide information about the differences between the new E | Functionality | 4x SDK | Experience Platform SDK | |---|---|---| -| Postbacks - Get/POST URL requests | Yes | Yes - [Signals](../../base-extensions/mobile-core/signal/index.md) extension | -| Postbacks - PII Get/POST URL requests | Yes | Yes - [Signals](../../base-extensions/mobile-core/signal/index.md) extension | -| Postbacks - Open app deeplink | Yes | Yes - [Signals](../../base-extensions/mobile-core/signal/index.md) extension | +| Postbacks - Get/POST URL requests | Yes | Yes - [Signals](../../home/base-extensions/mobile-core/signal/index.md) extension | +| Postbacks - PII Get/POST URL requests | Yes | Yes - [Signals](../../home/base-extensions/mobile-core/signal/index.md) extension | +| Postbacks - Open app deeplink | Yes | Yes - [Signals](../../home/base-extensions/mobile-core/signal/index.md) extension | | Push Messaging | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated) | | In-app Messaging | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated) | | Marketing/Acquisition Links | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated)| diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/index.md b/src/pages/documentation/resources/upgrade-platform-sdks/index.md index 5936c59716..4d07096b21 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/index.md +++ b/src/pages/documentation/resources/upgrade-platform-sdks/index.md @@ -34,7 +34,7 @@ The Experience Platform SDKs contain breaking changes from the version 4 SDKs.Mobile Core contains core SDK functionality that is required for all implementations that require Adobe and/or third-party extensions. +* The Experience Platform SDKs introduce the [Mobile Core](../../home/base-extensions/mobile-core/index.md) and constituent extensions.
Mobile Core contains core SDK functionality that is required for all implementations that require Adobe and/or third-party extensions. * The Mobile Core and other extensions are configured in the Data Collection UI in a mobile property.
When published, the Data Collection UI hosts this property configuration and makes it for your SDK implementation. * You decide which SDK extensions to add, configure, and ultimately include in your app project.
This provides the flexibility to customize your implementations.
**Important:** Some extensions depend on others for proper functioning, and these are documented where applicable. * We recommend that you ease your build process by use supported dependency managers, such as Gradle for Android and Cocoapods for iOS. The Data Collection UI provides inline instructions and specs to help you with this process. diff --git a/src/pages/documentation/resources/user-guides/attach-data.md b/src/pages/documentation/resources/user-guides/attach-data.md index 2d86ff63ac..f6a289c7fd 100644 --- a/src/pages/documentation/resources/user-guides/attach-data.md +++ b/src/pages/documentation/resources/user-guides/attach-data.md @@ -14,9 +14,9 @@ import AttachingDataTarget from './tabs/attach-data/attaching-data/target.md' # Attach data to SDK events -The attach data_rule action is supported in [Mobile Core](../../base-extensions/mobile-core/index.md) starting from version 2.1.8 (Launch), 2.3.5 (iOS), and 1.4.5 (Android). This action is powerful, complex, and enables advanced use cases. +The attach data_rule action is supported in [Mobile Core](../../home/base-extensions/mobile-core/index.md) starting from version 2.1.8 (Launch), 2.3.5 (iOS), and 1.4.5 (Android). This action is powerful, complex, and enables advanced use cases. -To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../base-extensions/mobile-core/rules-engine/index.md). +To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../home/base-extensions/mobile-core/rules-engine/index.md). ## Context @@ -30,7 +30,7 @@ In the Experience Platform Mobile SDK, events hold all the data that is required | Source | Indicates the cause or the directionality of the event. For example, a request or a response. | | Event data | The data required to define the event. For example, context data on an Analytics event. | -Extensions that register with [Mobile Core](../../base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. +Extensions that register with [Mobile Core](../../home/base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. ### How are events created in the SDK? diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md index d28aec9c4e..5a3fa68ce6 100644 --- a/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md +++ b/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md @@ -72,7 +72,7 @@ To create a configuration identifier use the following steps: As a prerequisite, the Adobe Experience Platform Edge extension requires the successful implementation of the Adobe Experience Platform Mobile SDK - [Mobile Core](../../mobile-core/index.md). -Experience Edge extension relies on the [Mobile Core](../../../base-extensions/mobile-core/index.md) for the transmission of events, managing identity (ECID), and triggering client-side rules based on XDM. +Experience Edge extension relies on the [Mobile Core](../../../home/base-extensions/mobile-core/index.md) for the transmission of events, managing identity (ECID), and triggering client-side rules based on XDM. 1. First, follow the steps in the [set up a mobile property tutorial](../../../home/getting-started/create-a-mobile-property.md) in the Data Collection UI. 2. Install the `Adobe Experience Platform Edge` extension from the Catalog. diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md b/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md index a43e61f0d4..075941ea13 100644 --- a/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md +++ b/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md @@ -109,7 +109,7 @@ Add a new rule in the Data Collection UI or update the one created in the previo ### Next steps -Find more details about the Adobe Experience Platform Mobile SDK Rules Engine and the supported rule types, please read the [Rules Engine documentation](../../../base-extensions/mobile-core/rules-engine/index.md) and the [Rules Engine GitHub](https://github.com/adobe/aepsdk-rulesengine-ios). +Find more details about the Adobe Experience Platform Mobile SDK Rules Engine and the supported rule types, please read the [Rules Engine documentation](../../../home/base-extensions/mobile-core/rules-engine/index.md) and the [Rules Engine GitHub](https://github.com/adobe/aepsdk-rulesengine-ios). For more rules examples in the Data Collection UI, see the following links: diff --git a/src/pages/documentation/resources/user-guides/modify-data.md b/src/pages/documentation/resources/user-guides/modify-data.md index 1fb0970329..1823e5fabe 100644 --- a/src/pages/documentation/resources/user-guides/modify-data.md +++ b/src/pages/documentation/resources/user-guides/modify-data.md @@ -10,9 +10,9 @@ keywords: # Modify data in SDK events -The modify data rule action is supported in [Mobile Core](../../base-extensions/mobile-core/index.md) starting from version 2.1.14 (Launch), version 2.7.0 (iOS), and 1.5.5 (Android). This action is powerful, complex, and enables advanced use cases. +The modify data rule action is supported in [Mobile Core](../../home/base-extensions/mobile-core/index.md) starting from version 2.1.14 (Launch), version 2.7.0 (iOS), and 1.5.5 (Android). This action is powerful, complex, and enables advanced use cases. -To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../base-extensions/mobile-core/rules-engine/index.md). +To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../home/base-extensions/mobile-core/rules-engine/index.md). ## Context @@ -26,7 +26,7 @@ In the Experience Platform Mobile SDK, events hold all the data that is required | Source | Indicates the cause of or directionality of the event. For example, a request or a response. | | Event data | Additional data is required to define the event. For example, context data on an Analytics event. | -Extensions that register with [Mobile Core](../../base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. +Extensions that register with [Mobile Core](../../home/base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. ### How are events created in the SDK? diff --git a/src/pages/documentation/resources/user-guides/tags-data-elements.md b/src/pages/documentation/resources/user-guides/tags-data-elements.md index 73965acdb7..fa2054213b 100644 --- a/src/pages/documentation/resources/user-guides/tags-data-elements.md +++ b/src/pages/documentation/resources/user-guides/tags-data-elements.md @@ -22,7 +22,7 @@ You can use data elements during rule creation to consolidate the definition of As a best practice, you should reuse data elements. -Data elements are building blocks for rules and allow you create a data dictionary of commonly used data in the Experience Platform Mobile SDK, regardless of where they originate (shared state, event data) or which extension creates them. Data elements are populated with data when they are processed in the [Rules Engine](../../base-extensions/mobile-core/rules-engine/index.md). +Data elements are building blocks for rules and allow you create a data dictionary of commonly used data in the Experience Platform Mobile SDK, regardless of where they originate (shared state, event data) or which extension creates them. Data elements are populated with data when they are processed in the [Rules Engine](../../home/base-extensions/mobile-core/rules-engine/index.md). To use data elements at a high level, complete the following steps: @@ -81,10 +81,10 @@ After the property is published, this new rule is made available for download by Here is some additional information about the Rules Engine and the Signal extension: -* [Rules Engine](../../base-extensions/mobile-core/rules-engine/index.md) +* [Rules Engine](../../home/base-extensions/mobile-core/rules-engine/index.md) An overview and technical details of the Experience Platform Mobile SDK Rules Engine. -* [Signal extension and Rules Engine integration](../../base-extensions/mobile-core/signal/rules-engine-integration.md) +* [Signal extension and Rules Engine integration](../../home/base-extensions/mobile-core/signal/rules-engine-integration.md) This section provides an example of how to create rules to trigger actions in the Signals extension. diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md b/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md index acd2245bf4..5211f70f52 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md @@ -96,7 +96,7 @@ Retrieves the Analytics tracking identifier that is generated for this app/devic -If you have an [Experience Cloud ID](../../base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) and have not yet configured a visitor ID grace period, the value returned by `getTrackingIdentifier` may be null. +If you have an [Experience Cloud ID](../../home/base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) and have not yet configured a visitor ID grace period, the value returned by `getTrackingIdentifier` may be null. @@ -142,7 +142,7 @@ Registers the Analytics extension with the Mobile Core SDK. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. @@ -156,7 +156,7 @@ Clears the identities stored in the Analytics extension - `tracking identifier ( -Support for this API was added in:
  • Android Analytics version 1.2.9
  • iOS AEPAnalytics version 3.0.3

See [MobileCore.resetIdentities](../../base-extensions/mobile-core/api-reference.md#resetidentities) for more details. +Support for this API was added in:
  • Android Analytics version 1.2.9
  • iOS AEPAnalytics version 3.0.3

See [MobileCore.resetIdentities](../../home/base-extensions/mobile-core/api-reference.md#resetidentities) for more details. ## sendQueuedHits diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md b/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md index 8e418dae7f..371e4388e3 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md @@ -80,7 +80,7 @@ The following events are handled by the Adobe Analytics extension: ### Generic track content request -This event is a request to complete processing on the Analytics hits queue. The event will be created when either of the [`trackAction`](../../base-extensions/mobile-core/api-reference.md#trackaction) or [`trackState`](../../base-extensions/mobile-core/api-reference.md#trackstate) APIs is called. +This event is a request to complete processing on the Analytics hits queue. The event will be created when either of the [`trackAction`](../../home/base-extensions/mobile-core/api-reference.md#trackaction) or [`trackState`](../../home/base-extensions/mobile-core/api-reference.md#trackstate) APIs is called. The Analytics extension receives and processes the following keys in a generic track content request event: @@ -309,7 +309,7 @@ Note that the data may contain other custom key-value pairs that are **not** def ### Lifecycle request content -This event represents a request to the Lifecycle extension to start or stop collecting data and is generated when [lifecycleStart](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) and [lifecyclePause()](../../base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) are used. +This event represents a request to the Lifecycle extension to start or stop collecting data and is generated when [lifecycleStart](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) and [lifecyclePause()](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) are used. The Analytics extension only listens for the Lifecycle start event, and the Analytics database queue should be paused for up to 1000 milliseconds, which is the default value for `DEFAULT_LIFECYCLE_RESPONSE_WAIT_TIMEOUT`. diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/faq.md b/src/pages/documentation/solution-extensions/adobe-analytics/faq.md index 2754308d9f..fdabb87843 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/faq.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/faq.md @@ -27,12 +27,12 @@ If you see SDK identifiers unexpectedly change, try the following fixes to addre The metric `Crashes` is computed based on the Lifecycle start and pause API calls implemented in your mobile application. How can you verify if the implementation is correct: * Ensure that the Lifecycle extension is registered. -* Verify that both MobileCore APIs `lifecycleStart` and `lifecyclePause` are implemented in the application based on the recommended settings for each platform. See the [guide for registering Lifecycle with MobileCore and adding appropriate start/pause calls](../../base-extensions/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-startpause-calls). -* For more details, see also [Tracking app crashes in iOS](../../base-extensions/mobile-core/lifecycle/ios.md#tracking-app-crashes-in-ios) and [Android](../../base-extensions/mobile-core/lifecycle/android.md#tracking-app-crashes-in-android). +* Verify that both MobileCore APIs `lifecycleStart` and `lifecyclePause` are implemented in the application based on the recommended settings for each platform. See the [guide for registering Lifecycle with MobileCore and adding appropriate start/pause calls](../../home/base-extensions/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-startpause-calls). +* For more details, see also [Tracking app crashes in iOS](../../home/base-extensions/mobile-core/lifecycle/ios.md#tracking-app-crashes-in-ios) and [Android](../../home/base-extensions/mobile-core/lifecycle/android.md#tracking-app-crashes-in-android). ## How are mobile visits different from launches? -A launch is measured by the SDK when a user opens the app for the first time or returns to the app after having been out of the app for longer than the specified timeout value. The typical timeout is 5 minutes (300 seconds) in the [lifecycleTimeout](../../base-extensions/mobile-core/lifecycle/index.md#device-information) configuration setting. +A launch is measured by the SDK when a user opens the app for the first time or returns to the app after having been out of the app for longer than the specified timeout value. The typical timeout is 5 minutes (300 seconds) in the [lifecycleTimeout](../../home/base-extensions/mobile-core/lifecycle/index.md#device-information) configuration setting. A visit is a server-side calculation by Adobe Analytics and is based on the first and last data hits that are sent by the SDK without exceeding a visit timeout. Typically, session timeouts are set at 30 minutes for a report suite. Although visits come from traditional web analytics, these hits still provide valuable insights into how users enter and exit from your app. @@ -46,7 +46,7 @@ If you have followed the documentation and are unable to see reporting data in y ### Verify that the Analytics extension is registered -The [Analytics extension](./index.md) and its dependent [Identity extension](../../base-extensions/mobile-core/identity/index.md) should be registered and configured correctly for the SDK to start processing trackAction/trackState requests. +The [Analytics extension](./index.md) and its dependent [Identity extension](../../home/base-extensions/mobile-core/identity/index.md) should be registered and configured correctly for the SDK to start processing trackAction/trackState requests. ### Verify that network requests are sent to Adobe Analytics diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/index.md b/src/pages/documentation/solution-extensions/adobe-analytics/index.md index 629a72fb3f..1e41657ca5 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/index.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/index.md @@ -128,15 +128,15 @@ iOS ## Send Lifecycle metrics to Analytics -To automatically report on the application lifecycle details in Analytics, ensure that you properly configure the lifecycle data collection. For more information, see the documentation on [Lifecycle metrics](../../base-extensions/mobile-core/lifecycle/metrics.md). +To automatically report on the application lifecycle details in Analytics, ensure that you properly configure the lifecycle data collection. For more information, see the documentation on [Lifecycle metrics](../../home/base-extensions/mobile-core/lifecycle/metrics.md). ## Send app states and actions to Analytics -To track mobile app states and actions in Adobe Analytics, implement the [trackAction](../../base-extensions/mobile-core/api-reference.md#trackaction) and [trackState](../../base-extensions/mobile-core/api-reference.md#trackstate) APIs from the Mobile Core extension. For more information, see the [track app actions](../../base-extensions/mobile-core/api-reference.md#track-app-actions) and [track app states](../../base-extensions/mobile-core/api-reference.md#track-app-states-and-views) tutorials. +To track mobile app states and actions in Adobe Analytics, implement the [trackAction](../../home/base-extensions/mobile-core/api-reference.md#trackaction) and [trackState](../../home/base-extensions/mobile-core/api-reference.md#trackstate) APIs from the Mobile Core extension. For more information, see the [track app actions](../../home/base-extensions/mobile-core/api-reference.md#track-app-actions) and [track app states](../../home/base-extensions/mobile-core/api-reference.md#track-app-states-and-views) tutorials. -[trackState](../../base-extensions/mobile-core/api-reference.md#trackstate) reports the view state as the **Page Name**, and state views are reported as **Page View** in Analytics. The value is sent to Analytics by using the page name variable (`pagename=value`).

[trackAction](../../base-extensions/mobile-core/api-reference.md#trackaction) reports the Action as an **event** and does not increment your page views in Analytics. The value is sent to Analytics by using the action variable (`action=value`). +[trackState](../../home/base-extensions/mobile-core/api-reference.md#trackstate) reports the view state as the **Page Name**, and state views are reported as **Page View** in Analytics. The value is sent to Analytics by using the page name variable (`pagename=value`).

[trackAction](../../home/base-extensions/mobile-core/api-reference.md#trackaction) reports the Action as an **event** and does not increment your page views in Analytics. The value is sent to Analytics by using the action variable (`action=value`). ## Integrations with Adobe Experience Platform solutions and services @@ -193,4 +193,4 @@ iOS -For more information, see the [configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). +For more information, see the [configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md b/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md index 9b5f5c172b..abfbedfba4 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md @@ -27,7 +27,7 @@ Edge Bridge only supports the Analytics drop-in migration case. If you are looki -Other foundational extensions include the [Consent for Edge Network extension](../../edge-extensions/consent-for-edge-network/index.md) which enables consent preferences collection from your mobile app, and the [Assurance extension](../../base-extensions/platform-assurance-sdk/index.md) for validating your app implementation. +Other foundational extensions include the [Consent for Edge Network extension](../../edge-extensions/consent-for-edge-network/index.md) which enables consent preferences collection from your mobile app, and the [Assurance extension](../../home/base-extensions/assurance/index.md) for validating your app implementation. ### Workflow comparison diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md index 09bcd34520..7b1e85e218 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md @@ -4,7 +4,7 @@ noIndex: true -1. Add the [Mobile Core](../../base-extensions/mobile-core/index.md) and Analytics extensions to your project using the app's Gradle file. +1. Add the [Mobile Core](../../home/base-extensions/mobile-core/index.md) and Analytics extensions to your project using the app's Gradle file. @@ -39,7 +39,7 @@ import com.adobe.marketing.mobile.Analytics -1. Add the [Mobile Core](../../base-extensions/mobile-core/index.md) and Analytics extensions to your project using Cocoapods. +1. Add the [Mobile Core](../../home/base-extensions/mobile-core/index.md) and Analytics extensions to your project using Cocoapods. 2. Add the following pods in your `Podfile`: ```ruby diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md b/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md index 6cb93f4640..f399007dbd 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md +++ b/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md @@ -20,7 +20,7 @@ import ClearBeaconIos from './tabs/track-beacon/clear-beacon/ios.md' Sending beacon data to Adobe Analytics for reporting can be an effective way to understand how your audience can interact with physical landmarks. -The `trackBeacon` API from v4 SDKs is no longer available in the Experience Platform SDKs. Now, you need to manually send beacon tracking data to your Adobe Analytics server and create the rules based on a user's proximity to your beacons. This solution requires the [Profile extension](../../base-extensions/profile/index.md) to create beacon-related rules. +The `trackBeacon` API from v4 SDKs is no longer available in the Experience Platform SDKs. Now, you need to manually send beacon tracking data to your Adobe Analytics server and create the rules based on a user's proximity to your beacons. This solution requires the [Profile extension](../../home/base-extensions/profile/index.md) to create beacon-related rules. This topic contains sample code to help you implement your own `trackBeacon` calls. diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md index a0a5181db2..eeed070a07 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md @@ -46,7 +46,7 @@ This API registers an extension class that was derived from with a unique name. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md index 842276919a..e85875744e 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md +++ b/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md @@ -54,7 +54,7 @@ For more information about implementing Audience Manager APIs, please read the [ ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Audience Manager configuration values. For more information, see the [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Audience Manager configuration values. For more information, see the [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md index 4651e06f64..04d6b49fd7 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md @@ -39,7 +39,7 @@ import com.adobe.marketing.mobile.Audience -1. Add the [Mobile Core](../../base-extensions/mobile-core/index.md) and Audience extensions to your project using Cocoapods. +1. Add the [Mobile Core](../../home/base-extensions/mobile-core/index.md) and Audience extensions to your project using Cocoapods. 2. Add the following pods in your `Podfile`: ```ruby diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md index 2795211663..f7278b37bc 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md @@ -42,7 +42,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md index a74b446aa1..5b0e0fef69 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md @@ -82,7 +82,7 @@ iOS ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Campaign Classic configuration values. For more information, see the [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Campaign Classic configuration values. For more information, see the [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md index 277758924c..ff2ff7c2c4 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md @@ -23,7 +23,7 @@ Using dynamic dependency versions is **not** recommended for production apps. Pl -Add the Campaign Classic and [Mobile Core](../../base-extensions/mobile-core/index.md) libraries to your project. +Add the Campaign Classic and [Mobile Core](../../home/base-extensions/mobile-core/index.md) libraries to your project. You can add the following pods to your `Podfile`: diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md index d2fa62afd9..6fe74f8c07 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md @@ -30,7 +30,7 @@ Registers the Campaign Standard extension with the Mobile Core. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md index e787620e4e..a5b065992c 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md @@ -62,10 +62,10 @@ Remember the following information when you add the Campaign extension to your a | Extension | Information | | :--- | :--- | -| Campaign Standard | The Campaign Standard extension requires the [Mobile Core](../../base-extensions/mobile-core/index.md), [Profile](../profile/index.md), [Lifecycle](../../base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../base-extensions/mobile-core/signal/index.md) extensions. You should always ensure that you get the latest version of the extensions. | +| Campaign Standard | The Campaign Standard extension requires the [Mobile Core](../../home/base-extensions/mobile-core/index.md), [Profile](../profile/index.md), [Lifecycle](../../home/base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../home/base-extensions/mobile-core/signal/index.md) extensions. You should always ensure that you get the latest version of the extensions. | | Profile | The Profile extension is required for in-app trigger frequencies to work accurately. For more information, see [Profile](../profile/index.md). | -| Signal | The Signal extension is required for all postback rules to work. For more information, see [Signal](../../base-extensions/mobile-core/signal/index.md). | -| Lifecycle | The Lifecycle extension is required for a profile to be registered in Campaign. In order to do this, you will need to implement the Lifecycle APIs. For more information, please read either the [Lifecycle API (Android)](../../base-extensions/mobile-core/lifecycle/android.md) or the [Lifecycle API (iOS)](../../base-extensions/mobile-core/lifecycle/ios.md) documentation. | +| Signal | The Signal extension is required for all postback rules to work. For more information, see [Signal](../../home/base-extensions/mobile-core/signal/index.md). | +| Lifecycle | The Lifecycle extension is required for a profile to be registered in Campaign. In order to do this, you will need to implement the Lifecycle APIs. For more information, please read either the [Lifecycle API (Android)](../../home/base-extensions/mobile-core/lifecycle/android.md) or the [Lifecycle API (iOS)](../../home/base-extensions/mobile-core/lifecycle/ios.md) documentation. | @@ -109,7 +109,7 @@ iOS ### Set up push messaging -To enable push messaging with Adobe Campaign, call `setPushIdentifer` to send the push identifier that is received from the Apple Push Notification Service (APNS) or Firebase Cloud Messaging Platform (FCM) to the Adobe Identity service. For more information about the `setPushIdentifer` API, see the [setPushIdentifier section of the Adobe Identity API guide](../../base-extensions/mobile-core/identity/api-reference.md#setpushidentifier). +To enable push messaging with Adobe Campaign, call `setPushIdentifer` to send the push identifier that is received from the Apple Push Notification Service (APNS) or Firebase Cloud Messaging Platform (FCM) to the Adobe Identity service. For more information about the `setPushIdentifer` API, see the [setPushIdentifier section of the Adobe Identity API guide](../../home/base-extensions/mobile-core/identity/api-reference.md#setpushidentifier). For more information about setting up your iOS app to connect to APNS and retrieve a device token that will be used as a push identifier, see the tutorial on [registering your app with APNs](https://developer.apple.com/documentation/usernotifications/registering_your_app_with_apns?language=objc). For more information about setting up your Android app to connect to FCM and retrieve a device registration token that will be used as a push identifier, see the tutorial on [setting up a Firebase Cloud Messaging client app on Android](https://firebase.google.com/docs/cloud-messaging/android/client). @@ -219,7 +219,7 @@ iOS ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Campaign Standard configuration values. For more information, see the [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Campaign Standard configuration values. For more information, see the [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md index 12ac35d4c3..13794a9085 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md @@ -64,7 +64,7 @@ NSString *campaignVersion = [AEPMobileCampaign extensionVersion]; -This API has been deprecated as of version 2.0.0. Please use the [Mobile Core registerExtension API](../../base-extensions/mobile-core/api-reference.md) instead. +This API has been deprecated as of version 2.0.0. Please use the [Mobile Core registerExtension API](../../home/base-extensions/mobile-core/api-reference.md) instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md index b394c4a602..00aec6dcd3 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md @@ -22,7 +22,7 @@ Using dynamic dependency versions is **not** recommended for production apps. Pl -2. Import the Campaign Standard, [Mobile Core](../../base-extensions/mobile-core/index.md), [Profile](../../base-extensions/profile/index.md), [Lifecycle](../../base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../base-extensions/mobile-core/signals/index.md) extensions in your application's main activity. +2. Import the Campaign Standard, [Mobile Core](../../home/base-extensions/mobile-core/index.md), [Profile](../../home/base-extensions/profile/index.md), [Lifecycle](../../home/base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../home/base-extensions/mobile-core/signals/index.md) extensions in your application's main activity. ```java import com.adobe.marketing.mobile.Campaign; @@ -35,7 +35,7 @@ import com.adobe.marketing.mobile.UserProfile; -1. Add the Campaign Standard, [Mobile Core](../../base-extensions/mobile-core/index.md), and [Profile](../../base-extensions/profile/index.md) extensions to your project using Cocoapods. +1. Add the Campaign Standard, [Mobile Core](../../home/base-extensions/mobile-core/index.md), and [Profile](../../home/base-extensions/profile/index.md) extensions to your project using Cocoapods. ![](../assets/index/aep-cocoapods.png) @@ -115,7 +115,7 @@ class MyApp : Application() { } ``` -For more information about starting Lifecycle, see the [Lifecycle extension in Android guide](../../base-extensions/mobile-core/lifecycle/android.md). +For more information about starting Lifecycle, see the [Lifecycle extension in Android guide](../../home/base-extensions/mobile-core/lifecycle/android.md). @@ -183,7 +183,7 @@ To set up local notifications in Android, update the AndroidManifest.xml file: ``` -To configure the notification icons that the local notification will use, see the [configuring notification icons section](../../base-extensions/mobile-core/api-reference.md#setsmalliconresourceid--setlargeiconresourceid) within the Mobile Core. +To configure the notification icons that the local notification will use, see the [configuring notification icons section](../../home/base-extensions/mobile-core/api-reference.md#setsmalliconresourceid--setlargeiconresourceid) within the Mobile Core. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md index fe2cafd597..61865ab4d3 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md +++ b/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md @@ -77,7 +77,7 @@ If SDK privacy status is `optedout`, the push identifier will not be set. 2. In `application:didRegisterForRemoteNotificationsWithDeviceToken:`, call `setPushIdentifier` to set the Push identifier. - For more information, see [setPushIdentifier](../../base-extensions/mobile-core/api-reference.md#setpushidentifier). + For more information, see [setPushIdentifier](../../home/base-extensions/mobile-core/api-reference.md#setpushidentifier). #### Verify that the push token has successfully synced with the Experience Cloud ID service diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md index 5a98fb970d..b82c7a6535 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md @@ -34,7 +34,7 @@ Registers the Media extension with the Mobile Core SDK. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md b/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md index 2a1a5e7365..c55be1f306 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md +++ b/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md @@ -89,7 +89,7 @@ iOS ## Configuration keys -To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../base-extensions/mobile-core/configuration/api-reference.md). +To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-target/api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/api-reference.md index 0ea1c35ebe..e70740fa20 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-target/api-reference.md @@ -159,7 +159,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-target/index.md b/src/pages/documentation/solution-extensions/adobe-target/index.md index 0a05a62e90..52c808a1dc 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/index.md +++ b/src/pages/documentation/solution-extensions/adobe-target/index.md @@ -147,7 +147,7 @@ The visual preview mode allows you to easily perform end-to-end QA activities by You can also set an application deep link that can be triggered when selections are made in the preview mode by using the [setPreviewRestartDeeplink](./api-reference.md#setpreviewrestartdeeplink) API. -To enter the preview visual mode, use the `collectLaunchInfo` API to enable the mode and select the red floating button that appears on the app screen. For more information, see [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo). +To enter the preview visual mode, use the `collectLaunchInfo` API to enable the mode and select the red floating button that appears on the app screen. For more information, see [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo). @@ -190,7 +190,7 @@ For A4T data to be sent to Adobe Analytics client-side, make sure Analytics SDK To programmatically update SDK configuration, use the following information to change your Target configuration values: -For more information, see [Programmatic updates to Configuration](../../base-extensions/mobile-core/configuration/index.md#programmatic-updates-to-configuration). +For more information, see [Programmatic updates to Configuration](../../home/base-extensions/mobile-core/configuration/index.md#programmatic-updates-to-configuration). | Key | Description | Data Type | | :--- | :--- | :--- | @@ -204,4 +204,4 @@ For more information, see [Programmatic updates to Configuration](../../base-ext -Currently, the `target.sessiontimeout` value can only be configured programmatically. For more information, see [updateConfiguration](../../base-extensions/mobile-core/configuration/api-reference.md#updateconfiguration). +Currently, the `target.sessiontimeout` value can only be configured programmatically. For more information, see [updateConfiguration](../../home/base-extensions/mobile-core/configuration/api-reference.md#updateconfiguration). diff --git a/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md b/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md index 4c7c3c32cd..79bcf88878 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md +++ b/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md @@ -1387,17 +1387,17 @@ Target.setTntId("f741a5d5-09c0-4931-bf53-b9e568c5f782.35_0") -On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. +On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. -The SDK can only collect information from the launching Activity if [`setApplication`](../../base-extensions/mobile-core/api-reference.md#setapplication) API has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. +The SDK can only collect information from the launching Activity if [`setApplication`](../../home/base-extensions/mobile-core/api-reference.md#setapplication) API has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. -To enter the visual preview mode, use the Mobile Core's [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API to enable the mode, and select the red floating button that appears on the app screen. +To enter the visual preview mode, use the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API to enable the mode, and select the red floating button that appears on the app screen. #### Swift diff --git a/src/pages/documentation/solution-extensions/adobe-target/tabs/index.md b/src/pages/documentation/solution-extensions/adobe-target/tabs/index.md index e54c978f3a..a9aa71e107 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/tabs/index.md +++ b/src/pages/documentation/solution-extensions/adobe-target/tabs/index.md @@ -385,13 +385,13 @@ var targetParameters = new ACPTargetParameters(mboxParameters, profileParameters -On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. +On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. -The SDK can only collect information from the launching Activity if [setApplication](../../base-extensions/mobile-core/api-reference.md#setapplication) has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. +The SDK can only collect information from the launching Activity if [setApplication](../../home/base-extensions/mobile-core/api-reference.md#setapplication) has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. -On iOS, the Mobile Core's [collectLaunchInfo](../../base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API can be invoked with the Target preview deep link as shown below: +On iOS, the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API can be invoked with the Target preview deep link as shown below: #### Swift diff --git a/src/pages/documentation/solution-extensions/index.md b/src/pages/documentation/solution-extensions/index.md index 5f8790af86..f4dfd6dfa3 100644 --- a/src/pages/documentation/solution-extensions/index.md +++ b/src/pages/documentation/solution-extensions/index.md @@ -12,9 +12,9 @@ Solution extensions are extensions that directly connect with Experience Cloud s ## Extensions * [Adobe Analytics](./adobe-analytics/index.md) -* [Adobe Media Analytics](./adobe-media-analytics/index.md) * [Adobe Audience Manager](./adobe-audience-manager/index.md) * [Adobe Campaign Classic](./adobe-campaign-classic/index.md) * [Adobe Campaign Standard](./adobe-campaign-standard/index.md) +* [Adobe Media Analytics](./adobe-media-analytics/index.md) * [Adobe Target](./adobe-target/index.md) * [Places](./places/index.md) diff --git a/src/pages/documentation/solution-extensions/places/api-reference.md b/src/pages/documentation/solution-extensions/places/api-reference.md index 6938b271a5..198f80e766 100644 --- a/src/pages/documentation/solution-extensions/places/api-reference.md +++ b/src/pages/documentation/solution-extensions/places/api-reference.md @@ -128,7 +128,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. From b0d62f4c6e9fd55f1cb7291f785dd5f75053c749 Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Tue, 17 Oct 2023 14:01:06 -0700 Subject: [PATCH 11/12] More moving --- gatsby-config.js | 338 +++++++++--------- .../home/current-sdk-versions.md | 162 --------- .../api-reference.md | 4 +- .../index/configuration-adobe-target.png | Bin .../index/configuration-offer-decisioning.png | Bin .../assets/index/configuration.png | Bin .../assets/index/lifecycle-rule-action.png | Bin .../assets/index/lifecycle-rule-event.png | Bin .../assets/index/lifecycle-rule.png | Bin .../assets/index/target-tpid.png | Bin .../index.md | 8 +- .../release-notes.md | 0 .../tabs/api-reference.md | 2 +- .../tabs/index.md | 0 .../adobe-journey-optimizer/api-reference.md | 2 +- .../assets/index/configuration.png | Bin .../assets/index/update-datastream.png | Bin .../adobe-journey-optimizer/index.md | 6 +- .../adobe-journey-optimizer/public-classes.md | 0 .../adobe-journey-optimizer/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-journey-optimizer/tabs/index.md | 0 .../tabs/public-classes.md | 0 .../validate-messages/iam-simulation.png | Bin .../validate-messages/install-iam-plugin.png | Bin .../message-configuration.png | Bin .../validate-messages/message-request.png | Bin .../message-response-payload.png | Bin .../validate-messages/message-response.png | Bin .../tutorials/handle-clicks.md | 0 .../tutorials/index.md | 0 .../tutorials/javascript-from-native.md | 0 .../tutorials/messaging-delegate.md | 0 .../tutorials/native-from-javascript.md | 0 .../tutorials/tabs/javascript-from-native.md | 0 .../tutorials/tabs/messaging-delegate.md | 0 .../tutorials/tabs/native-from-javascript.md | 0 .../tutorials/validate-messages.md | 4 +- .../consent-for-edge-network/api-reference.md | 2 +- .../assets/index/configuration.png | Bin .../consent-for-edge-network/index.md | 2 +- .../consent-for-edge-network/release-notes.md | 0 .../tabs/api-reference.md | 0 .../consent-for-edge-network/tabs/index.md | 2 +- .../edge-network/api-reference.md | 4 +- .../assets/index/configuration.png | Bin .../edge-network/index.md | 0 .../edge-network/release-notes.md | 0 .../edge-network/tabs/api-reference.md | 0 .../edge-network/tabs/index.md | 2 +- .../edge-network/validation.md | 4 +- .../edge-network/xdm-experience-events.md | 0 .../api-reference.md | 6 +- .../assets/index/configuration.png | Bin .../identity-for-edge-network/faq.md | 6 +- .../identity-for-edge-network/index.md | 0 .../release-notes.md | 0 .../tabs/api-reference.md | 6 +- .../identity-for-edge-network/tabs/faq.md | 2 +- .../identity-for-edge-network/tabs/index.md | 2 +- .../edge-extensions => edge}/index.md | 0 .../api-reference.md | 2 +- .../index/add-mobile-lifecycle-details.png | Bin .../assets/index/configuration.png | Bin .../assets/index/define-action.png | Bin .../assets/index/save-rule.png | Bin .../assets/index/select-event.png | Bin .../event-reference.md | 6 +- .../lifecycle-for-edge-network/index.md | 2 +- .../lifecycle-for-edge-network/metrics.md | 6 +- .../media-for-edge-network/api-reference.md | 2 +- .../assets/index/configuration.png | Bin .../media-for-edge-network/index.md | 4 +- .../media-for-edge-network/release-notes.md | 0 .../tabs/api-reference.md | 0 .../media-for-edge-network/tabs/index.md | 0 .../base}/assurance/api-reference.md | 0 .../assurance-connection-error.png | Bin .../assurance-invalid-configuration-error.png | Bin .../assets/common-issues/assurance-pin.png | Bin .../common-issues/assurance-pincode.png | Bin .../assurance-unauthorized-access-error.png | Bin .../assets/index/assurance-extension.png | Bin .../base}/assurance/common-issues.md | 0 .../base}/assurance/index.md | 0 .../base}/assurance/release-notes.md | 0 .../base}/assurance/tabs/api-reference.md | 0 .../base}/assurance/tabs/common-issues.md | 0 .../base}/assurance/tabs/index.md | 0 .../base-extensions => home/base}/index.md | 0 .../base}/mobile-core/api-reference.md | 4 +- .../configuration/api-reference.md | 0 .../base}/mobile-core/configuration/index.md | 0 .../configuration/tabs/api-reference.md | 0 .../mobile-core/configuration/tabs/index.md | 0 .../mobile-core/identity/api-reference.md | 8 +- .../assets/push-sync/push-analytics-optin.png | Bin .../assets/push-sync/push-identities.png | Bin .../push-sync/set-push-token-to-identity.png | Bin .../base}/mobile-core/identity/index.md | 0 .../base}/mobile-core/identity/push-sync.md | 2 +- .../identity/tabs/api-reference.md | 0 .../base}/mobile-core/identity/tabs/index.md | 0 .../mobile-core/identity/tabs/push-sync.md | 0 .../base}/mobile-core/index.md | 0 .../base}/mobile-core/lifecycle/android.md | 0 .../mobile-core/lifecycle/api-reference.md | 0 .../assets/android/android-crash.png | Bin .../lifecycle/configuration-keys.md | 0 .../mobile-core/lifecycle/event-reference.md | 8 +- .../base}/mobile-core/lifecycle/index.md | 0 .../base}/mobile-core/lifecycle/ios.md | 0 .../base}/mobile-core/lifecycle/metrics.md | 0 .../lifecycle/tabs/api-reference.md | 0 .../base}/mobile-core/lifecycle/tabs/index.md | 0 .../mobile-core/platform-services/index.md | 0 .../platform-services/network-service.md | 0 .../platform-services/tabs/index.md | 0 .../platform-services/tabs/network-service.md | 0 .../base}/mobile-core/release-notes.md | 0 .../assets/index/rule-example.png | Bin .../rules-engine/consequence-details.md | 4 +- .../base}/mobile-core/rules-engine/index.md | 0 .../rules-engine/technical-details.md | 0 .../base}/mobile-core/signal/api-reference.md | 0 .../data-element-example-collect-pii.png | Bin .../postback-pii-token-example.png | Bin .../send-postback-action.png | Bin .../base}/mobile-core/signal/index.md | 0 .../signal/rules-engine-integration.md | 0 .../mobile-core/signal/tabs/api-reference.md | 0 .../base}/mobile-core/signal/tabs/index.md | 0 .../base}/mobile-core/tabs/api-reference.md | 0 .../base}/profile/api-reference.md | 0 .../profile/assets/index/configuration.png | Bin .../base}/profile/index.md | 0 .../base}/profile/release-notes.md | 0 .../base}/profile/tabs/api-reference.md | 0 .../base}/profile/tabs/index.md | 0 src/pages/home/current-sdk-versions.md | 162 +++++++++ .../configure-datastream.png | Bin .../create-datastream.png | Bin .../configure-extension.png | Bin .../create-mobile-property.png | Bin .../assets/index/edge-network-integration.png | Bin .../index/solution-specific-integration.png | Bin .../create-dataset.png | Bin .../create-schema.png | Bin .../assets/validate/assurance-analytics.png | Bin .../assets/validate/assurance-places.png | Bin .../validate/configuration-response.png | Bin .../getting-started/configure-datastreams.md | 0 .../create-a-mobile-property.md | 0 .../getting-started/enable-debug-logging.md | 8 +- .../home/getting-started/get-the-sdk.md | 0 .../home/getting-started/index.md | 0 .../set-up-schemas-and-datasets.md | 0 .../tabs/enable-debug-logging.md | 0 .../home/getting-started/tabs/get-the-sdk.md | 0 .../home/getting-started/tabs/track-events.md | 0 .../home/getting-started/track-events.md | 4 +- .../home/getting-started/validate.md | 0 src/pages/{documentation => }/home/index.md | 0 .../home/release-notes/2021.md | 8 +- .../home/release-notes/2022.md | 2 +- .../home/release-notes/index.md | 62 ++-- .../resources/acp-end-of-support.md | 4 +- .../{documentation => }/resources/alerts.md | 0 .../dynamic-dependencies.png | Bin .../outdated-dependencies.png | Bin .../add-package-collection-load.png | Bin .../add-package-collection.png | Bin .../package-collection.png | Bin .../{documentation => }/resources/faq.md | 6 +- .../{documentation => }/resources/index.md | 0 .../resources/major-version-alignment.md | 0 .../resources/manage-gradle-dependencies.md | 0 .../resources/manage-spm-dependencies.md | 0 .../resources/privacy-and-gdpr.md | 14 +- .../resources/privacy-announcement.md | 0 .../{documentation => }/resources/tabs/faq.md | 0 .../resources/tabs/privacy-and-gdpr.md | 0 .../upgrade-platform-sdks/analytics.md | 20 +- .../upgrade-platform-sdks/api-changelog.md | 70 ++-- .../upgrade-platform-sdks/comparison.md | 10 +- .../resources/upgrade-platform-sdks/index.md | 2 +- .../upgrade-platform-sdks/lifecycle.md | 0 .../upgrade-platform-sdks/tabs/analytics.md | 0 .../upgrade-platform-sdks/tabs/lifecycle.md | 0 .../resources/upgrade-platform-sdks/v4-faq.md | 0 .../resources/user-guides/app-extension.md | 0 .../assets/attach-data/rule-complete.png | Bin .../assets/attach-data/set-action.png | Bin .../assets/attach-data/set-event.png | Bin .../target-attach-data-data-element-setup.png | Bin ...tach-data-event-setup-location-clicked.png | Bin ...ch-data-event-setup-location-displayed.png | Bin ...arget-attach-data-event-setup-prefetch.png | Bin .../target-attach-data-event-setup.png | Bin ...ach-data-json-example-location-clicked.png | Bin ...ttach-data-rule-setup-location-clicked.png | Bin ...ach-data-rule-setup-location-displayed.png | Bin ...target-attach-data-rule-setup-prefetch.png | Bin .../target-attach-data-rule-setup.png | Bin .../modify-data/rule-complete-modify-data.png | Bin .../modify-data/set-action-analytics.png | Bin .../assets/modify-data/set-action-json.png | Bin .../assets/modify-data/set-event.png | Bin ...data-elements-create-data-element-ecid.png | Bin .../data-elements-create-rule.png | Bin .../resources/user-guides/attach-data.md | 6 +- .../user-guides/building-mobile-extensions.md | 0 .../commerce-assurance-connection.png | Bin .../overview/commerce-assurance-login.png | Bin .../overview/commerces-session-details.png | Bin .../assets/overview/create-datastream.png | Bin .../assets/overview/development-icon.png | Bin .../assets/overview/enable-datastreams.png | Bin .../assets/overview/xdm-schema-example.png | Bin .../rule-xdm-event-type.png | Bin .../development-icon.png | Bin .../xdm-product-review.png | Bin .../getting-started-with-platform/overview.md | 8 +- .../rules-and-xdm-events.md | 2 +- .../sample-xdm-implementation.md | 0 .../build-xdm-objects/android.md | 0 .../build-xdm-objects/ios.md | 0 .../download-sample-application/android.md | 0 .../download-sample-application/ios.md | 0 .../override-default-dataset/android.md | 0 .../override-default-dataset/ios.md | 0 .../resources/user-guides/index.md | 0 .../resources/user-guides/modify-data.md | 6 +- .../attach-data/attaching-data/analytics.md | 0 .../tabs/attach-data/attaching-data/target.md | 0 .../user-guides/tags-data-elements.md | 6 +- .../adobe-analytics/api-reference.md | 6 +- .../assets/index/compareWorkflows.png | Bin .../assets/index/mobile-analytics-company.png | Bin .../index/mobile-analytics-configuration.png | Bin .../adobe-analytics/assets/index/workflow.png | Bin .../assets/product-variable/map-products.png | Bin .../assets/track-beacon/beacon-condition.png | Bin .../track-beacon/beacon-data-element.png | Bin .../assets/track-beacon/beacon-rule.png | Bin .../track-beacon/beacon-token-replacement.png | Bin .../adobe-analytics/event-reference.md | 4 +- .../adobe-analytics/faq.md | 8 +- .../adobe-analytics/index.md | 8 +- .../migrate-to-edge-network.md | 8 +- .../adobe-analytics/product-variable.md | 0 .../adobe-analytics/release-notes.md | 0 .../adobe-analytics/tabs/api-reference.md | 0 .../adobe-analytics/tabs/index.md | 4 +- .../adobe-analytics/tabs/product-variable.md | 0 .../tabs/track-beacon/clear-beacon/android.md | 0 .../tabs/track-beacon/clear-beacon/ios.md | 0 .../tabs/track-beacon/track-beacon/android.md | 0 .../tabs/track-beacon/track-beacon/ios.md | 0 .../adobe-analytics/track-beacon.md | 2 +- .../adobe-audience-manager/api-reference.md | 2 +- .../assets/index/configure.png | Bin .../adobe-audience-manager/event-reference.md | 0 .../adobe-audience-manager/index.md | 2 +- .../adobe-audience-manager/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-audience-manager/tabs/index.md | 2 +- .../adobe-campaign-classic/api-reference.md | 2 +- .../assets/index/configure.png | Bin .../adobe-campaign-classic/event-reference.md | 0 .../adobe-campaign-classic/index.md | 2 +- .../adobe-campaign-classic/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-campaign-classic/tabs/index.md | 2 +- .../adobe-campaign-standard/api-reference.md | 2 +- .../assets/index/aep-cocoapods.png | Bin .../assets/index/cocoapods.png | Bin .../assets/index/configure.png | Bin .../push-notifications/android-server-key.png | Bin .../campaign-ios-cert-configured.png | Bin .../charles-demdex-call-ios.png | Bin .../push-notifications/push-identifier.png | Bin .../push-token-to-identity.png | Bin .../push-tracking-click.png | Bin .../push-tracking-impression.png | Bin .../push-notifications/push-tracking-open.png | Bin .../subscriber-list-android.png | Bin .../subscriber-list-ios.png | Bin .../push-notifications/tracking-click.png | Bin .../tracking-impression.png | Bin .../push-notifications/tracking-open.png | Bin .../event-reference.md | 0 .../adobe-campaign-standard/index.md | 10 +- .../push-notifications.md | 0 .../adobe-campaign-standard/release-notes.md | 0 .../tabs/api-reference.md | 2 +- .../adobe-campaign-standard/tabs/index.md | 8 +- .../tabs/push-notifications.md | 2 +- .../adobe-media-analytics/api-reference.md | 2 +- .../assets/index/configuration.png | Bin .../adobe-media-analytics/index.md | 4 +- .../adobe-media-analytics/migration-guide.md | 6 +- .../adobe-media-analytics/release-notes.md | 0 .../tabs/api-reference.md | 0 .../adobe-media-analytics/tabs/index.md | 0 .../tabs/migration-guide.md | 0 .../adobe-target/api-reference.md | 2 +- .../assets/index/configuration.png | Bin .../adobe-target/event-reference.md | 0 .../adobe-target/index.md | 6 +- .../adobe-target/raw-api-reference.md | 0 .../adobe-target/release-notes.md | 0 .../adobe-target/tabs/api-reference.md | 6 +- .../adobe-target/tabs/index.md | 6 +- .../adobe-target/tabs/raw-api-reference.md | 0 .../solution-extensions => solution}/index.md | 0 .../places/api-reference.md | 2 +- .../add-environment-details-fieldgroup.png | Bin .../assets/index/add-new-field-group.png | Bin .../places/assets/index/config.png | Bin .../datacollection-tag-correct-datastream.png | Bin .../datastream-choose-platform-services.png | Bin .../datastream-ensure-correct-dataset.png | Bin .../assets/index/final-schema-structure.png | Bin .../index/manage-places-context-fields.png | Bin .../index/mask-everything-except-poiId.png | Bin .../places/index.md | 0 .../places/places-to-platform.md | 0 .../places/release-notes.md | 0 .../places/tabs/api-reference.md | 0 .../places/tabs/index.md | 0 331 files changed, 561 insertions(+), 561 deletions(-) delete mode 100644 src/pages/documentation/home/current-sdk-versions.md rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/api-reference.md (96%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/assets/index/configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/index.md (97%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/release-notes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/tabs/api-reference.md (98%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer-decisioning/tabs/index.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/api-reference.md (97%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/assets/index/configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/assets/index/update-datastream.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/index.md (95%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/public-classes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/release-notes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tabs/api-reference.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tabs/index.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tabs/public-classes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/handle-clicks.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/index.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/javascript-from-native.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/messaging-delegate.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/native-from-javascript.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md (100%) rename src/pages/{documentation/edge-extensions => edge}/adobe-journey-optimizer/tutorials/validate-messages.md (96%) rename src/pages/{documentation/edge-extensions => edge}/consent-for-edge-network/api-reference.md (96%) rename src/pages/{documentation/edge-extensions => edge}/consent-for-edge-network/assets/index/configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/consent-for-edge-network/index.md (94%) rename src/pages/{documentation/edge-extensions => edge}/consent-for-edge-network/release-notes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/consent-for-edge-network/tabs/api-reference.md (100%) rename src/pages/{documentation/edge-extensions => edge}/consent-for-edge-network/tabs/index.md (97%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/api-reference.md (94%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/assets/index/configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/index.md (100%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/release-notes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/tabs/api-reference.md (100%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/tabs/index.md (97%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/validation.md (94%) rename src/pages/{documentation/edge-extensions => edge}/edge-network/xdm-experience-events.md (100%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/api-reference.md (96%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/assets/index/configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/faq.md (96%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/index.md (100%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/release-notes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/tabs/api-reference.md (96%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/tabs/faq.md (98%) rename src/pages/{documentation/edge-extensions => edge}/identity-for-edge-network/tabs/index.md (98%) rename src/pages/{documentation/edge-extensions => edge}/index.md (100%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/api-reference.md (81%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png (100%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/assets/index/configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/assets/index/define-action.png (100%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/assets/index/save-rule.png (100%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/assets/index/select-event.png (100%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/event-reference.md (54%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/index.md (93%) rename src/pages/{documentation/edge-extensions => edge}/lifecycle-for-edge-network/metrics.md (54%) rename src/pages/{documentation/edge-extensions => edge}/media-for-edge-network/api-reference.md (99%) rename src/pages/{documentation/edge-extensions => edge}/media-for-edge-network/assets/index/configuration.png (100%) rename src/pages/{documentation/edge-extensions => edge}/media-for-edge-network/index.md (91%) rename src/pages/{documentation/edge-extensions => edge}/media-for-edge-network/release-notes.md (100%) rename src/pages/{documentation/edge-extensions => edge}/media-for-edge-network/tabs/api-reference.md (100%) rename src/pages/{documentation/edge-extensions => edge}/media-for-edge-network/tabs/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/assets/common-issues/assurance-connection-error.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/assets/common-issues/assurance-invalid-configuration-error.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/assets/common-issues/assurance-pin.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/assets/common-issues/assurance-pincode.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/assets/common-issues/assurance-unauthorized-access-error.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/assets/index/assurance-extension.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/common-issues.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/release-notes.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/tabs/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/tabs/common-issues.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/assurance/tabs/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/api-reference.md (98%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/configuration/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/configuration/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/configuration/tabs/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/configuration/tabs/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/api-reference.md (97%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/assets/push-sync/push-analytics-optin.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/assets/push-sync/push-identities.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/push-sync.md (94%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/tabs/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/tabs/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/identity/tabs/push-sync.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/android.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/assets/android/android-crash.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/configuration-keys.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/event-reference.md (90%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/ios.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/metrics.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/tabs/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/lifecycle/tabs/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/platform-services/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/platform-services/network-service.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/platform-services/tabs/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/platform-services/tabs/network-service.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/release-notes.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/rules-engine/assets/index/rule-example.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/rules-engine/consequence-details.md (98%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/rules-engine/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/rules-engine/technical-details.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/rules-engine-integration.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/tabs/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/signal/tabs/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/mobile-core/tabs/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/profile/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/profile/assets/index/configuration.png (100%) rename src/pages/{documentation/home/base-extensions => home/base}/profile/index.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/profile/release-notes.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/profile/tabs/api-reference.md (100%) rename src/pages/{documentation/home/base-extensions => home/base}/profile/tabs/index.md (100%) create mode 100644 src/pages/home/current-sdk-versions.md rename src/pages/{documentation => }/home/getting-started/assets/configure-datastreams/configure-datastream.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/configure-datastreams/create-datastream.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/create-a-mobile-property/configure-extension.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/create-a-mobile-property/create-mobile-property.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/index/edge-network-integration.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/index/solution-specific-integration.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/set-up-schemas-and-datasets/create-schema.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/validate/assurance-analytics.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/validate/assurance-places.png (100%) rename src/pages/{documentation => }/home/getting-started/assets/validate/configuration-response.png (100%) rename src/pages/{documentation => }/home/getting-started/configure-datastreams.md (100%) rename src/pages/{documentation => }/home/getting-started/create-a-mobile-property.md (100%) rename src/pages/{documentation => }/home/getting-started/enable-debug-logging.md (91%) rename src/pages/{documentation => }/home/getting-started/get-the-sdk.md (100%) rename src/pages/{documentation => }/home/getting-started/index.md (100%) rename src/pages/{documentation => }/home/getting-started/set-up-schemas-and-datasets.md (100%) rename src/pages/{documentation => }/home/getting-started/tabs/enable-debug-logging.md (100%) rename src/pages/{documentation => }/home/getting-started/tabs/get-the-sdk.md (100%) rename src/pages/{documentation => }/home/getting-started/tabs/track-events.md (100%) rename src/pages/{documentation => }/home/getting-started/track-events.md (96%) rename src/pages/{documentation => }/home/getting-started/validate.md (100%) rename src/pages/{documentation => }/home/index.md (100%) rename src/pages/{documentation => }/home/release-notes/2021.md (94%) rename src/pages/{documentation => }/home/release-notes/2022.md (98%) rename src/pages/{documentation => }/home/release-notes/index.md (89%) rename src/pages/{documentation => }/resources/acp-end-of-support.md (87%) rename src/pages/{documentation => }/resources/alerts.md (100%) rename src/pages/{documentation => }/resources/assets/manage-gradle-dependencies/dynamic-dependencies.png (100%) rename src/pages/{documentation => }/resources/assets/manage-gradle-dependencies/outdated-dependencies.png (100%) rename src/pages/{documentation => }/resources/assets/manage-spm-dependencies/add-package-collection-load.png (100%) rename src/pages/{documentation => }/resources/assets/manage-spm-dependencies/add-package-collection.png (100%) rename src/pages/{documentation => }/resources/assets/manage-spm-dependencies/package-collection.png (100%) rename src/pages/{documentation => }/resources/faq.md (97%) rename src/pages/{documentation => }/resources/index.md (100%) rename src/pages/{documentation => }/resources/major-version-alignment.md (100%) rename src/pages/{documentation => }/resources/manage-gradle-dependencies.md (100%) rename src/pages/{documentation => }/resources/manage-spm-dependencies.md (100%) rename src/pages/{documentation => }/resources/privacy-and-gdpr.md (86%) rename src/pages/{documentation => }/resources/privacy-announcement.md (100%) rename src/pages/{documentation => }/resources/tabs/faq.md (100%) rename src/pages/{documentation => }/resources/tabs/privacy-and-gdpr.md (100%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/analytics.md (76%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/api-changelog.md (50%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/comparison.md (93%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/index.md (96%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/lifecycle.md (100%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/tabs/analytics.md (100%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/tabs/lifecycle.md (100%) rename src/pages/{documentation => }/resources/upgrade-platform-sdks/v4-faq.md (100%) rename src/pages/{documentation => }/resources/user-guides/app-extension.md (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/rule-complete.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/set-action.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/set-event.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-data-element-setup.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-event-setup.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/attach-data/target-attach-data-rule-setup.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/modify-data/rule-complete-modify-data.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/modify-data/set-action-analytics.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/modify-data/set-action-json.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/modify-data/set-event.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png (100%) rename src/pages/{documentation => }/resources/user-guides/assets/tags-data-elements/data-elements-create-rule.png (100%) rename src/pages/{documentation => }/resources/user-guides/attach-data.md (86%) rename src/pages/{documentation => }/resources/user-guides/building-mobile-extensions.md (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/overview/create-datastream.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/overview/development-icon.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/overview.md (97%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md (97%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md (100%) rename src/pages/{documentation => }/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md (100%) rename src/pages/{documentation => }/resources/user-guides/index.md (100%) rename src/pages/{documentation => }/resources/user-guides/modify-data.md (92%) rename src/pages/{documentation => }/resources/user-guides/tabs/attach-data/attaching-data/analytics.md (100%) rename src/pages/{documentation => }/resources/user-guides/tabs/attach-data/attaching-data/target.md (100%) rename src/pages/{documentation => }/resources/user-guides/tags-data-elements.md (96%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/api-reference.md (94%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/index/compareWorkflows.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/index/mobile-analytics-company.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/index/mobile-analytics-configuration.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/index/workflow.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/product-variable/map-products.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/track-beacon/beacon-condition.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/track-beacon/beacon-data-element.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/track-beacon/beacon-rule.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/assets/track-beacon/beacon-token-replacement.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/event-reference.md (98%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/faq.md (90%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/index.md (90%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/migrate-to-edge-network.md (92%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/product-variable.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/release-notes.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/tabs/api-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/tabs/index.md (96%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/tabs/product-variable.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/tabs/track-beacon/clear-beacon/android.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/tabs/track-beacon/track-beacon/android.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/tabs/track-beacon/track-beacon/ios.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-analytics/track-beacon.md (96%) rename src/pages/{documentation/solution-extensions => solution}/adobe-audience-manager/api-reference.md (97%) rename src/pages/{documentation/solution-extensions => solution}/adobe-audience-manager/assets/index/configure.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-audience-manager/event-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-audience-manager/index.md (97%) rename src/pages/{documentation/solution-extensions => solution}/adobe-audience-manager/release-notes.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-audience-manager/tabs/api-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-audience-manager/tabs/index.md (96%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-classic/api-reference.md (95%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-classic/assets/index/configure.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-classic/event-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-classic/index.md (98%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-classic/release-notes.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-classic/tabs/api-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-classic/tabs/index.md (96%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/api-reference.md (95%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/index/aep-cocoapods.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/index/cocoapods.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/index/configure.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/android-server-key.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/push-identifier.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/tracking-click.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/tracking-impression.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/assets/push-notifications/tracking-open.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/event-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/index.md (94%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/push-notifications.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/release-notes.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/tabs/api-reference.md (97%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/tabs/index.md (96%) rename src/pages/{documentation/solution-extensions => solution}/adobe-campaign-standard/tabs/push-notifications.md (99%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/api-reference.md (99%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/assets/index/configuration.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/index.md (93%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/migration-guide.md (91%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/release-notes.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/tabs/api-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/tabs/index.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-media-analytics/tabs/migration-guide.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/api-reference.md (99%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/assets/index/configuration.png (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/event-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/index.md (97%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/raw-api-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/release-notes.md (100%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/tabs/api-reference.md (98%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/tabs/index.md (92%) rename src/pages/{documentation/solution-extensions => solution}/adobe-target/tabs/raw-api-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/index.md (100%) rename src/pages/{documentation/solution-extensions => solution}/places/api-reference.md (98%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/add-environment-details-fieldgroup.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/add-new-field-group.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/config.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/datacollection-tag-correct-datastream.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/datastream-choose-platform-services.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/datastream-ensure-correct-dataset.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/final-schema-structure.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/manage-places-context-fields.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/assets/index/mask-everything-except-poiId.png (100%) rename src/pages/{documentation/solution-extensions => solution}/places/index.md (100%) rename src/pages/{documentation/solution-extensions => solution}/places/places-to-platform.md (100%) rename src/pages/{documentation/solution-extensions => solution}/places/release-notes.md (100%) rename src/pages/{documentation/solution-extensions => solution}/places/tabs/api-reference.md (100%) rename src/pages/{documentation/solution-extensions => solution}/places/tabs/index.md (100%) diff --git a/gatsby-config.js b/gatsby-config.js index bf57730696..efce9dd634 100644 --- a/gatsby-config.js +++ b/gatsby-config.js @@ -13,7 +13,7 @@ module.exports = { siteMetadata: { versions: [{ title: 'Latest version', - path: '/client-sdks/documentation/', + path: '/client-sdks/', selected: true }, { @@ -24,154 +24,154 @@ module.exports = { pages: [ { title: "Home", - path: "/documentation/home" + path: "/home" }, { title: 'Edge Network extensions', - path: '/documentation/edge-extensions', + path: '/edge', }, { title: "Solution-specific extensions", - path: "/documentation/solution-extensions" + path: "/solution" }, { title: "Resources", - path: "/documentation/resources" + path: "/resources" } ], subPages: [ { title: "Home", - path: "/documentation/home" + path: "/home" }, { title: "Current SDK versions", - path: "/documentation/home/current-sdk-versions" + path: "/home/current-sdk-versions" }, { title: "Release notes", - path: "/documentation/home/release-notes", + path: "/home/release-notes", pages: [{ title: "2023", - path: "/documentation/home/release-notes" + path: "/home/release-notes" }, { title: "2022", - path: "/documentation/home/release-notes/2022" + path: "/home/release-notes/2022" }, { title: "2021", - path: "/documentation/home/release-notes/2021" + path: "/home/release-notes/2021" } ] }, { title: "Getting started", - path: "/documentation/home/getting-started", + path: "/home/getting-started", pages: [{ title: "Overview", - path: "/documentation/home/getting-started" + path: "/home/getting-started" }, { title: "Set up schemas and datasets", - path: "/documentation/home/getting-started/set-up-schemas-and-datasets" + path: "/home/getting-started/set-up-schemas-and-datasets" }, { title: "Configure datastreams", - path: "/documentation/home/getting-started/configure-datastreams" + path: "/home/getting-started/configure-datastreams" }, { title: "Set up a mobile property", - path: "/documentation/home/getting-started/create-a-mobile-property" + path: "/home/getting-started/create-a-mobile-property" }, { title: "Get the Experience Platform SDK", - path: "/documentation/home/getting-started/get-the-sdk" + path: "/home/getting-started/get-the-sdk" }, { title: "Debugging and lifecycle metrics", - path: "/documentation/home/getting-started/enable-debug-logging" + path: "/home/getting-started/enable-debug-logging" }, { title: "Track events", - path: "/documentation/home/getting-started/track-events" + path: "/home/getting-started/track-events" }, { title: "Validation and next steps", - path: "/documentation/home/getting-started/validate" + path: "/home/getting-started/validate" } ] }, { title: "Edge Network extensions", - path: "/documentation/edge-extensions", + path: "/edge", pages: [ { title: "Adobe Experience Platform Edge Network", - path: "/documentation/edge-extensions/edge-network", + path: "/edge/edge-network", pages: [{ title: "Overview", - path: "/documentation/edge-extensions/edge-network" + path: "/edge/edge-network" }, { title: "API reference", - path: "/documentation/edge-extensions/edge-network/api-reference" + path: "/edge/edge-network/api-reference" }, { title: "XDM Experience Events", - path: "/documentation/edge-extensions/edge-network/xdm-experience-events" + path: "/edge/edge-network/xdm-experience-events" }, { title: "Validation", - path: "/documentation/edge-extensions/edge-network/validation" + path: "/edge/edge-network/validation" }, { title: "Release notes", - path: "/documentation/edge-extensions/edge-network/release-notes" + path: "/edge/edge-network/release-notes" } ] }, { title: "Adobe Journey Optimizer", - path: "/documentation/edge-extensions/adobe-journey-optimizer", + path: "/edge/adobe-journey-optimizer", pages: [{ title: "Overview", - path: "/documentation/edge-extensions/adobe-journey-optimizer" + path: "/edge/adobe-journey-optimizer" }, { title: "API reference", - path: "documentation/edge-extensions/adobe-journey-optimizer/api-reference" + path: "/edge/adobe-journey-optimizer/api-reference" }, { title: "Release notes", - path: "documentation/edge-extensions/adobe-journey-optimizer/release-notes" + path: "/edge/adobe-journey-optimizer/release-notes" }, { title: "Public classes and enums", - path: "documentation/edge-extensions/adobe-journey-optimizer/public-classes" + path: "/edge/adobe-journey-optimizer/public-classes" }, { title: "Tutorials", - path: "documentation/edge-extensions/adobe-journey-optimizer/tutorials", + path: "/edge/adobe-journey-optimizer/tutorials", pages: [{ title: "Implement a MessagingDelegate", - path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/messaging-delegate" + path: "/edge/adobe-journey-optimizer/tutorials/messaging-delegate" }, { title: "Call native code from the JavaScript of an in-app message", - path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/native-from-javascript" + path: "/edge/adobe-journey-optimizer/tutorials/native-from-javascript" }, { title: "Execute Javascript methods from native code", - path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/javascript-from-native" + path: "/edge/adobe-journey-optimizer/tutorials/javascript-from-native" }, { title: "Handle URL clicks from an in-app message", - path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/handle-clicks" + path: "/edge/adobe-journey-optimizer/tutorials/handle-clicks" }, { title: "Validate in-app messaging using Assurance", - path: "/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages" + path: "/edge/adobe-journey-optimizer/tutorials/validate-messages" } ] } @@ -179,95 +179,95 @@ module.exports = { }, { title: "Adobe Journey Optimizer Decisioning", - path: "/documentation/edge-extensions/adobe-journey-optimizer-decisioning", + path: "/edge/adobe-journey-optimizer-decisioning", pages: [{ title: "Overview", - path: "/documentation/edge-extensions/adobe-journey-optimizer-decisioning" + path: "/edge/adobe-journey-optimizer-decisioning" }, { title: "API reference", - path: "documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference" + path: "/edge/adobe-journey-optimizer-decisioning/api-reference" }, { title: "Release notes", - path: "documentation/edge-extensions/adobe-journey-optimizer-decisioning/release-notes" + path: "/edge/adobe-journey-optimizer-decisioning/release-notes" } ] }, { title: "Adobe Streaming Media for Edge Network", - path: "/documentation/edge-extensions/media-for-edge-network", + path: "/edge/media-for-edge-network", pages: [{ title: "Overview", - path: "/documentation/edge-extensions/media-for-edge-network" + path: "/edge/media-for-edge-network" }, { title: "API reference", - path: "documentation/edge-extensions/media-for-edge-network/api-reference" + path: "/edge/media-for-edge-network/api-reference" }, { title: 'Release notes', - path: '/documentation/edge-extensions/media-for-edge-network/release-notes' + path: '/edge/media-for-edge-network/release-notes' } ] }, { title: "Consent for Edge Network", - path: "/documentation/edge-extensions/consent-for-edge-network", + path: "/edge/consent-for-edge-network", pages: [{ title: "Overview", - path: "/documentation/edge-extensions/consent-for-edge-network" + path: "/edge/consent-for-edge-network" }, { title: "API reference", - path: "documentation/edge-extensions/consent-for-edge-network/api-reference" + path: "/edge/consent-for-edge-network/api-reference" }, { title: "Release notes", - path: "documentation/edge-extensions/consent-for-edge-network/release-notes" + path: "/edge/consent-for-edge-network/release-notes" } ] }, { title: "Identity for Edge Network", - path: "/documentation/edge-extensions/identity-for-edge-network", + path: "/edge/identity-for-edge-network", pages: [{ title: "Overview", - path: "/documentation/edge-extensions/identity-for-edge-network" + path: "/edge/identity-for-edge-network" }, { title: "API reference", - path: "documentation/edge-extensions/identity-for-edge-network/api-reference" + path: "/edge/identity-for-edge-network/api-reference" }, { title: "Frequently asked questions", - path: "documentation/edge-extensions/identity-for-edge-network/faq" + path: "/edge/identity-for-edge-network/faq" }, { title: "Release notes", - path: "documentation/edge-extensions/identity-for-edge-network/release-notes" + path: "/edge/identity-for-edge-network/release-notes" } ] }, { title: "Lifecycle for Edge Network", - path: "/documentation/edge-extensions/lifecycle-for-edge-network", + path: "/edge/lifecycle-for-edge-network", pages: [{ title: "Overview", - path: "/documentation/edge-extensions/lifecycle-for-edge-network" + path: "/edge/lifecycle-for-edge-network" }, { title: "API reference", - path: "documentation/edge-extensions/lifecycle-for-edge-network/api-reference" + path: "/edge/lifecycle-for-edge-network/api-reference" }, { title: "Event reference", - path: "documentation/edge-extensions/lifecycle-for-edge-network/event-reference" + path: "/edge/lifecycle-for-edge-network/event-reference" }, { title: "Metrics", - path: "documentation/edge-extensions/lifecycle-for-edge-network/metrics" + path: "/edge/lifecycle-for-edge-network/metrics" } ] } @@ -276,176 +276,176 @@ module.exports = { }, { title: "Solution specific extensions", - path: "/documentation/solution-extensions", + path: "/solution", pages: [{ title: 'Adobe Analytics', - path: '/documentation/solution-extensions/adobe-analytics/', + path: '/solution/adobe-analytics/', pages: [{ title: "Overview", - path: "/documentation/solution-extensions/adobe-analytics" + path: "/solution/adobe-analytics" }, { title: 'Migrate to Edge Network', - path: '/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network' + path: '/solution/adobe-analytics/migrate-to-edge-network' }, { title: "API reference", - path: "/documentation/solution-extensions/adobe-analytics/api-reference" + path: "/solution/adobe-analytics/api-reference" }, { title: 'Event reference', - path: '/documentation/solution-extensions/adobe-analytics/event-reference' + path: '/solution/adobe-analytics/event-reference' }, { title: "Product variable", - path: "/documentation/solution-extensions/adobe-analytics/product-variable" + path: "/solution/adobe-analytics/product-variable" }, { title: "Tracking beacons", - path: "/documentation/solution-extensions/adobe-analytics/track-beacon" + path: "/solution/adobe-analytics/track-beacon" }, { title: "Frequently asked questions", - path: "/documentation/solution-extensions/adobe-analytics/faq" + path: "/solution/adobe-analytics/faq" }, { title: 'Release notes', - path: '/documentation/solution-extensions/adobe-analytics/release-notes' + path: '/solution/adobe-analytics/release-notes' } ] }, { title: "Adobe Audience Manager", - path: "/documentation/solution-extensions/adobe-audience-manager/", + path: "/solution/adobe-audience-manager/", pages: [{ title: "Overview", - path: "/documentation/solution-extensions/adobe-audience-manager/" + path: "/solution/adobe-audience-manager/" }, { title: "API reference", - path: "documentation/solution-extensions/adobe-audience-manager/api-reference" + path: "/solution/adobe-audience-manager/api-reference" }, { title: "Event reference", - path: "documentation/solution-extensions/adobe-audience-manager/event-reference" + path: "/solution/adobe-audience-manager/event-reference" }, { title: "Release notes", - path: "/documentation/solution-extensions/adobe-audience-manager/release-notes" + path: "/solution/adobe-audience-manager/release-notes" } ] }, { title: "Adobe Campaign Classic", - path: "/documentation/solution-extensions/adobe-campaign-classic", + path: "/solution/adobe-campaign-classic", pages: [{ title: "Overview", - path: "/documentation/solution-extensions/adobe-campaign-classic" + path: "/solution/adobe-campaign-classic" }, { title: "API reference", - path: "documentation/solution-extensions/adobe-campaign-classic/api-reference" + path: "/solution/adobe-campaign-classic/api-reference" }, { title: "Event reference", - path: "documentation/solution-extensions/adobe-campaign-classic/event-reference" + path: "/solution/adobe-campaign-classic/event-reference" }, { title: "Release notes", - path: "documentation/solution-extensions/adobe-campaign-classic/release-notes" + path: "/solution/adobe-campaign-classic/release-notes" } ] }, { title: "Adobe Campaign Standard", - path: "/documentation/solution-extensions/adobe-campaign-standard", + path: "/solution/adobe-campaign-standard", pages: [{ title: "Overview", - path: "/documentation/solution-extensions/adobe-campaign-standard" + path: "/solution/adobe-campaign-standard" }, { title: "API reference", - path: "documentation/solution-extensions/adobe-campaign-standard/api-reference" + path: "/solution/adobe-campaign-standard/api-reference" }, { title: "Event reference", - path: "documentation/solution-extensions/adobe-campaign-standard/event-reference" + path: "/solution/adobe-campaign-standard/event-reference" }, { title: "Campaign push notifications", - path: "documentation/solution-extensions/adobe-campaign-standard/push-notifications" + path: "/solution/adobe-campaign-standard/push-notifications" }, { title: "Release notes", - path: "documentation/solution-extensions/adobe-campaign-standard/release-notes" + path: "/solution/adobe-campaign-standard/release-notes" } ] }, { title: "Adobe Media Analytics", - path: "/documentation/solution-extensions/adobe-media-analytics", + path: "/solution/adobe-media-analytics", pages: [{ title: "Overview", - path: "/documentation/solution-extensions/adobe-media-analytics" + path: "/solution/adobe-media-analytics" }, { title: "API reference", - path: "documentation/solution-extensions/adobe-media-analytics/api-reference" + path: "/solution/adobe-media-analytics/api-reference" }, { title: "Release notes", - path: "documentation/solution-extensions/adobe-media-analytics/release-notes" + path: "/solution/adobe-media-analytics/release-notes" }, { title: "Migration Guide", - path: "/documentation/solution-extensions/adobe-media-analytics/migration-guide" + path: "/solution/adobe-media-analytics/migration-guide" }, ] }, { title: "Adobe Target", - path: "/documentation/solution-extensions/adobe-target", + path: "/solution/adobe-target", pages: [{ title: "Overview", - path: "/documentation/solution-extensions/adobe-target" + path: "/solution/adobe-target" }, { title: "API reference", - path: "documentation/solution-extensions/adobe-target/api-reference" + path: "/solution/adobe-target/api-reference" }, { title: "Raw API reference", - path: "documentation/solution-extensions/adobe-target/raw-api-reference" + path: "/solution/adobe-target/raw-api-reference" }, { title: "Event reference", - path: "documentation/solution-extensions/adobe-target/event-reference" + path: "/solution/adobe-target/event-reference" }, { title: "Release notes", - path: "documentation/solution-extensions/adobe-target/release-notes" + path: "/solution/adobe-target/release-notes" } ] }, { title: "Adobe Experience Platform Location Service", - path: "/documentation/solution-extensions/places", + path: "/solution/places", pages: [{ title: "Overview", - path: "/documentation/solution-extensions/places" + path: "/solution/places" }, { title: "API reference", - path: "documentation/solution-extensions/places/api-reference.md" + path: "/solution/places/api-reference.md" }, { title: "Event forwarding to Adobe Experience Platform", - path: "documentation/solution-extensions/places/places-to-platform.md" + path: "/solution/places/places-to-platform.md" }, { title: "Release notes", - path: "documentation/solution-extensions/places/release-notes.md" + path: "/solution/places/release-notes.md" } ] } @@ -453,170 +453,170 @@ module.exports = { }, { title: "Base extensions", - path: "/documentation/home/base-extensions", + path: "/home/base", pages: [{ title: "Overview", - path: "/documentation/home/base-extensions" + path: "/home/base" }, { title: "Mobile Core", - path: "/documentation/home/base-extensions/mobile-core", + path: "/home/base/mobile-core", pages: [{ title: "Overview", - path: "/documentation/home/base-extensions/mobile-core" + path: "/home/base/mobile-core" }, { title: "Configuration", - path: "documentation/home/base-extensions/mobile-core/configuration", + path: "/home/base/mobile-core/configuration", pages: [{ title: "Overview", - path: "documentation/home/base-extensions/mobile-core/configuration" + path: "/home/base/mobile-core/configuration" }, { title: "API reference", - path: "documentation/home/base-extensions/mobile-core/configuration/api-reference" + path: "/home/base/mobile-core/configuration/api-reference" } ] }, { title: "Identity", - path: "documentation/home/base-extensions/mobile-core/identity", + path: "/home/base/mobile-core/identity", pages: [{ title: "Overview", - path: "documentation/home/base-extensions/mobile-core/identity" + path: "/home/base/mobile-core/identity" }, { title: "API reference", - path: "documentation/home/base-extensions/mobile-core/identity/api-reference" + path: "/home/base/mobile-core/identity/api-reference" }, { title: "Push identifier sync", - path: "documentation/home/base-extensions/mobile-core/identity/push-sync" + path: "/home/base/mobile-core/identity/push-sync" } ] }, { title: "Lifecycle", - path: "documentation/home/base-extensions/mobile-core/lifecycle", + path: "/home/base/mobile-core/lifecycle", pages: [{ title: "Overview", - path: "documentation/home/base-extensions/mobile-core/lifecycle" + path: "/home/base/mobile-core/lifecycle" }, { title: "Lifecycle extension in Android", - path: "documentation/home/base-extensions/mobile-core/lifecycle/android" + path: "/home/base/mobile-core/lifecycle/android" }, { title: "Lifecycle extension in iOS", - path: "documentation/home/base-extensions/mobile-core/lifecycle/ios" + path: "/home/base/mobile-core/lifecycle/ios" }, { title: "API reference", - path: "documentation/home/base-extensions/mobile-core/lifecycle/api-reference" + path: "/home/base/mobile-core/lifecycle/api-reference" }, { title: "Metrics", - path: "documentation/home/base-extensions/mobile-core/lifecycle/metrics" + path: "/home/base/mobile-core/lifecycle/metrics" }, { title: "Configuration keys", - path: "documentation/home/base-extensions/mobile-core/lifecycle/configuration-keys" + path: "/home/base/mobile-core/lifecycle/configuration-keys" } ] }, { title: "Platform services", - path: "documentation/home/base-extensions/mobile-core/platform-services", + path: "/home/base/mobile-core/platform-services", pages: [{ title: "Overview", - path: "documentation/home/base-extensions/mobile-core/platform-services" + path: "/home/base/mobile-core/platform-services" }, { title: "Network service", - path: "documentation/home/base-extensions/mobile-core/platform-services/network-service" + path: "/home/base/mobile-core/platform-services/network-service" } ] }, { title: "Rules Engine", - path: "documentation/home/base-extensions/mobile-core/rules-engine", + path: "/home/base/mobile-core/rules-engine", pages: [{ title: "Overview", - path: "documentation/home/base-extensions/mobile-core/rules-engine" + path: "/home/base/mobile-core/rules-engine" }, { title: "Technical details", - path: "documentation/home/base-extensions/mobile-core/rules-engine/technical-details" + path: "/home/base/mobile-core/rules-engine/technical-details" }, { title: "Consequence details", - path: "documentation/home/base-extensions/mobile-core/rules-engine/consequence-details" + path: "/home/base/mobile-core/rules-engine/consequence-details" } ] }, { title: "Signal", - path: "documentation/home/base-extensions/mobile-core/signal", + path: "/home/base/mobile-core/signal", pages: [{ title: "Overview", - path: "documentation/home/base-extensions/mobile-core/signal" + path: "/home/base/mobile-core/signal" }, { title: "API reference", - path: "documentation/home/base-extensions/mobile-core/signal/api-reference" + path: "/home/base/mobile-core/signal/api-reference" }, { title: "Signal and Rules Engine integration", - path: "documentation/home/base-extensions/mobile-core/signal/rules-engine-integration.md" + path: "/home/base/mobile-core/signal/rules-engine-integration.md" } ] }, { title: "API reference", - path: "documentation/home/base-extensions/mobile-core/api-reference" + path: "/home/base/mobile-core/api-reference" }, { title: "Release notes", - path: "documentation/home/base-extensions/mobile-core/release-notes" + path: "/home/base/mobile-core/release-notes" } ] }, { title: "Adobe Experience Platform Assurance", - path: "/documentation/home/base-extensions/assurance", + path: "/home/base/assurance", pages: [{ title: "Overview", - path: "/documentation/home/base-extensions/assurance" + path: "/home/base/assurance" }, { title: "API reference", - path: "/documentation/home/base-extensions/assurance/api-reference" + path: "/home/base/assurance/api-reference" }, { title: "Resolving common issues", - path: "/documentation/home/base-extensions/assurance/common-issues/" + path: "/home/base/assurance/common-issues/" }, { title: "Release notes", - path: "/documentation/home/base-extensions/assurance/release-notes" + path: "/home/base/assurance/release-notes" } ] }, { title: "Profile", - path: "/documentation/home/base-extensions/profile", + path: "/home/base/profile", pages: [{ title: "Overview", - path: "/documentation/home/base-extensions/profile" + path: "/home/base/profile" }, { title: "API reference", - path: "documentation/home/base-extensions/profile/api-reference" + path: "/home/base/profile/api-reference" }, { title: "Release notes", - path: "documentation/home/base-extensions/profile/release-notes" + path: "/home/base/profile/release-notes" } ] } @@ -624,114 +624,114 @@ module.exports = { }, { title: "Resources", - path: "/documentation/resources", + path: "/resources", pages: [{ title: "Overview", - path: "documentation/resources" + path: "/resources" }, { title: "Aligning major SDK versions", - path: "documentation/resources/major-version-alignment" + path: "/resources/major-version-alignment" }, { title: "Manage Gradle dependencies", - path: "documentation/resources/manage-gradle-dependencies" + path: "/resources/manage-gradle-dependencies" }, { title: "Manage SPM dependencies", - path: "documentation/resources/manage-spm-dependencies" + path: "/resources/manage-spm-dependencies" }, { title: "Privacy and GDPR", - path: "documentation/resources/privacy-and-gdpr" + path: "/resources/privacy-and-gdpr" }, { title: "Frequently asked questions", - path: "documentation/resources/faq" + path: "/resources/faq" }, { title: "ACP SDKs end-of-support", - path: "/documentation/resources/acp-end-of-support" + path: "/resources/acp-end-of-support" }, { title: "Adobe Mobile Library (v4) end-of-support", - path: "documentation/resources/upgrade-platform-sdks", + path: "/resources/upgrade-platform-sdks", pages: [{ title: "Overview", - path: "documentation/resources/upgrade-platform-sdks" + path: "/resources/upgrade-platform-sdks" }, { title: "v4 SDK comparison", - path: "documentation/resources/upgrade-platform-sdks/comparison" + path: "/resources/upgrade-platform-sdks/comparison" }, { title: "v4 API changelog", - path: "documentation/resources/upgrade-platform-sdks/api-changelog.md" + path: "/resources/upgrade-platform-sdks/api-changelog.md" }, { title: "Manual Lifecycle implementation", - path: "documentation/resources/upgrade-platform-sdks/lifecycle" + path: "/resources/upgrade-platform-sdks/lifecycle" }, { title: "Analytics migration", - path: "documentation/resources/upgrade-platform-sdks/analytics.md" + path: "/resources/upgrade-platform-sdks/analytics.md" }, { title: "Frequently asked questions", - path: "documentation/resources/upgrade-platform-sdks/v4-faq" + path: "/resources/upgrade-platform-sdks/v4-faq" } ] }, { title: "Adobe Experience Cloud & Apple's IDFA, Privacy announcement", - path: "documentation/resources/privacy-announcement" + path: "/resources/privacy-announcement" } ] }, { title: "User guides", - path: "documentation/resources/user-guides", + path: "/resources/user-guides", pages: [{ title: "Overview", - path: "documentation/resources/user-guides" + path: "/resources/user-guides" }, { title: "Getting started with Platform", - path: "documentation/resources/user-guides/getting-started-with-platform/overview", + path: "/resources/user-guides/getting-started-with-platform/overview", pages: [{ title: "Overview", - path: "documentation/resources/user-guides/getting-started-with-platform/overview" + path: "/resources/user-guides/getting-started-with-platform/overview" }, { title: "Sample XDM implementation", - path: "documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation" + path: "/resources/user-guides/getting-started-with-platform/sample-xdm-implementation" }, { title: "Rules and XDM events", - path: "documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events" + path: "/resources/user-guides/getting-started-with-platform/rules-and-xdm-events" } ] }, { title: "Attach data to SDK events", - path: "documentation/resources/user-guides/attach-data" + path: "/resources/user-guides/attach-data" }, { title: "Modify data in SDK events", - path: "documentation/resources/user-guides/modify-data" + path: "/resources/user-guides/modify-data" }, { title: "Tags data elements", - path: "documentation/resources/user-guides/tags-data-elements" + path: "/resources/user-guides/tags-data-elements" }, { title: "iOS App Extensions", - path: "documentation/resources/user-guides/app-extension" + path: "/resources/user-guides/app-extension" }, { title: "Building mobile extensions", - path: "documentation/resources/user-guides/building-mobile-extensions" + path: "/resources/user-guides/building-mobile-extensions" } ] } diff --git a/src/pages/documentation/home/current-sdk-versions.md b/src/pages/documentation/home/current-sdk-versions.md deleted file mode 100644 index 52214c3a23..0000000000 --- a/src/pages/documentation/home/current-sdk-versions.md +++ /dev/null @@ -1,162 +0,0 @@ ---- -title: Current SDK versions -description: An overview that shows the currently available mobile extensions, along with their versions, for each platform. -keywords: -- Guide -- Versions ---- - -# Current SDK versions - -## Android - - - -**Migrate to latest Mobile SDKs for Android**
If you are currently using the Mobile Core 1.x and the compatible libraries, please see the [Migrating to latest Mobile SDKs for Android](https://developer.adobe.com/client-sdks/previous-versions/documentation/migrate-to-android/) guide for next steps.
The latest Mobile SDKs for Android support Google Android API 19 (KitKat) or later. - - - -**Start using the BOM artifact for Android**
The Adobe SDK BOM artifact enables managing all compatible versions of Adobe Experience Platform Android extensions by specifying a single BOM version. This is now the recommended way to manage Android SDKs. For the installation instructions, see the steps to [add dependencies to your project](https://developer.adobe.com/client-sdks/documentation/getting-started/get-the-sdk/#installation-instructions). The BOM project is open-sourced. For more information, please refer to the [README](https://github.com/adobe/aepsdk-commons/blob/main/android/aepsdk-bom/README.md) file located in the public repository. - -### Android BOM - -
- -
- -descriptive text - -
- -The Android BOM (Bill of Materials) artifact has been released to Maven Central. The above Maven Badge displays the latest BOM version. To obtain information about which Android extension versions are mapped to the latest BOM, refer to the [release notes](https://developer.adobe.com/client-sdks/documentation/release-notes/). - -### Android extensions - -
- -| Extension | Maven | Github | -|---|---|---| -| [Mobile Core](./base-extensions/mobile-core/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/core.svg?logo=android&logoColor=white&label=core&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/core) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Rules Engine](./base-extensions/mobile-core/rules-engine/index.md) | Bundled in Mobile Core | — | -| [Signal](./base-extensions/mobile-core/signal/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/signal.svg?logo=android&logoColor=white&label=signal&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/signal) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Lifecycle](./base-extensions/mobile-core/lifecycle/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/lifecycle.svg?logo=android&logoColor=white&label=lifecycle&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/lifecycle) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Identity](./base-extensions/mobile-core/identity/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/identity.svg?logo=android&logoColor=white&label=identity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/identity) | [Link](https://github.com/adobe/aepsdk-core-android) | -| [Profile](./base-extensions/profile/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/userprofile.svg?logo=android&logoColor=white&label=userprofile&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/userprofile) | [Link](https://github.com/adobe/aepsdk-userprofile-android) | -| [Adobe Experience Platform Assurance](./base-extensions/assurance/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/assurance.svg?logo=android&logoColor=white&label=assurance&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/assurance) | [Link](https://github.com/adobe/aepsdk-assurance-android) | -| [Adobe Experience Platform Edge Network](../edge-extensions/edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edge.svg?logo=android&logoColor=white&label=edge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edge) | [Link](https://github.com/adobe/aepsdk-edge-android) | -| [Identity for Edge Network](../edge-extensions/identity-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeidentity.svg?logo=android&logoColor=white&label=edgeidentity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeidentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-android) | -| [Consent for Edge Network](../edge-extensions/consent-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeconsent.svg?logo=android&logoColor=white&label=edgeconsent&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeconsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-android) | -| [Media for Edge Network](../edge-extensions/media-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgemedia.svg?logo=android&logoColor=white&label=edgemedia&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgemedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-android) | -| [Edge Bridge](../solution-extensions/adobe-analytics/migrate-to-edge-network.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgebridge.svg?logo=android&logoColor=white&label=edgebridge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgebridge) | [Link](https://github.com/adobe/aepsdk-edgebridge-android) | -| [Adobe Journey Optimizer](../edge-extensions/adobe-journey-optimizer/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/messaging.svg?logo=android&logoColor=white&label=messaging&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/messaging) | [Link](https://github.com/adobe/aepsdk-messaging-android) | -| [Adobe Journey Optimizer - Decisioning](../edge-extensions/adobe-journey-optimizer-decisioning/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/optimize.svg?logo=android&logoColor=white&label=optimize&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/optimize) | [Link](https://github.com/adobe/aepsdk-optimize-android) | -| [Places Service](https://experienceleague.adobe.com/docs/places/using/home.html) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/places.svg?logo=android&logoColor=white&label=places&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/places) | [Link](https://github.com/adobe/aepsdk-places-android) | -| [Adobe Analytics](../solution-extensions/adobe-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/analytics.svg?logo=android&logoColor=white&label=analytics&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/analytics) | [Link](https://github.com/adobe/aepsdk-analytics-android) | -| [Adobe Analytics - Media Analytics for Audio & Video](../solution-extensions/adobe-media-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/media.svg?logo=android&logoColor=white&label=media&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/media) | [Link](https://github.com/adobe/aepsdk-media-android) | -| [Adobe Target](../solution-extensions/adobe-target/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/target.svg?logo=android&logoColor=white&label=target&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/target) | [Link](https://github.com/adobe/aepsdk-target-android) | -| [Adobe Campaign Standard](../solution-extensions/adobe-campaign-standard/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaign.svg?logo=android&logoColor=white&label=campaign&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaign) | [Link](https://github.com/adobe/aepsdk-campaign-android) | -| [Adobe Campaign Classic](../solution-extensions/adobe-campaign-classic/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaignclassic.svg?logo=android&logoColor=white&label=campaignclassic&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaignclassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-android) | -| [Adobe Audience Manager](../solution-extensions/adobe-audience-manager/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/audience.svg?logo=android&logoColor=white&label=audience&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/audience) | [Link](https://github.com/adobe/aepsdk-audience-android) | -| Adobe Analytics - Mobile Services | Deprecated | | -| Places Monitor | Deprecated | | - -## iOS - - - -**Migrate to latest Mobile SDKs for iOS**
If you are currently using the Objective-C (ACP-prefix) libraries, please see the [Migrating to latest Mobile SDKs for iOS](https://developer.adobe.com/client-sdks/previous-versions/documentation/migrate-to-swift/) guide for next steps.
The latest Mobile SDK for iOS supports iOS 11 or later; requires Swift 5.1 or newer and Xcode 14.1 or newer. In addition to **CocoaPods**, **Swift Package Manager (SPM)** installation option is supported with the latest iOS Swift SDKs! Find more details at the GitHub links below. - -| Extension | tvOS | App Extension | CocoaPods | GitHub | -|---|---|---|---|---| -| [Mobile Core](./base-extensions/mobile-core/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPCore&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCore) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Rules Engine](./base-extensions/mobile-core/rules-engine/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-rulesengine-ios.svg?label=AEPRulesEngine&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPRulesEngine) | [Link](https://github.com/adobe/aepsdk-rulesengine-ios) | -| [Signal](./base-extensions/mobile-core/signal/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPSignal&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPSignal) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Identity](./base-extensions/mobile-core/identity/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPIdentity) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Lifecycle](./base-extensions/mobile-core/lifecycle/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPLifecycle&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPLifecycle) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Profile](./base-extensions/profile/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-userprofile-ios.svg?label=AEPUserProfile&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPUserProfile) | [Link](https://github.com/adobe/aepsdk-userprofile-ios) | -| [Adobe Experience Platform Assurance](./base-extensions/assurance/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-assurance-ios.svg?label=AEPAssurance&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAssurance) | [Link](https://github.com/adobe/aepsdk-assurance-ios) | -| [Adobe Experience Platform Edge Network](../edge-extensions/edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edge-ios.svg?label=AEPEdge&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdge) | [Link](https://github.com/adobe/aepsdk-edge-ios) | -| [Identity for Edge Network](../edge-extensions/identity-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeidentity-ios.svg?label=AEPEdgeIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeIdentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-ios) | -| [Consent for Edge Network](../edge-extensions/consent-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeconsent-ios.svg?label=AEPEdgeConsent&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeConsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-ios) | -| [Media for Edge Network](../edge-extensions/media-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgemedia-ios.svg?label=AEPEdgeMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeMedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-ios) | -| [Edge Bridge](../adobe-analytics/migrate-to-edge-network.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgebridge-ios.svg?label=AEPEdgeBridge&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeBridge) | [Link](https://github.com/adobe/aepsdk-edgebridge-ios) | -| [Adobe Journey Optimizer](../edge-extensions/adobe-journey-optimizer/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-messaging-ios.svg?label=AEPMessaging&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMessaging) | [Link](https://github.com/adobe/aepsdk-messaging-ios) | -| [Adobe Journey Optimizer - Decisioning](../edge-extensions/adobe-journey-optimizer-decisioning/index.md) | | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-optimize-ios.svg?label=AEPOptimize&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPOptimize) | [Link](https://github.com/adobe/aepsdk-optimize-ios) | -| [Places Service](https://experienceleague.adobe.com/docs/places/using/home.html) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-places-ios.svg?label=AEPPlaces&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPPlaces) | [Link](https://github.com/adobe/aepsdk-places-ios) | -| [Adobe Analytics](../solution-extensions/adobe-analytics/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-analytics-ios.svg?label=AEPAnalytics&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAnalytics) | [Link](https://github.com/adobe/aepsdk-analytics-ios) | -| [Adobe Analytics - Media Analytics for Audio & Video](../solution-extensions/adobe-media-analytics/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-media-ios.svg?label=AEPMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMedia) | [Link](https://github.com/adobe/aepsdk-media-ios) | -| [Adobe Target](../solution-extensions/adobe-target/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-target-ios.svg?label=AEPTarget&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPTarget) | [Link](https://github.com/adobe/aepsdk-target-ios) | -| [Adobe Campaign Standard](../solution-extensions/adobe-campaign-standard/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaign-ios.svg?label=AEPCampaign&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaign) | [Link](https://github.com/adobe/aepsdk-campaign-ios) | -| [Adobe Campaign Classic](../solution-extensions/adobe-campaign-classic/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaignclassic-ios.svg?label=AEPCampaignClassic&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaignClassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-ios) | -| [Adobe Audience Manager](../solution-extensions/adobe-audience-manager/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-audience-ios.svg?label=AEPAudience&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAudience) | [Link](https://github.com/adobe/aepsdk-audience-ios) | -| Adobe Analytics - Mobile Services | | Deprecated | | | -| Places Monitor | | Deprecated | | | - -## React Native - -Adobe Experience Platform Mobile SDK plugin for React Native supports React Native **version 0.60.0 or later**. For the latest installation instructions, see the README file in the [`aepsdk-react-native`](https://github.com/adobe/aepsdk-react-native#installation) repository. - - - -Adobe Experience Platform Mobile SDK plugins for React Native are compatible with the [Android](#android) and [iOS](#ios) native libraries. - - - -If you are currently using the ACP-prefixed React Native libraries, please see [the guide to migrate to latest available version](https://github.com/adobe/aepsdk-react-native/blob/main/docs/migration.md) for React Native. - -| Extension | npmjs | -|---|---| -| [Mobile Core](./base-extensions/mobile-core/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcore.svg?color=green&label=%40adobe%2Freact-native-aepcore&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcore) | -| [Profile](./base-extensions/profile/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepuserprofile.svg?color=green&label=%40adobe%2Freact-native-aepuserprofile&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepuserprofile) | -| [Assurance](./base-extensions/assurance/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepassurance.svg?color=green&label=%40adobe%2Freact-native-aepassurance&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepassurance) | -| [Edge](../edge-extensions/edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedge.svg?color=green&label=%40adobe%2Freact-native-aepedge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedge) | -| [EdgeIdentity](../edge-extensions/identity-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeidentity.svg?color=green&label=%40adobe%2Freact-native-aepedgeidentity&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeidentity) | -| [EdgeConsent](../edge-extensions/consent-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeconsent.svg?color=green&label=%40adobe%2Freact-native-aepedgeconsent&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeconsent) | -| [Edge Bridge](../solution-extensions/adobe-analytics/migrate-to-edge-network.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgebridge.svg?color=green&label=%40adobe%2Freact-native-aepedgebridge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgebridge) | -| [Messaging](../edge-extensions/adobe-journey-optimizer-decisioning/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepmessaging.svg?color=green&label=%40adobe%2Freact-native-aepmessaging&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepmessaging) | -| [Optimize](../edge-extensions/adobe-journey-optimizer/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepoptimize.svg?color=green&label=%40adobe%2Freact-native-aepoptimize&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepoptimize) | -| [Places](../solution-extensions/places/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepplaces.svg?color=green&label=%40adobe%2Freact-native-aepplaces&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepplaces) | -| [Target](../solution-extensions/adobe-target/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aeptarget.svg?color=green&label=%40adobe%2Freact-native-aeptarget&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aeptarget) | -| [Campaign Classic](../solution-extensions/adobe-campaign-classic/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcampaignclassic.svg?color=green&label=%40adobe%2Freact-native-aepcampaignclassic&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcampaignclassic) | -| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../solution-extensions/adobe-analytics/migrate-to-edge-network.md). | -| Adobe Media Analytics| Not Supported | -| Adobe Audience| Not Supported | -| Adobe Campaign Standard| Not Supported | -| Place Monitor| Deprecated | - -## Flutter - -Adobe Experience Platform Mobile SDK plugin for Flutter supports Flutter **versions 2.0.0 or later**. For the latest installation instructions, see the `README` file in the [`aepsdk-flutter`](https://github.com/adobe/aepsdk_flutter#installation) repository. - - - -Adobe Experience Platform Mobile SDK plugins for Flutter are compatible with the [Android](#android) and [iOS](#ios) native libraries. - - - -If you are currently using the ACP-prefixed Flutter libraries, please see [the guide to migrate to latest available version](https://github.com/adobe/aepsdk_flutter/blob/main/docs/migration.md) for Flutter. - -| Extension | pub.dev | -|---|---| -| [Mobile Core](./base-extensions/mobile-core/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepcore.svg)](https://pub.dartlang.org/packages/flutter_aepcore) | -| [Assurance](./base-extensions/assurance/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepassurance.svg)](https://pub.dartlang.org/packages/flutter_aepassurance) | -| [Edge](../edge-extensions/edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedge.svg)](https://pub.dartlang.org/packages/flutter_aepedge) | -| [EdgeIdentity](../edge-extensions/identity-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeidentity.svg)](https://pub.dartlang.org/packages/flutter_aepedgeidentity) | -| [EdgeConsent](../edge-extensions/consent-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeconsent.svg)](https://pub.dartlang.org/packages/flutter_aepedgeconsent) | -| [Edge Bridge](../solution-extensions/adobe-analytics/migrate-to-edge-network.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgebridge.svg)](https://pub.dartlang.org/packages/flutter_aepedgebridge) | -| [UserProfile](./base-extensions/profile/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepuserprofile.svg)](https://pub.dartlang.org/packages/flutter_aepuserprofile) | -| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../solution-extensions/adobe-analytics/migrate-to-edge-network.md). | -| Place Service | Not Supported | -| Place Monitor| Deprecated | - -## Roku - -
- -
- - - -
- -The Adobe Experience Platform SDK for Roku supports Roku OS 11.0 or later. The project is open sourced in GitHub. For more information, refer to the [aepsdk-roku](https://github.com/adobe/aepsdk-roku) repository. diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md b/src/pages/edge/adobe-journey-optimizer-decisioning/api-reference.md similarity index 96% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md rename to src/pages/edge/adobe-journey-optimizer-decisioning/api-reference.md index 44d3e5fd4f..5d211563c1 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/api-reference.md +++ b/src/pages/edge/adobe-journey-optimizer-decisioning/api-reference.md @@ -70,7 +70,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. @@ -85,7 +85,7 @@ Android This API call can lead to unintended SDK behavior, e.g. resetting of Experience Cloud ID (ECID). So it should be sparingly used and caution should be followed! This `MobileCore` API is a request to each extension to reset its identities. Every extension responds to this request in its own unique manner. For example, Optimize extension uses this API call to clear out its client-side in-memory propositions cache. -For details on syntax, usage and availability, refer to [Mobile Core - Reset identities](../../home/base-extensions/mobile-core/api-reference.md#resetidentities). +For details on syntax, usage and availability, refer to [Mobile Core - Reset identities](../../home/base/mobile-core/api-reference.md#resetidentities). ## updatePropositions diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png b/src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png rename to src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/configuration-adobe-target.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png b/src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png rename to src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/configuration-offer-decisioning.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration.png b/src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/configuration.png rename to src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/configuration.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png b/src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png rename to src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-action.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png b/src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png rename to src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule-event.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png b/src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png rename to src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/lifecycle-rule.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png b/src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png rename to src/pages/edge/adobe-journey-optimizer-decisioning/assets/index/target-tpid.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md b/src/pages/edge/adobe-journey-optimizer-decisioning/index.md similarity index 97% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md rename to src/pages/edge/adobe-journey-optimizer-decisioning/index.md index 0d0402d1b3..46479e4bd4 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/index.md +++ b/src/pages/edge/adobe-journey-optimizer-decisioning/index.md @@ -48,7 +48,7 @@ On [Experience Platform Data Collection](https://experience.adobe.com/#/data-col -For the AEPOptimize APIs to work properly, you need to integrate Mobile Core and Edge extensions in your mobile app. For more details see, documentation on [Mobile Core](../../home/base-extensions/mobile-core/index.md) and [Adobe Experience Platform Edge Network](../../edge-extensions/edge-network/index.md). +For the AEPOptimize APIs to work properly, you need to integrate Mobile Core and Edge extensions in your mobile app. For more details see, documentation on [Mobile Core](../../home/base/mobile-core/index.md) and [Adobe Experience Platform Edge Network](../../edge/edge-network/index.md). ### Install the Experience Platform Mobile SDK @@ -143,7 +143,7 @@ To use Target Third Party ID in the Experience Edge mobile workflows, the corres ![Target Third Party ID configuration](./assets/index/target-tpid.png) -In your mobile application, integrate the Identity for Edge Network extension to add the Target Third Party ID in the Identity Map in the personalization query request to the Edge network when calling the `updatePropositions` API. For more details, see the [Identity for Edge Network - updateIdentities API](../../edge-extensions/identity-for-edge-network/api-reference.md#updateidentities). +In your mobile application, integrate the Identity for Edge Network extension to add the Target Third Party ID in the Identity Map in the personalization query request to the Edge network when calling the `updatePropositions` API. For more details, see the [Identity for Edge Network - updateIdentities API](../../edge/identity-for-edge-network/api-reference.md#updateidentities). @@ -283,7 +283,7 @@ iOS -The Edge `sendEvent` API can then be used to send this tracking XDM data along with any additional XDM and freeform data to the Experience Edge network. Additionally, an override dataset can also be specified for tracking data. For more details, see [Edge - sendEvent API](../../edge-extensions/edge-network/api-reference.md#sendevent). +The Edge `sendEvent` API can then be used to send this tracking XDM data along with any additional XDM and freeform data to the Experience Edge network. Additionally, an override dataset can also be specified for tracking data. For more details, see [Edge - sendEvent API](../../edge/edge-network/api-reference.md#sendevent). @@ -297,7 +297,7 @@ iOS ## Configuration keys -To update the SDK configuration programmatically, use the following information to change the Optimize extension configuration values. For more information, see the [programmatic updates to Configuration guide](../../home/base-extensions/mobile-core/configuration/api-reference.md#updateconfiguration). +To update the SDK configuration programmatically, use the following information to change the Optimize extension configuration values. For more information, see the [programmatic updates to Configuration guide](../../home/base/mobile-core/configuration/api-reference.md#updateconfiguration). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/release-notes.md b/src/pages/edge/adobe-journey-optimizer-decisioning/release-notes.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/release-notes.md rename to src/pages/edge/adobe-journey-optimizer-decisioning/release-notes.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md b/src/pages/edge/adobe-journey-optimizer-decisioning/tabs/api-reference.md similarity index 98% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md rename to src/pages/edge/adobe-journey-optimizer-decisioning/tabs/api-reference.md index c0a8922b99..d0516f5f00 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/api-reference.md +++ b/src/pages/edge/adobe-journey-optimizer-decisioning/tabs/api-reference.md @@ -105,7 +105,7 @@ public static void getPropositions(final List decisionScopes, fin ``` * _decisionScopes_ is a list of decision scopes for which propositions are requested. -* _callback_ `call` method is invoked with propositions map of type `Map`. If the callback is an instance of [AdobeCallbackWithError](../../home/base-extensions/mobile-core/api-reference.md#adobecallbackwitherror), and if the operation times out or an error occurs in retrieving propositions, the `fail` method is invoked with the appropriate [AdobeError](../../home/base-extensions/mobile-core/api-reference.md#adobeerror). +* _callback_ `call` method is invoked with propositions map of type `Map`. If the callback is an instance of [AdobeCallbackWithError](../../home/base/mobile-core/api-reference.md#adobecallbackwitherror), and if the operation times out or an error occurs in retrieving propositions, the `fail` method is invoked with the appropriate [AdobeError](../../home/base/mobile-core/api-reference.md#adobeerror). #### Example diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md b/src/pages/edge/adobe-journey-optimizer-decisioning/tabs/index.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer-decisioning/tabs/index.md rename to src/pages/edge/adobe-journey-optimizer-decisioning/tabs/index.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md b/src/pages/edge/adobe-journey-optimizer/api-reference.md similarity index 97% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md rename to src/pages/edge/adobe-journey-optimizer/api-reference.md index e6db8ecd90..ef97efa908 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/api-reference.md +++ b/src/pages/edge/adobe-journey-optimizer/api-reference.md @@ -43,7 +43,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/configuration.png b/src/pages/edge/adobe-journey-optimizer/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/configuration.png rename to src/pages/edge/adobe-journey-optimizer/assets/index/configuration.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/update-datastream.png b/src/pages/edge/adobe-journey-optimizer/assets/index/update-datastream.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/assets/index/update-datastream.png rename to src/pages/edge/adobe-journey-optimizer/assets/index/update-datastream.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md b/src/pages/edge/adobe-journey-optimizer/index.md similarity index 95% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md rename to src/pages/edge/adobe-journey-optimizer/index.md index 83e684332c..a9af4fa80a 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/index.md +++ b/src/pages/edge/adobe-journey-optimizer/index.md @@ -20,9 +20,9 @@ The following documentation details how to use the extension and required config 1. Read the tutorial on [getting started with push configuration](https://experienceleague.adobe.com/docs/journey-optimizer/using/get-started/configuration/push-config/push-gs.html) to learn how to configure push channels in Adobe Journey Optimizer. 2. [Update your app's Datastream](#update-datastream-with-profile-dataset) in [Adobe Experience Platform Data Collection](https://experience.adobe.com/#/data-collection/) 3. Integrate with following extensions: - * [Mobile Core](../../home/base-extensions/mobile-core/index.md) - * [Adobe Experience Platform Edge Network](../../edge-extensions/edge-network/index.md) - * [Identity for Edge Network](../../edge-extensions/identity-for-edge-network/index.md) + * [Mobile Core](../../home/base/mobile-core/index.md) + * [Adobe Experience Platform Edge Network](../../edge/edge-network/index.md) + * [Identity for Edge Network](../../edge/identity-for-edge-network/index.md) ### Update Datastream with a Profile dataset diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/public-classes.md b/src/pages/edge/adobe-journey-optimizer/public-classes.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/public-classes.md rename to src/pages/edge/adobe-journey-optimizer/public-classes.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/release-notes.md b/src/pages/edge/adobe-journey-optimizer/release-notes.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/release-notes.md rename to src/pages/edge/adobe-journey-optimizer/release-notes.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/api-reference.md b/src/pages/edge/adobe-journey-optimizer/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/api-reference.md rename to src/pages/edge/adobe-journey-optimizer/tabs/api-reference.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md b/src/pages/edge/adobe-journey-optimizer/tabs/index.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/index.md rename to src/pages/edge/adobe-journey-optimizer/tabs/index.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/public-classes.md b/src/pages/edge/adobe-journey-optimizer/tabs/public-classes.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tabs/public-classes.md rename to src/pages/edge/adobe-journey-optimizer/tabs/public-classes.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png b/src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png rename to src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/iam-simulation.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png b/src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png rename to src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/install-iam-plugin.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png b/src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png rename to src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-configuration.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png b/src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png rename to src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-request.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png b/src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png rename to src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response-payload.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png b/src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png rename to src/pages/edge/adobe-journey-optimizer/tutorials/assets/validate-messages/message-response.png diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/handle-clicks.md b/src/pages/edge/adobe-journey-optimizer/tutorials/handle-clicks.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/handle-clicks.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/handle-clicks.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/index.md b/src/pages/edge/adobe-journey-optimizer/tutorials/index.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/index.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/index.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/javascript-from-native.md b/src/pages/edge/adobe-journey-optimizer/tutorials/javascript-from-native.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/javascript-from-native.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/javascript-from-native.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/messaging-delegate.md b/src/pages/edge/adobe-journey-optimizer/tutorials/messaging-delegate.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/messaging-delegate.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/messaging-delegate.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/native-from-javascript.md b/src/pages/edge/adobe-journey-optimizer/tutorials/native-from-javascript.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/native-from-javascript.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/native-from-javascript.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md b/src/pages/edge/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/tabs/javascript-from-native.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md b/src/pages/edge/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/tabs/messaging-delegate.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md b/src/pages/edge/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md similarity index 100% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/tabs/native-from-javascript.md diff --git a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md b/src/pages/edge/adobe-journey-optimizer/tutorials/validate-messages.md similarity index 96% rename from src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md rename to src/pages/edge/adobe-journey-optimizer/tutorials/validate-messages.md index c4e870b6e0..c2765d8dd6 100644 --- a/src/pages/documentation/edge-extensions/adobe-journey-optimizer/tutorials/validate-messages.md +++ b/src/pages/edge/adobe-journey-optimizer/tutorials/validate-messages.md @@ -46,7 +46,7 @@ Ensure that your app has registered all necessary AEP SDK extensions by doing th -If your app uses the [Edge Consent extension](../../../edge-extensions/consent-for-edge-network/index.md), the device must be consenting (i.e. - a consent value of `Yes`) in order to download in-app messages. +If your app uses the [Edge Consent extension](../../../edge/consent-for-edge-network/index.md), the device must be consenting (i.e. - a consent value of `Yes`) in order to download in-app messages. A sample view in the Assurance UI can be seen below: @@ -127,7 +127,7 @@ Using the IAM plugin you can do the following for each message downloaded by the ### Q: What do I do when one of the required extensions is missing? -**A:** Ensure that each required extension is linked to your project and registered by `MobileCore`. For more information, please read the [Mobile Core API reference](../../../home/base-extensions/mobile-core/api-reference.md#registerextensions). +**A:** Ensure that each required extension is linked to your project and registered by `MobileCore`. For more information, please read the [Mobile Core API reference](../../../home/base/mobile-core/api-reference.md#registerextensions). ### Q: Why can't I find an event named `Retrieve message definitions`? diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md b/src/pages/edge/consent-for-edge-network/api-reference.md similarity index 96% rename from src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md rename to src/pages/edge/consent-for-edge-network/api-reference.md index 600e4fcbe3..4db3ab2c7b 100644 --- a/src/pages/documentation/edge-extensions/consent-for-edge-network/api-reference.md +++ b/src/pages/edge/consent-for-edge-network/api-reference.md @@ -43,7 +43,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/assets/index/configuration.png b/src/pages/edge/consent-for-edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/consent-for-edge-network/assets/index/configuration.png rename to src/pages/edge/consent-for-edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md b/src/pages/edge/consent-for-edge-network/index.md similarity index 94% rename from src/pages/documentation/edge-extensions/consent-for-edge-network/index.md rename to src/pages/edge/consent-for-edge-network/index.md index 6520977fda..61af51d05a 100644 --- a/src/pages/documentation/edge-extensions/consent-for-edge-network/index.md +++ b/src/pages/edge/consent-for-edge-network/index.md @@ -11,7 +11,7 @@ import Tabs from './tabs/index.md' # Consent for Edge Network -The Adobe Experience Platform Consent mobile extension enables consent preferences collection from your mobile app when using the [Adobe Experience Platform Mobile SDK](../../home/base-extensions/mobile-core/index.md) and the [Edge Network extension](../edge-network/index.md). +The Adobe Experience Platform Consent mobile extension enables consent preferences collection from your mobile app when using the [Adobe Experience Platform Mobile SDK](../../home/base/mobile-core/index.md) and the [Edge Network extension](../edge-network/index.md). ## Configure the Adobe Experience Platform Consent extension in Data Collection UI diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/release-notes.md b/src/pages/edge/consent-for-edge-network/release-notes.md similarity index 100% rename from src/pages/documentation/edge-extensions/consent-for-edge-network/release-notes.md rename to src/pages/edge/consent-for-edge-network/release-notes.md diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/api-reference.md b/src/pages/edge/consent-for-edge-network/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/api-reference.md rename to src/pages/edge/consent-for-edge-network/tabs/api-reference.md diff --git a/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/index.md b/src/pages/edge/consent-for-edge-network/tabs/index.md similarity index 97% rename from src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/index.md rename to src/pages/edge/consent-for-edge-network/tabs/index.md index 46552dc4cb..e96eacac01 100644 --- a/src/pages/documentation/edge-extensions/consent-for-edge-network/tabs/index.md +++ b/src/pages/edge/consent-for-edge-network/tabs/index.md @@ -2,7 +2,7 @@ noIndex: true --- -import Alerts from '/src/pages/documentation/resources/alerts.md' +import Alerts from '/src/pages/resources/alerts.md' diff --git a/src/pages/documentation/edge-extensions/edge-network/api-reference.md b/src/pages/edge/edge-network/api-reference.md similarity index 94% rename from src/pages/documentation/edge-extensions/edge-network/api-reference.md rename to src/pages/edge/edge-network/api-reference.md index 32e79d6a0e..86d8764278 100644 --- a/src/pages/documentation/edge-extensions/edge-network/api-reference.md +++ b/src/pages/edge/edge-network/api-reference.md @@ -42,7 +42,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. @@ -54,7 +54,7 @@ Android Resets current state of the AEP Edge extension and clears previously cached content related to current identity, if any. -See [MobileCore.resetIdentities](../../home/base-extensions/mobile-core/api-reference.md#resetidentities) for more details. +See [MobileCore.resetIdentities](../../home/base/mobile-core/api-reference.md#resetidentities) for more details. ## sendEvent diff --git a/src/pages/documentation/edge-extensions/edge-network/assets/index/configuration.png b/src/pages/edge/edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/edge-network/assets/index/configuration.png rename to src/pages/edge/edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/edge-extensions/edge-network/index.md b/src/pages/edge/edge-network/index.md similarity index 100% rename from src/pages/documentation/edge-extensions/edge-network/index.md rename to src/pages/edge/edge-network/index.md diff --git a/src/pages/documentation/edge-extensions/edge-network/release-notes.md b/src/pages/edge/edge-network/release-notes.md similarity index 100% rename from src/pages/documentation/edge-extensions/edge-network/release-notes.md rename to src/pages/edge/edge-network/release-notes.md diff --git a/src/pages/documentation/edge-extensions/edge-network/tabs/api-reference.md b/src/pages/edge/edge-network/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/edge-extensions/edge-network/tabs/api-reference.md rename to src/pages/edge/edge-network/tabs/api-reference.md diff --git a/src/pages/documentation/edge-extensions/edge-network/tabs/index.md b/src/pages/edge/edge-network/tabs/index.md similarity index 97% rename from src/pages/documentation/edge-extensions/edge-network/tabs/index.md rename to src/pages/edge/edge-network/tabs/index.md index 02a477e078..1144d8be29 100644 --- a/src/pages/documentation/edge-extensions/edge-network/tabs/index.md +++ b/src/pages/edge/edge-network/tabs/index.md @@ -2,7 +2,7 @@ noIndex: true --- -import Alerts from '/src/pages/documentation/resources/alerts.md' +import Alerts from '/src/pages/resources/alerts.md' diff --git a/src/pages/documentation/edge-extensions/edge-network/validation.md b/src/pages/edge/edge-network/validation.md similarity index 94% rename from src/pages/documentation/edge-extensions/edge-network/validation.md rename to src/pages/edge/edge-network/validation.md index 8d26ef04ae..a586d78bec 100644 --- a/src/pages/documentation/edge-extensions/edge-network/validation.md +++ b/src/pages/edge/edge-network/validation.md @@ -22,8 +22,8 @@ While the log messages can be quite helpful for an application developer, inspec ### Get started with Assurance 1. Start by following the instructions for [using Assurance](https://experienceleague.adobe.com/docs/experience-platform/assurance/user-access.html). -2. [Install and register the Assurance extension](../../home/base-extensions/assurance/index.md) in your mobile app. -3. Follow the same document for [connecting to an Assurance session](../../home/base-extensions/assurance/index.md#connect-to-an-assurance-session). +2. [Install and register the Assurance extension](../../home/base/assurance/index.md) in your mobile app. +3. Follow the same document for [connecting to an Assurance session](../../home/base/assurance/index.md#connect-to-an-assurance-session). ### Use the Event Transactions view diff --git a/src/pages/documentation/edge-extensions/edge-network/xdm-experience-events.md b/src/pages/edge/edge-network/xdm-experience-events.md similarity index 100% rename from src/pages/documentation/edge-extensions/edge-network/xdm-experience-events.md rename to src/pages/edge/edge-network/xdm-experience-events.md diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md b/src/pages/edge/identity-for-edge-network/api-reference.md similarity index 96% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md rename to src/pages/edge/identity-for-edge-network/api-reference.md index ea661780f8..b39c1b5c02 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/api-reference.md +++ b/src/pages/edge/identity-for-edge-network/api-reference.md @@ -81,7 +81,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. @@ -126,13 +126,13 @@ This API is **not** recommended for: * Resetting a user's consent and privacy settings; see [Privacy and GDPR](../../resources/privacy-and-gdpr.md). * Removing existing custom identifiers; use the [`removeIdentity`](#removeidentity) API instead. -* Removing a previously synced advertising identifier after the advertising tracking settings were changed by the user; use the [`setAdvertisingIdentifier`](../../home/base-extensions/mobile-core/identity/api-reference.md#setadvertisingidentifier) API instead. +* Removing a previously synced advertising identifier after the advertising tracking settings were changed by the user; use the [`setAdvertisingIdentifier`](../../home/base/mobile-core/identity/api-reference.md#setadvertisingidentifier) API instead. The Identity for Edge Network extension does not read the Mobile SDK's privacy status, and therefore setting the SDK's privacy status to opt-out will not automatically clear the identities from the Identity for Edge Network extension. -See [`MobileCore.resetIdentities`](../../home/base-extensions/mobile-core/api-reference.md#resetidentities) for more details. +See [`MobileCore.resetIdentities`](../../home/base/mobile-core/api-reference.md#resetidentities) for more details. ## setAdvertisingIdentifier diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png b/src/pages/edge/identity-for-edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/assets/index/configuration.png rename to src/pages/edge/identity-for-edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md b/src/pages/edge/identity-for-edge-network/faq.md similarity index 96% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md rename to src/pages/edge/identity-for-edge-network/faq.md index 7318aea1b3..c400a02b77 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/faq.md +++ b/src/pages/edge/identity-for-edge-network/faq.md @@ -101,7 +101,7 @@ Each identity extension has its own API to retrieve their respective ECIDs as we A: Use both `getSdkIdentities` and `getIdentities` -To get the identifiers used by the Adobe Solutions extensions, call [getSdkIdentities](../../home/base-extensions/mobile-core/api-reference.md#getsdkidentities). +To get the identifiers used by the Adobe Solutions extensions, call [getSdkIdentities](../../home/base/mobile-core/api-reference.md#getsdkidentities). To get the identifiers used by the Edge extensions, call [getIdentities](./api-reference.md#getidentities). @@ -111,7 +111,7 @@ A: Set privacy status to `optedOut` and call `resetIdentities` To clear the identifiers used by the Adobe Solutions extensions, call [setPrivacyStatus](../../resources/privacy-and-gdpr.md#set-and-get-privacy-status) and set the privacy status to `optedOut`. -To clear the identifiers used by the Edge extensions, call [resetIdentities](../../home/base-extensions/mobile-core/api-reference.md#resetidentities) +To clear the identifiers used by the Edge extensions, call [resetIdentities](../../home/base/mobile-core/api-reference.md#resetidentities) ## Q: What steps are needed to generate a new Experience Cloud ID (ECID) for a user when using both Edge extensions and Adobe Solutions extensions? @@ -140,7 +140,7 @@ iOS ## Q: Can I safely remove the Identity for Experience Cloud ID Service extension in an app if I am using the Edge Network extension? -If no other extension relies on the Identity for Experience Cloud ID Service extension, you can safely remove it. Please refer to the [Identity consideration document](../../solution-extensions/adobe-analytics/migrate-to-edge-network.md#identity-consideration-for-the-migration) for more information. +If no other extension relies on the Identity for Experience Cloud ID Service extension, you can safely remove it. Please refer to the [Identity consideration document](../../solution/adobe-analytics/migrate-to-edge-network.md#identity-consideration-for-the-migration) for more information. ## Q: I am passing the ECID from to the WebView using `getUrlVariables` API, but the web interactions get a new ECID assigned, how do I fix this? diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/index.md b/src/pages/edge/identity-for-edge-network/index.md similarity index 100% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/index.md rename to src/pages/edge/identity-for-edge-network/index.md diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md b/src/pages/edge/identity-for-edge-network/release-notes.md similarity index 100% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/release-notes.md rename to src/pages/edge/identity-for-edge-network/release-notes.md diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md b/src/pages/edge/identity-for-edge-network/tabs/api-reference.md similarity index 96% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md rename to src/pages/edge/identity-for-edge-network/tabs/api-reference.md index 395ffac66d..c6ecd9e2c0 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/api-reference.md +++ b/src/pages/edge/identity-for-edge-network/tabs/api-reference.md @@ -60,7 +60,7 @@ NSString *extensionVersion = [AEPMobileEdgeIdentity extensionVersion]; -The ECID value is returned via the [AdobeCallback](../../home/base-extensions/mobile-core/api-reference.md#public-classes). When [AdobeCallbackWithError](../../home/base-extensions/mobile-core/api-reference.md#public-classes) is provided to this API, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../../home/base-extensions/mobile-core/api-reference.md#public-classes). +The ECID value is returned via the [AdobeCallback](../../home/base/mobile-core/api-reference.md#public-classes). When [AdobeCallbackWithError](../../home/base/mobile-core/api-reference.md#public-classes) is provided to this API, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../../home/base/mobile-core/api-reference.md#public-classes). @@ -139,7 +139,7 @@ Identity.getExperienceCloudId { (ecid, error) in -When [AdobeCallbackWithError](../../home/base-extensions/mobile-core/api-reference.md#public-classes) is provided, and you are fetching the identities from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../../home/base-extensions/mobile-core/api-reference.md#public-classes). +When [AdobeCallbackWithError](../../home/base/mobile-core/api-reference.md#public-classes) is provided, and you are fetching the identities from the Mobile SDK, the timeout value is 500ms. If the operation times out or an unexpected error occurs, the `fail` method is called with the appropriate [AdobeError](../../home/base/mobile-core/api-reference.md#public-classes). @@ -270,7 +270,7 @@ Identity.getUrlVariables { urlVariablesString -> static func getUrlVariables(completion: @escaping (String?, Error?) -> Void) ``` -* `completion` is invoked with `urlVariables` containing the visitor identifiers as a query string, or with `error` if an unexpected error occurs or the request times out. The returned `Error` contains the [AEPError](../../home/base-extensions/mobile-core/api-reference.md#public-classes) code of the specific error. The default timeout is 1000ms. +* `completion` is invoked with `urlVariables` containing the visitor identifiers as a query string, or with `error` if an unexpected error occurs or the request times out. The returned `Error` contains the [AEPError](../../home/base/mobile-core/api-reference.md#public-classes) code of the specific error. The default timeout is 1000ms. **Example** diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md b/src/pages/edge/identity-for-edge-network/tabs/faq.md similarity index 98% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md rename to src/pages/edge/identity-for-edge-network/tabs/faq.md index 0f8271d17c..a386df50b6 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/faq.md +++ b/src/pages/edge/identity-for-edge-network/tabs/faq.md @@ -2,7 +2,7 @@ noIndex: true --- -import Alerts from '/src/pages/documentation/resources/alerts.md' +import Alerts from '/src/pages/resources/alerts.md' diff --git a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md b/src/pages/edge/identity-for-edge-network/tabs/index.md similarity index 98% rename from src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md rename to src/pages/edge/identity-for-edge-network/tabs/index.md index ba6a5e1bbf..dd29c020b7 100644 --- a/src/pages/documentation/edge-extensions/identity-for-edge-network/tabs/index.md +++ b/src/pages/edge/identity-for-edge-network/tabs/index.md @@ -2,7 +2,7 @@ noIndex: true --- -import Alerts from '/src/pages/documentation/resources/alerts.md' +import Alerts from '/src/pages/resources/alerts.md' diff --git a/src/pages/documentation/edge-extensions/index.md b/src/pages/edge/index.md similarity index 100% rename from src/pages/documentation/edge-extensions/index.md rename to src/pages/edge/index.md diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md b/src/pages/edge/lifecycle-for-edge-network/api-reference.md similarity index 81% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md rename to src/pages/edge/lifecycle-for-edge-network/api-reference.md index bdbfb06ee9..ae5f162cdf 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/api-reference.md +++ b/src/pages/edge/lifecycle-for-edge-network/api-reference.md @@ -9,4 +9,4 @@ keywords: # API Reference -For API details, please reference [Lifecycle API Reference](../../home/base-extensions/mobile-core/lifecycle/api-reference.md). +For API details, please reference [Lifecycle API Reference](../../home/base/mobile-core/lifecycle/api-reference.md). diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png b/src/pages/edge/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png similarity index 100% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png rename to src/pages/edge/lifecycle-for-edge-network/assets/index/add-mobile-lifecycle-details.png diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/configuration.png b/src/pages/edge/lifecycle-for-edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/configuration.png rename to src/pages/edge/lifecycle-for-edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/define-action.png b/src/pages/edge/lifecycle-for-edge-network/assets/index/define-action.png similarity index 100% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/define-action.png rename to src/pages/edge/lifecycle-for-edge-network/assets/index/define-action.png diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/save-rule.png b/src/pages/edge/lifecycle-for-edge-network/assets/index/save-rule.png similarity index 100% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/save-rule.png rename to src/pages/edge/lifecycle-for-edge-network/assets/index/save-rule.png diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/select-event.png b/src/pages/edge/lifecycle-for-edge-network/assets/index/select-event.png similarity index 100% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/assets/index/select-event.png rename to src/pages/edge/lifecycle-for-edge-network/assets/index/select-event.png diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md b/src/pages/edge/lifecycle-for-edge-network/event-reference.md similarity index 54% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md rename to src/pages/edge/lifecycle-for-edge-network/event-reference.md index 35d1e23fb8..ed218e22ba 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/event-reference.md +++ b/src/pages/edge/lifecycle-for-edge-network/event-reference.md @@ -11,7 +11,7 @@ keywords: Events dispatched by the Lifecycle extension to support Adobe Experience Platform Edge Network workflows include: -* [Lifecycle Application Foreground](../../home/base-extensions/mobile-core/lifecycle/event-reference.md#lifecycle-application-foreground) -* [Lifecycle Application Background](../../home/base-extensions/mobile-core/lifecycle/event-reference.md#lifecycle-application-background) +* [Lifecycle Application Foreground](../../home/base/mobile-core/lifecycle/event-reference.md#lifecycle-application-foreground) +* [Lifecycle Application Background](../../home/base/mobile-core/lifecycle/event-reference.md#lifecycle-application-background) -For full event details, please read the [Lifecycle event reference](../../home/base-extensions/mobile-core/lifecycle/event-reference.md). +For full event details, please read the [Lifecycle event reference](../../home/base/mobile-core/lifecycle/event-reference.md). diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md b/src/pages/edge/lifecycle-for-edge-network/index.md similarity index 93% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md rename to src/pages/edge/lifecycle-for-edge-network/index.md index 3f1e5069ab..2a466dfd81 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/index.md +++ b/src/pages/edge/lifecycle-for-edge-network/index.md @@ -91,6 +91,6 @@ After you complete your configuration, verify that your rule looks like the foll ## Add the Lifecycle extension to your app -For implementation details, please reference the Lifecycle documentation to learn how to [add Lifecycle to your app](../../home/base-extensions/mobile-core/lifecycle/index.md#add-lifecycle-to-your-app). as well as [register Lifecycle with Mobile Core and add appropriate the Start/Pause calls](../../home/base-extensions/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-start-pause-calls). +For implementation details, please reference the Lifecycle documentation to learn how to [add Lifecycle to your app](../../home/base/mobile-core/lifecycle/index.md#add-lifecycle-to-your-app). as well as [register Lifecycle with Mobile Core and add appropriate the Start/Pause calls](../../home/base/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-start-pause-calls). In addition, use the following steps to [add the Edge Network extension to your app](../edge-network/index.md#add-the-edge-network-extension-to-your-app). diff --git a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md b/src/pages/edge/lifecycle-for-edge-network/metrics.md similarity index 54% rename from src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md rename to src/pages/edge/lifecycle-for-edge-network/metrics.md index cc2054309a..acdeb23a1c 100644 --- a/src/pages/documentation/edge-extensions/lifecycle-for-edge-network/metrics.md +++ b/src/pages/edge/lifecycle-for-edge-network/metrics.md @@ -11,7 +11,7 @@ keywords: The metrics auto-collected by the Lifecycle extension to support Adobe Experience Platform Edge Network workflows include: -* [Lifecycle Application Foreground metrics](../../home/base-extensions/mobile-core/lifecycle/metrics.md#lifecycle-application-foreground-metrics) -* [Lifecycle Application Background metrics](../../home/base-extensions/mobile-core/lifecycle/metrics.md#lifecycle-application-background-metrics) +* [Lifecycle Application Foreground metrics](../../home/base/mobile-core/lifecycle/metrics.md#lifecycle-application-foreground-metrics) +* [Lifecycle Application Background metrics](../../home/base/mobile-core/lifecycle/metrics.md#lifecycle-application-background-metrics) -For full metric details, please read the [Lifecycle metrics reference](../../home/base-extensions/mobile-core/lifecycle/metrics.md). +For full metric details, please read the [Lifecycle metrics reference](../../home/base/mobile-core/lifecycle/metrics.md). diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md b/src/pages/edge/media-for-edge-network/api-reference.md similarity index 99% rename from src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md rename to src/pages/edge/media-for-edge-network/api-reference.md index 7ca96dbbd3..767331ce33 100644 --- a/src/pages/documentation/edge-extensions/media-for-edge-network/api-reference.md +++ b/src/pages/edge/media-for-edge-network/api-reference.md @@ -31,7 +31,7 @@ iOS Immediately aborts all the active tracking sessions and clears all the MediaTracker instances. -See [MobileCore.resetIdentities](../../home/base-extensions/mobile-core/api-reference.md#resetidentities) for more details. +See [MobileCore.resetIdentities](../../home/base/mobile-core/api-reference.md#resetidentities) for more details. ### createTracker diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/assets/index/configuration.png b/src/pages/edge/media-for-edge-network/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/edge-extensions/media-for-edge-network/assets/index/configuration.png rename to src/pages/edge/media-for-edge-network/assets/index/configuration.png diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/index.md b/src/pages/edge/media-for-edge-network/index.md similarity index 91% rename from src/pages/documentation/edge-extensions/media-for-edge-network/index.md rename to src/pages/edge/media-for-edge-network/index.md index 0b8a188962..96673e9063 100644 --- a/src/pages/documentation/edge-extensions/media-for-edge-network/index.md +++ b/src/pages/edge/media-for-edge-network/index.md @@ -26,7 +26,7 @@ Follow the full guide for setting up [Adobe Streaming Media for Edge Network wit ### Configure and Install Dependencies -Media for Edge Network requires Edge and Edge Identity extensions. Make sure to [configure the Edge extension in Data Collection UI](https://developer.adobe.com/client-sdks/documentation/edge-network/#configure-the-edge-network-extension-in-data-collection-ui) and [configure the Edge Identity extension in Data Collection UI](https://developer.adobe.com/client-sdks/documentation/identity-for-edge-network/#configure-the-identity-extension-in-the-data-collection-ui) before proceeding. +Media for Edge Network requires Edge and Edge Identity extensions. Make sure to [configure the Edge extension in Data Collection UI](https://developer.adobe.com/client-sdks/edge-network/#configure-the-edge-network-extension-in-data-collection-ui) and [configure the Edge Identity extension in Data Collection UI](https://developer.adobe.com/client-sdks/identity-for-edge-network/#configure-the-identity-extension-in-the-data-collection-ui) before proceeding. ## Configure Media for Edge Network extension in the Data Collection Tags @@ -86,7 +86,7 @@ iOS ## Configuration keys -To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). +To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../home/base/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/release-notes.md b/src/pages/edge/media-for-edge-network/release-notes.md similarity index 100% rename from src/pages/documentation/edge-extensions/media-for-edge-network/release-notes.md rename to src/pages/edge/media-for-edge-network/release-notes.md diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/api-reference.md b/src/pages/edge/media-for-edge-network/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/edge-extensions/media-for-edge-network/tabs/api-reference.md rename to src/pages/edge/media-for-edge-network/tabs/api-reference.md diff --git a/src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md b/src/pages/edge/media-for-edge-network/tabs/index.md similarity index 100% rename from src/pages/documentation/edge-extensions/media-for-edge-network/tabs/index.md rename to src/pages/edge/media-for-edge-network/tabs/index.md diff --git a/src/pages/documentation/home/base-extensions/assurance/api-reference.md b/src/pages/home/base/assurance/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/api-reference.md rename to src/pages/home/base/assurance/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-connection-error.png b/src/pages/home/base/assurance/assets/common-issues/assurance-connection-error.png similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-connection-error.png rename to src/pages/home/base/assurance/assets/common-issues/assurance-connection-error.png diff --git a/src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-invalid-configuration-error.png b/src/pages/home/base/assurance/assets/common-issues/assurance-invalid-configuration-error.png similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-invalid-configuration-error.png rename to src/pages/home/base/assurance/assets/common-issues/assurance-invalid-configuration-error.png diff --git a/src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-pin.png b/src/pages/home/base/assurance/assets/common-issues/assurance-pin.png similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-pin.png rename to src/pages/home/base/assurance/assets/common-issues/assurance-pin.png diff --git a/src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-pincode.png b/src/pages/home/base/assurance/assets/common-issues/assurance-pincode.png similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-pincode.png rename to src/pages/home/base/assurance/assets/common-issues/assurance-pincode.png diff --git a/src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-unauthorized-access-error.png b/src/pages/home/base/assurance/assets/common-issues/assurance-unauthorized-access-error.png similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/assets/common-issues/assurance-unauthorized-access-error.png rename to src/pages/home/base/assurance/assets/common-issues/assurance-unauthorized-access-error.png diff --git a/src/pages/documentation/home/base-extensions/assurance/assets/index/assurance-extension.png b/src/pages/home/base/assurance/assets/index/assurance-extension.png similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/assets/index/assurance-extension.png rename to src/pages/home/base/assurance/assets/index/assurance-extension.png diff --git a/src/pages/documentation/home/base-extensions/assurance/common-issues.md b/src/pages/home/base/assurance/common-issues.md similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/common-issues.md rename to src/pages/home/base/assurance/common-issues.md diff --git a/src/pages/documentation/home/base-extensions/assurance/index.md b/src/pages/home/base/assurance/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/index.md rename to src/pages/home/base/assurance/index.md diff --git a/src/pages/documentation/home/base-extensions/assurance/release-notes.md b/src/pages/home/base/assurance/release-notes.md similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/release-notes.md rename to src/pages/home/base/assurance/release-notes.md diff --git a/src/pages/documentation/home/base-extensions/assurance/tabs/api-reference.md b/src/pages/home/base/assurance/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/tabs/api-reference.md rename to src/pages/home/base/assurance/tabs/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/assurance/tabs/common-issues.md b/src/pages/home/base/assurance/tabs/common-issues.md similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/tabs/common-issues.md rename to src/pages/home/base/assurance/tabs/common-issues.md diff --git a/src/pages/documentation/home/base-extensions/assurance/tabs/index.md b/src/pages/home/base/assurance/tabs/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/assurance/tabs/index.md rename to src/pages/home/base/assurance/tabs/index.md diff --git a/src/pages/documentation/home/base-extensions/index.md b/src/pages/home/base/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/index.md rename to src/pages/home/base/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/api-reference.md b/src/pages/home/base/mobile-core/api-reference.md similarity index 98% rename from src/pages/documentation/home/base-extensions/mobile-core/api-reference.md rename to src/pages/home/base/mobile-core/api-reference.md index 67251a52c0..2479bb27bd 100644 --- a/src/pages/documentation/home/base-extensions/mobile-core/api-reference.md +++ b/src/pages/home/base/mobile-core/api-reference.md @@ -16,7 +16,7 @@ Programmatic updates made to the configuration can be cleared via the `clearUpda ## collectMessageInfo -User interactions with local or push notifications can be tracked by invoking the `collectMessageInfo` API. Please refer to [this page](../../solution-extensions/adobe-campaign-standard/index.md#tracking-local-and-push-notification-message-interactions) for more information about tracking local and push notification message interactions. +User interactions with local or push notifications can be tracked by invoking the `collectMessageInfo` API. Please refer to [this page](../../solution/adobe-campaign-standard/index.md#tracking-local-and-push-notification-message-interactions) for more information about tracking local and push notification message interactions. ## collectLaunchInfo @@ -147,7 +147,7 @@ To retrieve data as a JSON string from the SDKs and send this data to your serve -You must call the API below and retrieve identities stored in the SDK, **before** the user opts out.

This API does **not** include the identities stored in the Edge Identity extension. To retrieve the identities from the Edge Identity extension, use [getIdentities](../../edge-extensions/identity-for-edge-network/api-reference.md#getidentities). +You must call the API below and retrieve identities stored in the SDK, **before** the user opts out.

This API does **not** include the identities stored in the Edge Identity extension. To retrieve the identities from the Edge Identity extension, use [getIdentities](../../edge/identity-for-edge-network/api-reference.md#getidentities). diff --git a/src/pages/documentation/home/base-extensions/mobile-core/configuration/api-reference.md b/src/pages/home/base/mobile-core/configuration/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/configuration/api-reference.md rename to src/pages/home/base/mobile-core/configuration/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/configuration/index.md b/src/pages/home/base/mobile-core/configuration/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/configuration/index.md rename to src/pages/home/base/mobile-core/configuration/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/configuration/tabs/api-reference.md b/src/pages/home/base/mobile-core/configuration/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/configuration/tabs/api-reference.md rename to src/pages/home/base/mobile-core/configuration/tabs/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/configuration/tabs/index.md b/src/pages/home/base/mobile-core/configuration/tabs/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/configuration/tabs/index.md rename to src/pages/home/base/mobile-core/configuration/tabs/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/api-reference.md b/src/pages/home/base/mobile-core/identity/api-reference.md similarity index 97% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/api-reference.md rename to src/pages/home/base/mobile-core/identity/api-reference.md index 012db98755..4d0b276db3 100644 --- a/src/pages/documentation/home/base-extensions/mobile-core/identity/api-reference.md +++ b/src/pages/home/base/mobile-core/identity/api-reference.md @@ -21,9 +21,9 @@ If the provided URL is null or empty, it is returned as is. Otherwise, the follo * The `adobe_mc` attribute is a URL encoded list that contains: * `MCMID` - Experience Cloud ID (ECID) * `MCORGID` - Experience Cloud Org ID - * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../../solution-extensions/adobe-analytics/api-reference.md#gettrackingidentifier) + * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../../solution/adobe-analytics/api-reference.md#gettrackingidentifier) * `TS` - A timestamp taken when this request was made -* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../../solution-extensions/adobe-analytics/api-reference.md#setvisitoridentifier). +* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../../solution/adobe-analytics/api-reference.md#setvisitoridentifier). This API is designed to handle the following URL formats: @@ -154,9 +154,9 @@ If an error occurs while retrieving the URL string, the callback handler will be * The `adobe_mc` attribute is an URL encoded list that contains: * `MCMID` - Experience Cloud ID (ECID) * `MCORGID` - Experience Cloud Org ID - * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../../solution-extensions/adobe-analytics/index.md) + * `MCAID` - Analytics Tracking ID (AID), if available from the [Analytics extension](../../../solution/adobe-analytics/index.md) * `TS` - A timestamp taken when this request was made -* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../../solution-extensions/adobe-analytics/index.md). +* The optional `adobe_aa_vid` attribute is the URL-encoded Analytics Custom Visitor ID (VID), if previously set in the [Analytics extension](../../../solution/adobe-analytics/index.md). diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/assets/push-sync/push-analytics-optin.png b/src/pages/home/base/mobile-core/identity/assets/push-sync/push-analytics-optin.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/assets/push-sync/push-analytics-optin.png rename to src/pages/home/base/mobile-core/identity/assets/push-sync/push-analytics-optin.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/assets/push-sync/push-identities.png b/src/pages/home/base/mobile-core/identity/assets/push-sync/push-identities.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/assets/push-sync/push-identities.png rename to src/pages/home/base/mobile-core/identity/assets/push-sync/push-identities.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png b/src/pages/home/base/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png rename to src/pages/home/base/mobile-core/identity/assets/push-sync/set-push-token-to-identity.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/index.md b/src/pages/home/base/mobile-core/identity/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/index.md rename to src/pages/home/base/mobile-core/identity/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/push-sync.md b/src/pages/home/base/mobile-core/identity/push-sync.md similarity index 94% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/push-sync.md rename to src/pages/home/base/mobile-core/identity/push-sync.md index 4a57906364..8892afb354 100644 --- a/src/pages/documentation/home/base-extensions/mobile-core/identity/push-sync.md +++ b/src/pages/home/base/mobile-core/identity/push-sync.md @@ -70,7 +70,7 @@ Launch your app with the device connected to an [Adobe Experience Platform Assur In the list of events, verify that you have an event with type `UPDATED_IDENTITY_RESPONSE`. In the details panel on the right, confirm that the following values are correct: * The value for `pushidentifier` should match the value that was sent in step 2 above. -* The value for mid should match the value for mid that is sent to Analytics. If you are using a [custom visitor identifier](../../../solution-extensions/adobe-analytics/api-reference.md#setidentifier), this payload should also contain a vid variable with a value that matches the value that was used to identify this user. +* The value for mid should match the value for mid that is sent to Analytics. If you are using a [custom visitor identifier](../../../solution/adobe-analytics/api-reference.md#setidentifier), this payload should also contain a vid variable with a value that matches the value that was used to identify this user. ![Verify push identifier synced](./assets/push-sync/push-identities.png) diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/tabs/api-reference.md b/src/pages/home/base/mobile-core/identity/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/tabs/api-reference.md rename to src/pages/home/base/mobile-core/identity/tabs/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/tabs/index.md b/src/pages/home/base/mobile-core/identity/tabs/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/tabs/index.md rename to src/pages/home/base/mobile-core/identity/tabs/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/identity/tabs/push-sync.md b/src/pages/home/base/mobile-core/identity/tabs/push-sync.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/identity/tabs/push-sync.md rename to src/pages/home/base/mobile-core/identity/tabs/push-sync.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/index.md b/src/pages/home/base/mobile-core/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/index.md rename to src/pages/home/base/mobile-core/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/android.md b/src/pages/home/base/mobile-core/lifecycle/android.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/android.md rename to src/pages/home/base/mobile-core/lifecycle/android.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/api-reference.md b/src/pages/home/base/mobile-core/lifecycle/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/api-reference.md rename to src/pages/home/base/mobile-core/lifecycle/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/assets/android/android-crash.png b/src/pages/home/base/mobile-core/lifecycle/assets/android/android-crash.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/assets/android/android-crash.png rename to src/pages/home/base/mobile-core/lifecycle/assets/android/android-crash.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/configuration-keys.md b/src/pages/home/base/mobile-core/lifecycle/configuration-keys.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/configuration-keys.md rename to src/pages/home/base/mobile-core/lifecycle/configuration-keys.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/event-reference.md b/src/pages/home/base/mobile-core/lifecycle/event-reference.md similarity index 90% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/event-reference.md rename to src/pages/home/base/mobile-core/lifecycle/event-reference.md index 6963110c20..6a664eb76d 100644 --- a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/event-reference.md +++ b/src/pages/home/base/mobile-core/lifecycle/event-reference.md @@ -96,7 +96,7 @@ This event is a response from the Lifecycle extension to notify that the applica -To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../../edge-extensions/lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). +To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../../edge/lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). @@ -110,7 +110,7 @@ In Android, there is a 500 millisecond timeout between consecutive `lifecycleSta #### Data payload -The Lifecycle application foreground data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application, device, and environment when the event occurred. Please refer to [Lifecycle Application Foreground metrics](../../../edge-extensions/lifecycle-for-edge-network/metrics.md#lifecycle-application-foreground-metrics) for a list of metrics included with this event. +The Lifecycle application foreground data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application, device, and environment when the event occurred. Please refer to [Lifecycle Application Foreground metrics](../../../edge/lifecycle-for-edge-network/metrics.md#lifecycle-application-foreground-metrics) for a list of metrics included with this event. ### Lifecycle application background @@ -123,7 +123,7 @@ The event is generated by the Lifecycle extension when: -To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../../edge-extensions/lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). +To forward this event to the Adobe Experience Platform Edge Network, follow the steps outlined in [Configure a Rule to forward Lifecycle metrics to Platform](../../../edge/lifecycle-for-edge-network/index.md#configure-a-rule-to-forward-lifecycle-metrics-to-platform). @@ -137,4 +137,4 @@ In Android, there is a 500 millisecond timeout between consecutive `lifecycleSta #### Data payload -The Lifecycle Application Background data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application close type and previous session length. Please refer to [Lifecycle Application Background metrics](../../../edge-extensions/lifecycle-for-edge-network/metrics.md#lifecycle-application-background-metrics) for a list of metrics included with this event. +The Lifecycle Application Background data payload is defined by the Platform Mobile Lifecycle Details XDM field group, and includes information about the application close type and previous session length. Please refer to [Lifecycle Application Background metrics](../../../edge/lifecycle-for-edge-network/metrics.md#lifecycle-application-background-metrics) for a list of metrics included with this event. diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/index.md b/src/pages/home/base/mobile-core/lifecycle/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/index.md rename to src/pages/home/base/mobile-core/lifecycle/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/ios.md b/src/pages/home/base/mobile-core/lifecycle/ios.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/ios.md rename to src/pages/home/base/mobile-core/lifecycle/ios.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/metrics.md b/src/pages/home/base/mobile-core/lifecycle/metrics.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/metrics.md rename to src/pages/home/base/mobile-core/lifecycle/metrics.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/tabs/api-reference.md b/src/pages/home/base/mobile-core/lifecycle/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/tabs/api-reference.md rename to src/pages/home/base/mobile-core/lifecycle/tabs/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/lifecycle/tabs/index.md b/src/pages/home/base/mobile-core/lifecycle/tabs/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/lifecycle/tabs/index.md rename to src/pages/home/base/mobile-core/lifecycle/tabs/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/platform-services/index.md b/src/pages/home/base/mobile-core/platform-services/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/platform-services/index.md rename to src/pages/home/base/mobile-core/platform-services/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/platform-services/network-service.md b/src/pages/home/base/mobile-core/platform-services/network-service.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/platform-services/network-service.md rename to src/pages/home/base/mobile-core/platform-services/network-service.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/platform-services/tabs/index.md b/src/pages/home/base/mobile-core/platform-services/tabs/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/platform-services/tabs/index.md rename to src/pages/home/base/mobile-core/platform-services/tabs/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/platform-services/tabs/network-service.md b/src/pages/home/base/mobile-core/platform-services/tabs/network-service.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/platform-services/tabs/network-service.md rename to src/pages/home/base/mobile-core/platform-services/tabs/network-service.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/release-notes.md b/src/pages/home/base/mobile-core/release-notes.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/release-notes.md rename to src/pages/home/base/mobile-core/release-notes.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/rules-engine/assets/index/rule-example.png b/src/pages/home/base/mobile-core/rules-engine/assets/index/rule-example.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/rules-engine/assets/index/rule-example.png rename to src/pages/home/base/mobile-core/rules-engine/assets/index/rule-example.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/rules-engine/consequence-details.md b/src/pages/home/base/mobile-core/rules-engine/consequence-details.md similarity index 98% rename from src/pages/documentation/home/base-extensions/mobile-core/rules-engine/consequence-details.md rename to src/pages/home/base/mobile-core/rules-engine/consequence-details.md index 0272dd1a7d..f1f8f5f11c 100644 --- a/src/pages/documentation/home/base-extensions/mobile-core/rules-engine/consequence-details.md +++ b/src/pages/home/base/mobile-core/rules-engine/consequence-details.md @@ -17,7 +17,7 @@ The Adobe Experience Platform Mobile SDK supports multiple types of rule consequ ## Analytics consequence -This rule consequence is currently handled by the [Analytics](../../../solution-extensions/adobe-analytics/index.md) extension. +This rule consequence is currently handled by the [Analytics](../../../solution/adobe-analytics/index.md) extension. | Friendly name | Key | Type | Required | Description | | :--- | :--- | :--- | :--- | :--- | @@ -27,7 +27,7 @@ This rule consequence is currently handled by the [Analytics](../../../solution- ## In-App message consequence -This rule consequence is currently handled by the [Campaign](../../../solution-extensions/adobe-campaign-standard/index.md) extension. +This rule consequence is currently handled by the [Campaign](../../../solution/adobe-campaign-standard/index.md) extension. | Friendly name | Key | Type | Required | Description | | :--- | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/home/base-extensions/mobile-core/rules-engine/index.md b/src/pages/home/base/mobile-core/rules-engine/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/rules-engine/index.md rename to src/pages/home/base/mobile-core/rules-engine/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/rules-engine/technical-details.md b/src/pages/home/base/mobile-core/rules-engine/technical-details.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/rules-engine/technical-details.md rename to src/pages/home/base/mobile-core/rules-engine/technical-details.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/api-reference.md b/src/pages/home/base/mobile-core/signal/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/api-reference.md rename to src/pages/home/base/mobile-core/signal/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png b/src/pages/home/base/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png rename to src/pages/home/base/mobile-core/signal/assets/rules-engine-integration/data-element-example-collect-pii.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png b/src/pages/home/base/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png rename to src/pages/home/base/mobile-core/signal/assets/rules-engine-integration/postback-pii-token-example.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png b/src/pages/home/base/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png rename to src/pages/home/base/mobile-core/signal/assets/rules-engine-integration/send-postback-action.png diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/index.md b/src/pages/home/base/mobile-core/signal/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/index.md rename to src/pages/home/base/mobile-core/signal/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/rules-engine-integration.md b/src/pages/home/base/mobile-core/signal/rules-engine-integration.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/rules-engine-integration.md rename to src/pages/home/base/mobile-core/signal/rules-engine-integration.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/tabs/api-reference.md b/src/pages/home/base/mobile-core/signal/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/tabs/api-reference.md rename to src/pages/home/base/mobile-core/signal/tabs/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/signal/tabs/index.md b/src/pages/home/base/mobile-core/signal/tabs/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/signal/tabs/index.md rename to src/pages/home/base/mobile-core/signal/tabs/index.md diff --git a/src/pages/documentation/home/base-extensions/mobile-core/tabs/api-reference.md b/src/pages/home/base/mobile-core/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/mobile-core/tabs/api-reference.md rename to src/pages/home/base/mobile-core/tabs/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/profile/api-reference.md b/src/pages/home/base/profile/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/profile/api-reference.md rename to src/pages/home/base/profile/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/profile/assets/index/configuration.png b/src/pages/home/base/profile/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/home/base-extensions/profile/assets/index/configuration.png rename to src/pages/home/base/profile/assets/index/configuration.png diff --git a/src/pages/documentation/home/base-extensions/profile/index.md b/src/pages/home/base/profile/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/profile/index.md rename to src/pages/home/base/profile/index.md diff --git a/src/pages/documentation/home/base-extensions/profile/release-notes.md b/src/pages/home/base/profile/release-notes.md similarity index 100% rename from src/pages/documentation/home/base-extensions/profile/release-notes.md rename to src/pages/home/base/profile/release-notes.md diff --git a/src/pages/documentation/home/base-extensions/profile/tabs/api-reference.md b/src/pages/home/base/profile/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/home/base-extensions/profile/tabs/api-reference.md rename to src/pages/home/base/profile/tabs/api-reference.md diff --git a/src/pages/documentation/home/base-extensions/profile/tabs/index.md b/src/pages/home/base/profile/tabs/index.md similarity index 100% rename from src/pages/documentation/home/base-extensions/profile/tabs/index.md rename to src/pages/home/base/profile/tabs/index.md diff --git a/src/pages/home/current-sdk-versions.md b/src/pages/home/current-sdk-versions.md new file mode 100644 index 0000000000..0848f24607 --- /dev/null +++ b/src/pages/home/current-sdk-versions.md @@ -0,0 +1,162 @@ +--- +title: Current SDK versions +description: An overview that shows the currently available mobile extensions, along with their versions, for each platform. +keywords: +- Guide +- Versions +--- + +# Current SDK versions + +## Android + + + +**Migrate to latest Mobile SDKs for Android**
If you are currently using the Mobile Core 1.x and the compatible libraries, please see the [Migrating to latest Mobile SDKs for Android](https://developer.adobe.com/client-sdks/previous-versions/documentation/migrate-to-android/) guide for next steps.
The latest Mobile SDKs for Android support Google Android API 19 (KitKat) or later. + + + +**Start using the BOM artifact for Android**
The Adobe SDK BOM artifact enables managing all compatible versions of Adobe Experience Platform Android extensions by specifying a single BOM version. This is now the recommended way to manage Android SDKs. For the installation instructions, see the steps to [add dependencies to your project](../home/getting-started/get-the-sdk.md#installation-instructions). The BOM project is open-sourced. For more information, please refer to the [README](https://github.com/adobe/aepsdk-commons/blob/main/android/aepsdk-bom/README.md) file located in the public repository. + +### Android BOM + +
+ +
+ +descriptive text + +
+ +The Android BOM (Bill of Materials) artifact has been released to Maven Central. The above Maven Badge displays the latest BOM version. To obtain information about which Android extension versions are mapped to the latest BOM, refer to the [release notes](https://developer.adobe.com/client-sdks/release-notes/). + +### Android extensions + +
+ +| Extension | Maven | Github | +|---|---|---| +| [Mobile Core](./base/mobile-core/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/core.svg?logo=android&logoColor=white&label=core&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/core) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Rules Engine](./base/mobile-core/rules-engine/index.md) | Bundled in Mobile Core | — | +| [Signal](./base/mobile-core/signal/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/signal.svg?logo=android&logoColor=white&label=signal&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/signal) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Lifecycle](./base/mobile-core/lifecycle/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/lifecycle.svg?logo=android&logoColor=white&label=lifecycle&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/lifecycle) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Identity](./base/mobile-core/identity/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/identity.svg?logo=android&logoColor=white&label=identity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/identity) | [Link](https://github.com/adobe/aepsdk-core-android) | +| [Profile](./base/profile/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/userprofile.svg?logo=android&logoColor=white&label=userprofile&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/userprofile) | [Link](https://github.com/adobe/aepsdk-userprofile-android) | +| [Adobe Experience Platform Assurance](./base/assurance/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/assurance.svg?logo=android&logoColor=white&label=assurance&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/assurance) | [Link](https://github.com/adobe/aepsdk-assurance-android) | +| [Adobe Experience Platform Edge Network](../edge/edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edge.svg?logo=android&logoColor=white&label=edge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edge) | [Link](https://github.com/adobe/aepsdk-edge-android) | +| [Identity for Edge Network](../edge/identity-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeidentity.svg?logo=android&logoColor=white&label=edgeidentity&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeidentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-android) | +| [Consent for Edge Network](../edge/consent-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgeconsent.svg?logo=android&logoColor=white&label=edgeconsent&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgeconsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-android) | +| [Media for Edge Network](../edge/media-for-edge-network/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgemedia.svg?logo=android&logoColor=white&label=edgemedia&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgemedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-android) | +| [Edge Bridge](../solution/adobe-analytics/migrate-to-edge-network.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/edgebridge.svg?logo=android&logoColor=white&label=edgebridge&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/edgebridge) | [Link](https://github.com/adobe/aepsdk-edgebridge-android) | +| [Adobe Journey Optimizer](../edge/adobe-journey-optimizer/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/messaging.svg?logo=android&logoColor=white&label=messaging&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/messaging) | [Link](https://github.com/adobe/aepsdk-messaging-android) | +| [Adobe Journey Optimizer - Decisioning](../edge/adobe-journey-optimizer-decisioning/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/optimize.svg?logo=android&logoColor=white&label=optimize&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/optimize) | [Link](https://github.com/adobe/aepsdk-optimize-android) | +| [Places Service](https://experienceleague.adobe.com/docs/places/using/home.html) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/places.svg?logo=android&logoColor=white&label=places&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/places) | [Link](https://github.com/adobe/aepsdk-places-android) | +| [Adobe Analytics](../solution/adobe-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/analytics.svg?logo=android&logoColor=white&label=analytics&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/analytics) | [Link](https://github.com/adobe/aepsdk-analytics-android) | +| [Adobe Analytics - Media Analytics for Audio & Video](../solution/adobe-media-analytics/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/media.svg?logo=android&logoColor=white&label=media&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/media) | [Link](https://github.com/adobe/aepsdk-media-android) | +| [Adobe Target](../solution/adobe-target/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/target.svg?logo=android&logoColor=white&label=target&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/target) | [Link](https://github.com/adobe/aepsdk-target-android) | +| [Adobe Campaign Standard](../solution/adobe-campaign-standard/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaign.svg?logo=android&logoColor=white&label=campaign&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaign) | [Link](https://github.com/adobe/aepsdk-campaign-android) | +| [Adobe Campaign Classic](../solution/adobe-campaign-classic/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/campaignclassic.svg?logo=android&logoColor=white&label=campaignclassic&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/campaignclassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-android) | +| [Adobe Audience Manager](../solution/adobe-audience-manager/index.md) | [![Maven Central](https://img.shields.io/maven-central/v/com.adobe.marketing.mobile/audience.svg?logo=android&logoColor=white&label=audience&style=flat-square)](https://mvnrepository.com/artifact/com.adobe.marketing.mobile/audience) | [Link](https://github.com/adobe/aepsdk-audience-android) | +| Adobe Analytics - Mobile Services | Deprecated | | +| Places Monitor | Deprecated | | + +## iOS + + + +**Migrate to latest Mobile SDKs for iOS**
If you are currently using the Objective-C (ACP-prefix) libraries, please see the [Migrating to latest Mobile SDKs for iOS](https://developer.adobe.com/client-sdks/previous-versions/documentation/migrate-to-swift/) guide for next steps.
The latest Mobile SDK for iOS supports iOS 11 or later; requires Swift 5.1 or newer and Xcode 14.1 or newer. In addition to **CocoaPods**, **Swift Package Manager (SPM)** installation option is supported with the latest iOS Swift SDKs! Find more details at the GitHub links below. + +| Extension | tvOS | App Extension | CocoaPods | GitHub | +|---|---|---|---|---| +| [Mobile Core](./base/mobile-core/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPCore&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCore) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Rules Engine](./base/mobile-core/rules-engine/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-rulesengine-ios.svg?label=AEPRulesEngine&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPRulesEngine) | [Link](https://github.com/adobe/aepsdk-rulesengine-ios) | +| [Signal](./base/mobile-core/signal/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPSignal&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPSignal) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Identity](./base/mobile-core/identity/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPIdentity) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Lifecycle](./base/mobile-core/lifecycle/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-core-ios.svg?label=AEPLifecycle&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPLifecycle) | [Link](https://github.com/adobe/aepsdk-core-ios) | +| [Profile](./base/profile/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-userprofile-ios.svg?label=AEPUserProfile&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPUserProfile) | [Link](https://github.com/adobe/aepsdk-userprofile-ios) | +| [Adobe Experience Platform Assurance](./base/assurance/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-assurance-ios.svg?label=AEPAssurance&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAssurance) | [Link](https://github.com/adobe/aepsdk-assurance-ios) | +| [Adobe Experience Platform Edge Network](../edge/edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edge-ios.svg?label=AEPEdge&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdge) | [Link](https://github.com/adobe/aepsdk-edge-ios) | +| [Identity for Edge Network](../edge/identity-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeidentity-ios.svg?label=AEPEdgeIdentity&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeIdentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-ios) | +| [Consent for Edge Network](../edge/consent-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgeconsent-ios.svg?label=AEPEdgeConsent&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeConsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-ios) | +| [Media for Edge Network](../edge/media-for-edge-network/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgemedia-ios.svg?label=AEPEdgeMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeMedia) | [Link](https://github.com/adobe/aepsdk-edgemedia-ios) | +| [Edge Bridge](../adobe-analytics/migrate-to-edge-network.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-edgebridge-ios.svg?label=AEPEdgeBridge&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPEdgeBridge) | [Link](https://github.com/adobe/aepsdk-edgebridge-ios) | +| [Adobe Journey Optimizer](../edge/adobe-journey-optimizer/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-messaging-ios.svg?label=AEPMessaging&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMessaging) | [Link](https://github.com/adobe/aepsdk-messaging-ios) | +| [Adobe Journey Optimizer - Decisioning](../edge/adobe-journey-optimizer-decisioning/index.md) | | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-optimize-ios.svg?label=AEPOptimize&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPOptimize) | [Link](https://github.com/adobe/aepsdk-optimize-ios) | +| [Places Service](https://experienceleague.adobe.com/docs/places/using/home.html) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-places-ios.svg?label=AEPPlaces&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPPlaces) | [Link](https://github.com/adobe/aepsdk-places-ios) | +| [Adobe Analytics](../solution/adobe-analytics/index.md) | ✔️ | ✔️ | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-analytics-ios.svg?label=AEPAnalytics&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAnalytics) | [Link](https://github.com/adobe/aepsdk-analytics-ios) | +| [Adobe Analytics - Media Analytics for Audio & Video](../solution/adobe-media-analytics/index.md) | ✔️ | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-media-ios.svg?label=AEPMedia&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPMedia) | [Link](https://github.com/adobe/aepsdk-media-ios) | +| [Adobe Target](../solution/adobe-target/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-target-ios.svg?label=AEPTarget&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPTarget) | [Link](https://github.com/adobe/aepsdk-target-ios) | +| [Adobe Campaign Standard](../solution/adobe-campaign-standard/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaign-ios.svg?label=AEPCampaign&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaign) | [Link](https://github.com/adobe/aepsdk-campaign-ios) | +| [Adobe Campaign Classic](../solution/adobe-campaign-classic/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-campaignclassic-ios.svg?label=AEPCampaignClassic&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPCampaignClassic) | [Link](https://github.com/adobe/aepsdk-campaignclassic-ios) | +| [Adobe Audience Manager](../solution/adobe-audience-manager/index.md) | | | [![CocoaPods](https://img.shields.io/github/v/release/adobe/aepsdk-audience-ios.svg?label=AEPAudience&logo=apple&logoColor=white&color=orange&sort=semver)](https://cocoapods.org/pods/AEPAudience) | [Link](https://github.com/adobe/aepsdk-audience-ios) | +| Adobe Analytics - Mobile Services | | Deprecated | | | +| Places Monitor | | Deprecated | | | + +## React Native + +Adobe Experience Platform Mobile SDK plugin for React Native supports React Native **version 0.60.0 or later**. For the latest installation instructions, see the README file in the [`aepsdk-react-native`](https://github.com/adobe/aepsdk-react-native#installation) repository. + + + +Adobe Experience Platform Mobile SDK plugins for React Native are compatible with the [Android](#android) and [iOS](#ios) native libraries. + + + +If you are currently using the ACP-prefixed React Native libraries, please see [the guide to migrate to latest available version](https://github.com/adobe/aepsdk-react-native/blob/main/docs/migration.md) for React Native. + +| Extension | npmjs | +|---|---| +| [Mobile Core](./base/mobile-core/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcore.svg?color=green&label=%40adobe%2Freact-native-aepcore&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcore) | +| [Profile](./base/profile/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepuserprofile.svg?color=green&label=%40adobe%2Freact-native-aepuserprofile&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepuserprofile) | +| [Assurance](./base/assurance/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepassurance.svg?color=green&label=%40adobe%2Freact-native-aepassurance&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepassurance) | +| [Edge](../edge/edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedge.svg?color=green&label=%40adobe%2Freact-native-aepedge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedge) | +| [EdgeIdentity](../edge/identity-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeidentity.svg?color=green&label=%40adobe%2Freact-native-aepedgeidentity&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeidentity) | +| [EdgeConsent](../edge/consent-for-edge-network/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgeconsent.svg?color=green&label=%40adobe%2Freact-native-aepedgeconsent&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgeconsent) | +| [Edge Bridge](../solution/adobe-analytics/migrate-to-edge-network.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepedgebridge.svg?color=green&label=%40adobe%2Freact-native-aepedgebridge&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepedgebridge) | +| [Messaging](../edge/adobe-journey-optimizer-decisioning/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepmessaging.svg?color=green&label=%40adobe%2Freact-native-aepmessaging&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepmessaging) | +| [Optimize](../edge/adobe-journey-optimizer/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepoptimize.svg?color=green&label=%40adobe%2Freact-native-aepoptimize&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepoptimize) | +| [Places](../solution/places/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepplaces.svg?color=green&label=%40adobe%2Freact-native-aepplaces&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepplaces) | +| [Target](../solution/adobe-target/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aeptarget.svg?color=green&label=%40adobe%2Freact-native-aeptarget&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aeptarget) | +| [Campaign Classic](../solution/adobe-campaign-classic/index.md) | [![npm version](https://img.shields.io/npm/v/@adobe/react-native-aepcampaignclassic.svg?color=green&label=%40adobe%2Freact-native-aepcampaignclassic&logo=npm&style=flat-square)](https://badge.fury.io/js/%40adobe%2Freact-native-aepcampaignclassic) | +| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../solution/adobe-analytics/migrate-to-edge-network.md). | +| Adobe Media Analytics| Not Supported | +| Adobe Audience| Not Supported | +| Adobe Campaign Standard| Not Supported | +| Place Monitor| Deprecated | + +## Flutter + +Adobe Experience Platform Mobile SDK plugin for Flutter supports Flutter **versions 2.0.0 or later**. For the latest installation instructions, see the `README` file in the [`aepsdk-flutter`](https://github.com/adobe/aepsdk_flutter#installation) repository. + + + +Adobe Experience Platform Mobile SDK plugins for Flutter are compatible with the [Android](#android) and [iOS](#ios) native libraries. + + + +If you are currently using the ACP-prefixed Flutter libraries, please see [the guide to migrate to latest available version](https://github.com/adobe/aepsdk_flutter/blob/main/docs/migration.md) for Flutter. + +| Extension | pub.dev | +|---|---| +| [Mobile Core](./base/mobile-core/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepcore.svg)](https://pub.dartlang.org/packages/flutter_aepcore) | +| [Assurance](./base/assurance/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepassurance.svg)](https://pub.dartlang.org/packages/flutter_aepassurance) | +| [Edge](../edge/edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedge.svg)](https://pub.dartlang.org/packages/flutter_aepedge) | +| [EdgeIdentity](../edge/identity-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeidentity.svg)](https://pub.dartlang.org/packages/flutter_aepedgeidentity) | +| [EdgeConsent](../edge/consent-for-edge-network/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgeconsent.svg)](https://pub.dartlang.org/packages/flutter_aepedgeconsent) | +| [Edge Bridge](../solution/adobe-analytics/migrate-to-edge-network.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepedgebridge.svg)](https://pub.dartlang.org/packages/flutter_aepedgebridge) | +| [UserProfile](./base/profile/index.md) | [![pub package](https://img.shields.io/pub/v/flutter_aepuserprofile.svg)](https://pub.dartlang.org/packages/flutter_aepuserprofile) | +| Adobe Analytics| Not Supported - Analytics workflows supported through Edge or Edge Bridge extensions, see [guide to migrate to Edge Network](../solution/adobe-analytics/migrate-to-edge-network.md). | +| Place Service | Not Supported | +| Place Monitor| Deprecated | + +## Roku + +
+ +
+ + + +
+ +The Adobe Experience Platform SDK for Roku supports Roku OS 11.0 or later. The project is open sourced in GitHub. For more information, refer to the [aepsdk-roku](https://github.com/adobe/aepsdk-roku) repository. diff --git a/src/pages/documentation/home/getting-started/assets/configure-datastreams/configure-datastream.png b/src/pages/home/getting-started/assets/configure-datastreams/configure-datastream.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/configure-datastreams/configure-datastream.png rename to src/pages/home/getting-started/assets/configure-datastreams/configure-datastream.png diff --git a/src/pages/documentation/home/getting-started/assets/configure-datastreams/create-datastream.png b/src/pages/home/getting-started/assets/configure-datastreams/create-datastream.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/configure-datastreams/create-datastream.png rename to src/pages/home/getting-started/assets/configure-datastreams/create-datastream.png diff --git a/src/pages/documentation/home/getting-started/assets/create-a-mobile-property/configure-extension.png b/src/pages/home/getting-started/assets/create-a-mobile-property/configure-extension.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/create-a-mobile-property/configure-extension.png rename to src/pages/home/getting-started/assets/create-a-mobile-property/configure-extension.png diff --git a/src/pages/documentation/home/getting-started/assets/create-a-mobile-property/create-mobile-property.png b/src/pages/home/getting-started/assets/create-a-mobile-property/create-mobile-property.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/create-a-mobile-property/create-mobile-property.png rename to src/pages/home/getting-started/assets/create-a-mobile-property/create-mobile-property.png diff --git a/src/pages/documentation/home/getting-started/assets/index/edge-network-integration.png b/src/pages/home/getting-started/assets/index/edge-network-integration.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/index/edge-network-integration.png rename to src/pages/home/getting-started/assets/index/edge-network-integration.png diff --git a/src/pages/documentation/home/getting-started/assets/index/solution-specific-integration.png b/src/pages/home/getting-started/assets/index/solution-specific-integration.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/index/solution-specific-integration.png rename to src/pages/home/getting-started/assets/index/solution-specific-integration.png diff --git a/src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png b/src/pages/home/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png rename to src/pages/home/getting-started/assets/set-up-schemas-and-datasets/create-dataset.png diff --git a/src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-schema.png b/src/pages/home/getting-started/assets/set-up-schemas-and-datasets/create-schema.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/set-up-schemas-and-datasets/create-schema.png rename to src/pages/home/getting-started/assets/set-up-schemas-and-datasets/create-schema.png diff --git a/src/pages/documentation/home/getting-started/assets/validate/assurance-analytics.png b/src/pages/home/getting-started/assets/validate/assurance-analytics.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/validate/assurance-analytics.png rename to src/pages/home/getting-started/assets/validate/assurance-analytics.png diff --git a/src/pages/documentation/home/getting-started/assets/validate/assurance-places.png b/src/pages/home/getting-started/assets/validate/assurance-places.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/validate/assurance-places.png rename to src/pages/home/getting-started/assets/validate/assurance-places.png diff --git a/src/pages/documentation/home/getting-started/assets/validate/configuration-response.png b/src/pages/home/getting-started/assets/validate/configuration-response.png similarity index 100% rename from src/pages/documentation/home/getting-started/assets/validate/configuration-response.png rename to src/pages/home/getting-started/assets/validate/configuration-response.png diff --git a/src/pages/documentation/home/getting-started/configure-datastreams.md b/src/pages/home/getting-started/configure-datastreams.md similarity index 100% rename from src/pages/documentation/home/getting-started/configure-datastreams.md rename to src/pages/home/getting-started/configure-datastreams.md diff --git a/src/pages/documentation/home/getting-started/create-a-mobile-property.md b/src/pages/home/getting-started/create-a-mobile-property.md similarity index 100% rename from src/pages/documentation/home/getting-started/create-a-mobile-property.md rename to src/pages/home/getting-started/create-a-mobile-property.md diff --git a/src/pages/documentation/home/getting-started/enable-debug-logging.md b/src/pages/home/getting-started/enable-debug-logging.md similarity index 91% rename from src/pages/documentation/home/getting-started/enable-debug-logging.md rename to src/pages/home/getting-started/enable-debug-logging.md index fc399e68cd..0cc115a50d 100644 --- a/src/pages/documentation/home/getting-started/enable-debug-logging.md +++ b/src/pages/home/getting-started/enable-debug-logging.md @@ -59,17 +59,17 @@ Unity ## Lifecycle metrics -Lifecycle metrics are an optional, but valuable feature provided by the Adobe Experience Platform SDK. It provides out-of-the-box, application lifecycle information about your app user. A complete list of available metrics is provided in the [lifecycle documentation](../base-extensions/mobile-core/lifecycle/index.md). +Lifecycle metrics are an optional, but valuable feature provided by the Adobe Experience Platform SDK. It provides out-of-the-box, application lifecycle information about your app user. A complete list of available metrics is provided in the [lifecycle documentation](../base/mobile-core/lifecycle/index.md). These metrics contain information on the app user's engagement lifecycle such as device information, install or upgrade information, and session start and pause times. You may also set additional lifecycle metrics. -This section shows you how to collect lifecycle metrics. To view, and report on this data in those respective solutions, you need to set up [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) or other Experience Cloud solution extensions. +This section shows you how to collect lifecycle metrics. To view, and report on this data in those respective solutions, you need to set up [Adobe Analytics](../../solution/adobe-analytics/index.md) or other Experience Cloud solution extensions. -Lifecycle metrics are now available for Edge Network implementations. For more details about the XDM-based lifecycle metrics, see [Lifecycle for Edge Network](../../edge-extensions/lifecycle-for-edge-network/index.md). +Lifecycle metrics are now available for Edge Network implementations. For more details about the XDM-based lifecycle metrics, see [Lifecycle for Edge Network](../../edge/lifecycle-for-edge-network/index.md). @@ -101,4 +101,4 @@ Xamarin --> -For more information, see the documentation on [Lifecycle metrics](../base-extensions/mobile-core/lifecycle/index.md). +For more information, see the documentation on [Lifecycle metrics](../base/mobile-core/lifecycle/index.md). diff --git a/src/pages/documentation/home/getting-started/get-the-sdk.md b/src/pages/home/getting-started/get-the-sdk.md similarity index 100% rename from src/pages/documentation/home/getting-started/get-the-sdk.md rename to src/pages/home/getting-started/get-the-sdk.md diff --git a/src/pages/documentation/home/getting-started/index.md b/src/pages/home/getting-started/index.md similarity index 100% rename from src/pages/documentation/home/getting-started/index.md rename to src/pages/home/getting-started/index.md diff --git a/src/pages/documentation/home/getting-started/set-up-schemas-and-datasets.md b/src/pages/home/getting-started/set-up-schemas-and-datasets.md similarity index 100% rename from src/pages/documentation/home/getting-started/set-up-schemas-and-datasets.md rename to src/pages/home/getting-started/set-up-schemas-and-datasets.md diff --git a/src/pages/documentation/home/getting-started/tabs/enable-debug-logging.md b/src/pages/home/getting-started/tabs/enable-debug-logging.md similarity index 100% rename from src/pages/documentation/home/getting-started/tabs/enable-debug-logging.md rename to src/pages/home/getting-started/tabs/enable-debug-logging.md diff --git a/src/pages/documentation/home/getting-started/tabs/get-the-sdk.md b/src/pages/home/getting-started/tabs/get-the-sdk.md similarity index 100% rename from src/pages/documentation/home/getting-started/tabs/get-the-sdk.md rename to src/pages/home/getting-started/tabs/get-the-sdk.md diff --git a/src/pages/documentation/home/getting-started/tabs/track-events.md b/src/pages/home/getting-started/tabs/track-events.md similarity index 100% rename from src/pages/documentation/home/getting-started/tabs/track-events.md rename to src/pages/home/getting-started/tabs/track-events.md diff --git a/src/pages/documentation/home/getting-started/track-events.md b/src/pages/home/getting-started/track-events.md similarity index 96% rename from src/pages/documentation/home/getting-started/track-events.md rename to src/pages/home/getting-started/track-events.md index a77888df8c..0e245ccc6d 100644 --- a/src/pages/documentation/home/getting-started/track-events.md +++ b/src/pages/home/getting-started/track-events.md @@ -62,7 +62,7 @@ iOS ## Track user actions (for Adobe Analytics) -This section shows you how to start track user actions in your mobile app. To view and report on this data in those respective solutions, set up [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) or another Experience Cloud solution extensions. +This section shows you how to start track user actions in your mobile app. To view and report on this data in those respective solutions, set up [Adobe Analytics](../../solution/adobe-analytics/index.md) or another Experience Cloud solution extensions. Actions are events that occur in your app. Use this API to track and measure an action, where each action has one or more corresponding metrics that increment each time the event occurs. For example, you might call this API for every new subscription, every time an article is viewed, or every time a level is completed. @@ -134,7 +134,7 @@ Xamarin --> -For more information, see the [Mobile Core API Reference](../base-extensions/mobile-core/api-reference.md). +For more information, see the [Mobile Core API Reference](../base/mobile-core/api-reference.md). ## Get help diff --git a/src/pages/documentation/home/getting-started/validate.md b/src/pages/home/getting-started/validate.md similarity index 100% rename from src/pages/documentation/home/getting-started/validate.md rename to src/pages/home/getting-started/validate.md diff --git a/src/pages/documentation/home/index.md b/src/pages/home/index.md similarity index 100% rename from src/pages/documentation/home/index.md rename to src/pages/home/index.md diff --git a/src/pages/documentation/home/release-notes/2021.md b/src/pages/home/release-notes/2021.md similarity index 94% rename from src/pages/documentation/home/release-notes/2021.md rename to src/pages/home/release-notes/2021.md index 66000ea239..cf10f1f8ac 100644 --- a/src/pages/documentation/home/release-notes/2021.md +++ b/src/pages/home/release-notes/2021.md @@ -241,7 +241,7 @@ This SDK is compatible with Android Core 1.8.2 and above. ### iOS Campaign Standard 3.0.0 -* Initial release to support [Adobe Campaign Standard workflows](../../solution-extensions/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-campaign-ios/). +* Initial release to support [Adobe Campaign Standard workflows](../../solution/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-campaign-ios/). ## June 7, 2021 @@ -287,7 +287,7 @@ This SDK is compatible with Android Core 1.8.2 and above. ### iOS AEPMedia 3.0.0 -* Initial release to support [Adobe Analytics - Media Analytics workflows](../../solution-extensions/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-media-ios/). +* Initial release to support [Adobe Analytics - Media Analytics workflows](../../solution/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This extension library is [available as an open source project on Github](https://github.com/adobe/aepsdk-media-ios/). ## April 29, 2021 @@ -316,7 +316,7 @@ You can now find the Consent for Edge Network extension in the tag extensions ca ### iOS Target 3.0.0 -* Initial release to support [Adobe Target](../../solution-extensions/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-ios). +* Initial release to support [Adobe Target](../../solution/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-ios). ## April 8, 2021 @@ -382,7 +382,7 @@ The Adobe Experience Platform Consent (AEPEdgeConsent) mobile extension is now a ### iOS AEPAnalytics 3.0.0 -* Initial release to support [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This library is available as an [open sourced project on Github](https://github.com/adobe/aepsdk-analytics-ios/). +* Initial release to support [Adobe Analytics](../../solution/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs for iOS in Swift. This library is available as an [open sourced project on Github](https://github.com/adobe/aepsdk-analytics-ios/). ## January 29, 2021 diff --git a/src/pages/documentation/home/release-notes/2022.md b/src/pages/home/release-notes/2022.md similarity index 98% rename from src/pages/documentation/home/release-notes/2022.md rename to src/pages/home/release-notes/2022.md index 2d6fd4a1d0..cdcba9397e 100644 --- a/src/pages/documentation/home/release-notes/2022.md +++ b/src/pages/home/release-notes/2022.md @@ -71,7 +71,7 @@ For an end-to-end guide on how to use the extension, see the [Edge Bridge tutori ### iOS Campaign Classic 3.0.0 -* Initial release to support [Adobe Campaign Classic workflows](../../solution-extensions/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This extension library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-ios/). +* Initial release to support [Adobe Campaign Classic workflows](../../solution/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on iOS in Swift. This extension library is available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-ios/). ## June 30, 2022 diff --git a/src/pages/documentation/home/release-notes/index.md b/src/pages/home/release-notes/index.md similarity index 89% rename from src/pages/documentation/home/release-notes/index.md rename to src/pages/home/release-notes/index.md index d22094bd70..83a73ac272 100644 --- a/src/pages/documentation/home/release-notes/index.md +++ b/src/pages/home/release-notes/index.md @@ -305,7 +305,7 @@ Keywords: ### iOS Places 4.1.0 and Android Places 2.1.0 -* Added support for forwarding location entry and exit events to Adobe Experience Platform. For more information, refer to the [Places Service event forwarding to Adobe Experience Platform](../../solution-extensions/places/places-to-platform.md) guide. +* Added support for forwarding location entry and exit events to Adobe Experience Platform. For more information, refer to the [Places Service event forwarding to Adobe Experience Platform](../../solution/places/places-to-platform.md) guide. ### Android Core 2.3.1 @@ -626,21 +626,21 @@ Note that all these extensions must be updated together. ### iOS Target 4.0.0 -Major version update for [Adobe Target](../../solution-extensions/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Target](../../solution/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Audience 4.0.0 - Major version update for [Adobe Audience Manager](../../solution-extensions/adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: + Major version update for [Adobe Audience Manager](../../solution/adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Media 4.0.0 -Major version update for [Adobe Analytics - Media Analytics workflows](../../solution-extensions/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Analytics - Media Analytics workflows](../../solution/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -650,22 +650,22 @@ Major version update for [Adobe Analytics - Media Analytics workflows](../../sol ### Android Edge Media 2.0.0 -Initial release of the [Adobe Streaming Media for Edge Network](../../edge-extensions/media-for-edge-network/index.md) extension for Android which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. +Initial release of the [Adobe Streaming Media for Edge Network](../../edge/media-for-edge-network/index.md) extension for Android which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. ### iOS Edge Media 4.0.0 -Initial release of the [Adobe Streaming Media for Edge Network](../../edge-extensions/media-for-edge-network/index.md) extension for iOS which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. +Initial release of the [Adobe Streaming Media for Edge Network](../../edge/media-for-edge-network/index.md) extension for iOS which sends data about audio and video consumption on your streaming applications to the Adobe Experience Platform Edge Network. This enables capabilities for measurement, analysis, and activation with media data across the Adobe Experience Cloud solutions. ### iOS Places 4.0.0 -Major version update for [Adobe Experience Platform Location Service](../../solution-extensions/places/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Experience Platform Location Service](../../solution/places/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Analytics 4.0.0 -Major version update for [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Analytics](../../solution/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -676,7 +676,7 @@ Major version update for [Adobe Analytics](../../solution-extensions/adobe-analy ### iOS Campaign Classic 4.0.0 -Major version update for [Adobe Campaign Classic workflows](../../solution-extensions/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Campaign Classic workflows](../../solution/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -684,14 +684,14 @@ Major version update for [Adobe Campaign Classic workflows](../../solution-exten ### iOS Campaign Standard 4.0.0 -Major version update for [Adobe Campaign Standard workflows](../../solution-extensions/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Campaign Standard workflows](../../solution/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS UserProfile 4.0.0 -Major version update for [User Profile](../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [User Profile](../base/profile/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -707,14 +707,14 @@ Major version update for Edge Bridge for Adobe Experience Platform Mobile SDKs o ### iOS Messaging 4.0.0 -Major version update for [Adobe Journey Optimizer](../../edge-extensions/adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Journey Optimizer](../../edge/adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Optimize 4.0.0 -Major version update for [Adobe Journey Optimizer - Decisioning](../../edge-extensions/adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Journey Optimizer - Decisioning](../../edge/adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -724,21 +724,21 @@ Major version update for [Adobe Journey Optimizer - Decisioning](../../edge-exte ### iOS Consent 4.0.0 -Major version update for [Consent for Edge Network](../../edge-extensions/consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Consent for Edge Network](../../edge/consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS EdgeIdentity 4.0.0 -Major version update for [Identity for Edge Network](../../edge-extensions/identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Identity for Edge Network](../../edge/identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. ### iOS Edge 4.0.0 -Major version update for [Edge Network](../../edge-extensions/edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Edge Network](../../edge/edge-network/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0 and tvOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -747,7 +747,7 @@ Major version update for [Edge Network](../../edge-extensions/edge-network/index ### iOS Assurance 4.0.0 -Major version update for [Adobe Experience Platform Assurance](../base-extensions/assurance/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: +Major version update for [Adobe Experience Platform Assurance](../base/assurance/index.md) for Adobe Experience Platform Mobile SDKs on iOS compatible with Mobile Core 4.0.0. The current release includes the following changes: * Updated the minimum supported version to iOS 11.0. * Include XCFrameworks built with Xcode 14.1 with the GitHub release. @@ -1188,7 +1188,7 @@ For help on moving to these versions, and information on deprecated APIs please ### Android Target 2.0.0 -* Major version update for [Adobe Target](../../solution-extensions/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-android). +* Major version update for [Adobe Target](../../solution/adobe-target/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-target-android). Please note that the following improvements have been made in the current release: @@ -1217,23 +1217,23 @@ import com.adobe.marketing.mobile.target.TargetParameters; ### Android Analytics 2.0.0 -* Major version update for [Adobe Analytics](../../solution-extensions/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-analytics-android/). +* Major version update for [Adobe Analytics](../../solution/adobe-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-analytics-android/). ### Android Audience 2.0.0 -* Major version update for [Adobe Audience Manager](../../solution-extensions/adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-audience-android). +* Major version update for [Adobe Audience Manager](../../solution/adobe-audience-manager/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-audience-android). ### Android Media 3.0.0 -* Major version update for [Adobe Analytics - Media Analytics workflows](../../solution-extensions/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-media-android). +* Major version update for [Adobe Analytics - Media Analytics workflows](../../solution/adobe-media-analytics/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-media-android). ### Android Messaging 2.0.0 -* Major version update for [Adobe Journey Optimizer](../../edge-extensions/adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-messaging-android). +* Major version update for [Adobe Journey Optimizer](../../edge/adobe-journey-optimizer/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-messaging-android). ### Android Places 2.0.0 -* Major version update for [Adobe Experience Platform Location Service](../../solution-extensions/places/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-places-android). +* Major version update for [Adobe Experience Platform Location Service](../../solution/places/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-places-android). Please note that the following improvements have been made in the current release: @@ -1258,11 +1258,11 @@ import com.adobe.marketing.mobile.places.PlacesRequestError; ### Android Optimize 2.0.0 -* Major version update for [Adobe Journey Optimizer - Decisioning](../../edge-extensions/adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This extension library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-optimize-android/). +* Major version update for [Adobe Journey Optimizer - Decisioning](../../edge/adobe-journey-optimizer-decisioning/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This extension library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-optimize-android/). ### Android Campaign Standard 2.0.0 -* Major version update for [Adobe Campaign Standard workflows](../../solution-extensions/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaign-android). +* Major version update for [Adobe Campaign Standard workflows](../../solution/adobe-campaign-standard/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaign-android). ## February 1, 2023 @@ -1274,29 +1274,29 @@ import com.adobe.marketing.mobile.places.PlacesRequestError; ### Android Assurance 2.0.0 -* Major version update for [Adobe Experience Platform Assurance](../base-extensions/assurance/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-assurance-android). +* Major version update for [Adobe Experience Platform Assurance](../base/assurance/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-assurance-android). ### Android Campaign Classic 2.0.0 -* Major version update for [Adobe Campaign Classic workflows](../../solution-extensions/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-android). +* Major version update for [Adobe Campaign Classic workflows](../../solution/adobe-campaign-classic/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-campaignclassic-android). Please note that the `registerDevice` API, similar to iOS, no longer provides a callback method for registration status since a `false` value cannot be accurately used as a signal to retry requests. ### Android Consent 2.0.0 -* Major version update for [Consent for Edge Network](../../edge-extensions/consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeconsent-android). +* Major version update for [Consent for Edge Network](../../edge/consent-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeconsent-android). ### Android Edge 2.0.0 -* Major version update for [Edge Network](../../edge-extensions/edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edge-android). +* Major version update for [Edge Network](../../edge/edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edge-android). ### Android EdgeIdentity 2.0.0 -* Major version update for [Identity for Edge Network](../../edge-extensions/identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeidentity-android). +* Major version update for [Identity for Edge Network](../../edge/identity-for-edge-network/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is already available as an [open source project on GitHub](https://github.com/adobe/aepsdk-edgeidentity-android). ### Android UserProfile 2.0.0 -* Major version update for [User Profile](../base-extensions/profile/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-userprofile-android). +* Major version update for [User Profile](../base/profile/index.md) for Adobe Experience Platform Mobile SDKs on Android compatible with Mobile Core 2.0.0. This library is now available as an [open source project on GitHub](https://github.com/adobe/aepsdk-userprofile-android). * The following APIs have been deprecated and will be removed in a future release: | Deprecated API | Recommended Alternative | diff --git a/src/pages/documentation/resources/acp-end-of-support.md b/src/pages/resources/acp-end-of-support.md similarity index 87% rename from src/pages/documentation/resources/acp-end-of-support.md rename to src/pages/resources/acp-end-of-support.md index 3cc5aa4cd9..80bbe2d8c3 100644 --- a/src/pages/documentation/resources/acp-end-of-support.md +++ b/src/pages/resources/acp-end-of-support.md @@ -2,7 +2,7 @@ ## End of support for ACP iOS SDKs and Wrappers -Since April 25, 2023, [Apple has required](https://developer.apple.com/news/?id=jd9wcyov) apps submitted to the App Store to be built with Xcode 14.1 or later. The Experience Platform Mobile SDKs and extensions outlined below were built with prior versions of Xcode and are no longer compatible with iOS and iPadOS given Apple’s current App Store requirements. Consequently, on **August 31, 2023**, Adobe will be deprecating support for the following Experience Platform Mobile SDKs and wrapper extensions: +Since April 25, 2023, [Apple has required](https://developer.apple.com/news/?id=jd9wcyov) apps submitted to the App Store to be built with Xcode 14.1 or later. The Experience Platform Mobile SDKs and extensions outlined below were built with prior versions of Xcode and are no longer compatible with iOS and iPadOS given Apple's current App Store requirements. Consequently, on **August 31, 2023**, Adobe will be deprecating support for the following Experience Platform Mobile SDKs and wrapper extensions: * [ACP iOS SDK](https://developer.adobe.com/client-sdks/previous-versions/documentation/sdk-versions/#ios) * [Cordova](https://developer.adobe.com/client-sdks/previous-versions/documentation/sdk-versions/#cordova) @@ -12,7 +12,7 @@ Since April 25, 2023, [Apple has required](https://developer.apple.com/news/?id= After **August 31, 2023**, applications already submitted to the App Store that contain these SDKs and wrapper extensions will continue to operate, however, Adobe will not be providing security updates or bug fixes, and these SDKs and wrapper extensions will be provided as-is exclusive of any warranty, due to the App Store policy outlined above. We encourage all customers to migrate to the latest Adobe Experience Platform versions of the Mobile SDK to ensure continued compatibility and support. -Documentation for the latest versions of the Adobe Experience Platform Mobile SDKs can be found [here](https://developer.adobe.com/client-sdks/documentation/current-sdk-versions/). +Documentation for the latest versions of the Adobe Experience Platform Mobile SDKs can be found [here](../home/current-sdk-versions.md). Please refer to the following guides to migrate to the latest SDKs: diff --git a/src/pages/documentation/resources/alerts.md b/src/pages/resources/alerts.md similarity index 100% rename from src/pages/documentation/resources/alerts.md rename to src/pages/resources/alerts.md diff --git a/src/pages/documentation/resources/assets/manage-gradle-dependencies/dynamic-dependencies.png b/src/pages/resources/assets/manage-gradle-dependencies/dynamic-dependencies.png similarity index 100% rename from src/pages/documentation/resources/assets/manage-gradle-dependencies/dynamic-dependencies.png rename to src/pages/resources/assets/manage-gradle-dependencies/dynamic-dependencies.png diff --git a/src/pages/documentation/resources/assets/manage-gradle-dependencies/outdated-dependencies.png b/src/pages/resources/assets/manage-gradle-dependencies/outdated-dependencies.png similarity index 100% rename from src/pages/documentation/resources/assets/manage-gradle-dependencies/outdated-dependencies.png rename to src/pages/resources/assets/manage-gradle-dependencies/outdated-dependencies.png diff --git a/src/pages/documentation/resources/assets/manage-spm-dependencies/add-package-collection-load.png b/src/pages/resources/assets/manage-spm-dependencies/add-package-collection-load.png similarity index 100% rename from src/pages/documentation/resources/assets/manage-spm-dependencies/add-package-collection-load.png rename to src/pages/resources/assets/manage-spm-dependencies/add-package-collection-load.png diff --git a/src/pages/documentation/resources/assets/manage-spm-dependencies/add-package-collection.png b/src/pages/resources/assets/manage-spm-dependencies/add-package-collection.png similarity index 100% rename from src/pages/documentation/resources/assets/manage-spm-dependencies/add-package-collection.png rename to src/pages/resources/assets/manage-spm-dependencies/add-package-collection.png diff --git a/src/pages/documentation/resources/assets/manage-spm-dependencies/package-collection.png b/src/pages/resources/assets/manage-spm-dependencies/package-collection.png similarity index 100% rename from src/pages/documentation/resources/assets/manage-spm-dependencies/package-collection.png rename to src/pages/resources/assets/manage-spm-dependencies/package-collection.png diff --git a/src/pages/documentation/resources/faq.md b/src/pages/resources/faq.md similarity index 97% rename from src/pages/documentation/resources/faq.md rename to src/pages/resources/faq.md index 34d6008508..7e0806a735 100644 --- a/src/pages/documentation/resources/faq.md +++ b/src/pages/resources/faq.md @@ -138,7 +138,7 @@ Add the following rule to your custom ProGuard rules file, typically labeled `pr Implementing push notification tracking and measurement with the SDK depends on the Experience Cloud solution being used. * For the Adobe Campaign Standard extension, please read the [Adobe Campaign standard push tracking tutorial](https://experienceleague.adobe.com/docs/campaign-standard/using/administrating/configuring-mobile/push-tracking.html). -* For the Adobe Campaign Classic extension, please read the [Adobe Campaign Classic push notifications tracking tutorial](../solution-extensions/adobe-campaign-classic/api-reference.md#tracknotification-api). +* For the Adobe Campaign Classic extension, please read the [Adobe Campaign Classic push notifications tracking tutorial](../solution/adobe-campaign-classic/api-reference.md#tracknotification-api). ## Migrating to Android Mobile Core 2.x and compatible extensions @@ -227,7 +227,7 @@ To resolve the build warning, remove FullscreenMessageActivity from your applica ### Why do I see 'unresolved reference' error when upgrading Adobe Target SDK to the latest version? -The [latest version](../solution-extensions/adobe-target/release-notes.md#android-target-200) of Adobe Target Mobile SDK has the following breaking API changes for alignment with the iOS SDK: +The [latest version](../solution/adobe-target/release-notes.md#android-target-200) of Adobe Target Mobile SDK has the following breaking API changes for alignment with the iOS SDK: * **locationsDisplayed** is now **displayedLocations** * **locationClicked** is now **clickedLocation** @@ -281,7 +281,7 @@ Lifecycle metrics are out-of-the-box metrics that are automatically collected wh ## Adobe Analytics -See the [frequently asked questions for Analytics](../solution-extensions/adobe-analytics/faq.md). +See the [frequently asked questions for Analytics](../solution/adobe-analytics/faq.md). ## Adobe Experience Platform Edge Network diff --git a/src/pages/documentation/resources/index.md b/src/pages/resources/index.md similarity index 100% rename from src/pages/documentation/resources/index.md rename to src/pages/resources/index.md diff --git a/src/pages/documentation/resources/major-version-alignment.md b/src/pages/resources/major-version-alignment.md similarity index 100% rename from src/pages/documentation/resources/major-version-alignment.md rename to src/pages/resources/major-version-alignment.md diff --git a/src/pages/documentation/resources/manage-gradle-dependencies.md b/src/pages/resources/manage-gradle-dependencies.md similarity index 100% rename from src/pages/documentation/resources/manage-gradle-dependencies.md rename to src/pages/resources/manage-gradle-dependencies.md diff --git a/src/pages/documentation/resources/manage-spm-dependencies.md b/src/pages/resources/manage-spm-dependencies.md similarity index 100% rename from src/pages/documentation/resources/manage-spm-dependencies.md rename to src/pages/resources/manage-spm-dependencies.md diff --git a/src/pages/documentation/resources/privacy-and-gdpr.md b/src/pages/resources/privacy-and-gdpr.md similarity index 86% rename from src/pages/documentation/resources/privacy-and-gdpr.md rename to src/pages/resources/privacy-and-gdpr.md index ee74e477ca..b63790d6be 100644 --- a/src/pages/documentation/resources/privacy-and-gdpr.md +++ b/src/pages/resources/privacy-and-gdpr.md @@ -28,7 +28,7 @@ The two options are documented in detail below. -If you are using a mix of Edge Network and Adobe Experience Cloud mobile extensions, please follow the steps for configuring both consent and privacy status settings. See also the [frequently asked questions](../edge-extensions/identity-for-edge-network/faq.md) about consent and privacy settings or identities. +If you are using a mix of Edge Network and Adobe Experience Cloud mobile extensions, please follow the steps for configuring both consent and privacy status settings. See also the [frequently asked questions](../edge/identity-for-edge-network/faq.md) about consent and privacy settings or identities. ## Using Experience Platform SDKs for Edge Network @@ -44,7 +44,7 @@ You can set the collect consent status to ensure collection of data suits your u -Updating the collect consent status to No (n) does not reset or clear the identities of the current user. If you need to reset all current identities, use the [MobileCore.resetIdentities()](../home/base-extensions/mobile-core/api-reference.md#resetidentities) API. +Updating the collect consent status to No (n) does not reset or clear the identities of the current user. If you need to reset all current identities, use the [MobileCore.resetIdentities()](../home/base/mobile-core/api-reference.md#resetidentities) API. ### Collect consent settings @@ -88,11 +88,11 @@ iOS ### getIdentities -When using the Edge Network extensions, use the [Identity.getIdentities](../edge-extensions/identity-for-edge-network/api-reference.md#getidentities) API to retrieve all the identifier data stored locally by the SDK and send this data to your servers. +When using the Edge Network extensions, use the [Identity.getIdentities](../edge/identity-for-edge-network/api-reference.md#getidentities) API to retrieve all the identifier data stored locally by the SDK and send this data to your servers. ## Configuration keys -To programmatically update the SDK configuration, use the following information to change your default consent values. For more information, see the [configuration API reference](../home/base-extensions/mobile-core/configuration/api-reference.md). +To programmatically update the SDK configuration, use the following information to change your default consent values. For more information, see the [configuration API reference](../home/base/mobile-core/configuration/api-reference.md). | Key | Description | | :--- | :--------- | @@ -144,15 +144,15 @@ iOS ### getSdkIdentities -To retrieve all the identifier data stored locally by the SDK as a JSON string, use the [getSdkIdentities](../home/base-extensions/mobile-core/api-reference.md#getsdkidentities) API from the Mobile Core extension. +To retrieve all the identifier data stored locally by the SDK as a JSON string, use the [getSdkIdentities](../home/base/mobile-core/api-reference.md#getsdkidentities) API from the Mobile Core extension. -When using both Edge Network and Adobe Solutions extensions, use both [Identity.getIdentities](../edge-extensions/identity-for-edge-network/api-reference.md#getidentities) API and [MobileCore.getSdkIdentities](../home/base-extensions/mobile-core/api-reference.md#getsdkidentities) APIs to retrieve all the identifier data stored locally by the SDK. +When using both Edge Network and Adobe Solutions extensions, use both [Identity.getIdentities](../edge/identity-for-edge-network/api-reference.md#getidentities) API and [MobileCore.getSdkIdentities](../home/base/mobile-core/api-reference.md#getsdkidentities) APIs to retrieve all the identifier data stored locally by the SDK. ## Configuration keys -To update the SDK configuration, programmatically, use the following information to change your privacy configuration values. For more information, [Configuration API reference](../home/base-extensions/mobile-core/configuration/api-reference.md). +To update the SDK configuration, programmatically, use the following information to change your privacy configuration values. For more information, [Configuration API reference](../home/base/mobile-core/configuration/api-reference.md). | Key | Description | | :--- | :--- | diff --git a/src/pages/documentation/resources/privacy-announcement.md b/src/pages/resources/privacy-announcement.md similarity index 100% rename from src/pages/documentation/resources/privacy-announcement.md rename to src/pages/resources/privacy-announcement.md diff --git a/src/pages/documentation/resources/tabs/faq.md b/src/pages/resources/tabs/faq.md similarity index 100% rename from src/pages/documentation/resources/tabs/faq.md rename to src/pages/resources/tabs/faq.md diff --git a/src/pages/documentation/resources/tabs/privacy-and-gdpr.md b/src/pages/resources/tabs/privacy-and-gdpr.md similarity index 100% rename from src/pages/documentation/resources/tabs/privacy-and-gdpr.md rename to src/pages/resources/tabs/privacy-and-gdpr.md diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md b/src/pages/resources/upgrade-platform-sdks/analytics.md similarity index 76% rename from src/pages/documentation/resources/upgrade-platform-sdks/analytics.md rename to src/pages/resources/upgrade-platform-sdks/analytics.md index bc2a87232c..982a4d4455 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/analytics.md +++ b/src/pages/resources/upgrade-platform-sdks/analytics.md @@ -7,7 +7,7 @@ import Tabs from './tabs/analytics.md' The Adobe Experience Platform Analytics extension uses [tags](https://experience.adobe.com/#/data-collection/) to configure the Experience Platform SDKs. This replaces the ADBMobileConfig.json which the Mobile Services SDK used for configuration. To get started with the AEP SDKs: 1. Create a mobile property on tags.
See [Set up a mobile property](../../home/getting-started/create-a-mobile-property.md) for more information. -2. Configure your mobile app with the create mobile property.
The AEP Mobile Core extension provides general functionality required by all the Adobe AEP extensions. The Configuration extension is built into the Mobile Core and contains the configureWithAppId API. This API is used to link the tag mobile property with your mobile app. The documentation for this API can be seen at the [Configuration API Reference](../../home/base-extensions/mobile-core/configuration/api-reference.md#configurewithappid) page. A code sample showing the usage of this API is provided below. +2. Configure your mobile app with the create mobile property.
The AEP Mobile Core extension provides general functionality required by all the Adobe AEP extensions. The Configuration extension is built into the Mobile Core and contains the configureWithAppId API. This API is used to link the tag mobile property with your mobile app. The documentation for this API can be seen at the [Configuration API Reference](../../home/base/mobile-core/configuration/api-reference.md#configurewithappid) page. A code sample showing the usage of this API is provided below. 3. Once all the Platform extensions are imported and configured correctly, remove the v4 Mobile SDK dependency.
This step is mandatory and a mix of v4 and AEP API calls is not supported. @@ -29,14 +29,14 @@ For an overview of the API mapping between the Mobile Services SDK and Adobe Exp | API | Notes | |---|---| | trackActionFromBackground | Deprecated | -| trackLocation:data: | This functionality is available in the [Places extension](../../solution-extensions/places/index.md). | -| trackBeacon:Data: | Support modified. [See guide](../../solution-extensions/adobe-analytics/track-beacon.md). | -| trackingClearCurrentBeacon | Support modified. [See guide](../../solution-extensions/adobe-analytics/track-beacon.md). | -| trackLifetimeValueIncrease:data: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | -| trackTimedActionStart: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | -| trackTimedActionUpdate: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | -| trackTimedActionEnd: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | -| trackTimedActionExists: | This functionality can be recreated using the [Analytics](../../solution-extensions/adobe-analytics/index.md) and [User Profile](../../home/base-extensions/profile/index.md) extensions. | +| trackLocation:data: | This functionality is available in the [Places extension](../../solution/places/index.md). | +| trackBeacon:Data: | Support modified. [See guide](../../solution/adobe-analytics/track-beacon.md). | +| trackingClearCurrentBeacon | Support modified. [See guide](../../solution/adobe-analytics/track-beacon.md). | +| trackLifetimeValueIncrease:data: | This functionality can be recreated using the [Analytics](../../solution/adobe-analytics/index.md) and [User Profile](../../home/base/profile/index.md) extensions. | +| trackTimedActionStart: | This functionality can be recreated using the [Analytics](../../solution/adobe-analytics/index.md) and [User Profile](../../home/base/profile/index.md) extensions. | +| trackTimedActionUpdate: | This functionality can be recreated using the [Analytics](../../solution/adobe-analytics/index.md) and [User Profile](../../home/base/profile/index.md) extensions. | +| trackTimedActionEnd: | This functionality can be recreated using the [Analytics](../../solution/adobe-analytics/index.md) and [User Profile](../../home/base/profile/index.md) extensions. | +| trackTimedActionExists: | This functionality can be recreated using the [Analytics](../../solution/adobe-analytics/index.md) and [User Profile](../../home/base/profile/index.md) extensions. | ## Experience Platform extensions installation and setup @@ -54,7 +54,7 @@ iOS -For more details, see [Add Analytics to your application](../../solution-extensions/adobe-analytics/index.md#add-analytics-to-your-application). +For more details, see [Add Analytics to your application](../../solution/adobe-analytics/index.md#add-analytics-to-your-application). ## API changes diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md b/src/pages/resources/upgrade-platform-sdks/api-changelog.md similarity index 50% rename from src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md rename to src/pages/resources/upgrade-platform-sdks/api-changelog.md index 85fca19410..3bf4b6fdc7 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/api-changelog.md +++ b/src/pages/resources/upgrade-platform-sdks/api-changelog.md @@ -4,7 +4,7 @@ This page details SDK API changes between the Experience Platform SDKs and 4x SD ## Mobile Core APIs -For more information, see the [Mobile Core API reference](../../home/base-extensions/mobile-core/api-reference.md). +For more information, see the [Mobile Core API reference](../../home/base/mobile-core/api-reference.md). ### Supported APIs @@ -13,13 +13,13 @@ For more information, see the [Mobile Core API reference](../../home/base-extens | extensionVersion: | version/getVersion | | [getPrivacyStatus:](../privacy-and-gdpr.md#getprivacystatus) | privacyStatus | | [setPrivacyStatus:](../privacy-and-gdpr.md#setprivacystatus) | setPrivacyStatus: | -| [setLogLevel:](../../home/base-extensions/mobile-core/api-reference.md#setloglevel) | setDebugLogging: | -| [configureWithFileInPath:](../../home/base-extensions/mobile-core/configuration/api-reference.md/#configurewithfileinpath) | overrideConfigPath: | -| [setAppGroup:](../../home/base-extensions/mobile-core/api-reference.md#setappgroup) | setAppGroup: | -| [trackState:data:](../../home/base-extensions/mobile-core/api-reference.md#trackstate) | trackState:data: | -| [trackAction:data:](../../home/base-extensions/mobile-core/api-reference.md#trackaction) | trackAction:data: | -| [collectPII:](../../home/base-extensions/mobile-core/api-reference.md#collectpii) | collectPII: | -| [getSdkIdentities:](../../home/base-extensions/mobile-core/identity/api-reference.md#getsdkidentities) | getAllIdentifiersAsync: | +| [setLogLevel:](../../home/base/mobile-core/api-reference.md#setloglevel) | setDebugLogging: | +| [configureWithFileInPath:](../../home/base/mobile-core/configuration/api-reference.md/#configurewithfileinpath) | overrideConfigPath: | +| [setAppGroup:](../../home/base/mobile-core/api-reference.md#setappgroup) | setAppGroup: | +| [trackState:data:](../../home/base/mobile-core/api-reference.md#trackstate) | trackState:data: | +| [trackAction:data:](../../home/base/mobile-core/api-reference.md#trackaction) | trackAction:data: | +| [collectPII:](../../home/base/mobile-core/api-reference.md#collectpii) | collectPII: | +| [getSdkIdentities:](../../home/base/mobile-core/identity/api-reference.md#getsdkidentities) | getAllIdentifiersAsync: | ### Deprecated APIs and functionality @@ -27,7 +27,7 @@ For more information, see the [Mobile Core API reference](../../home/base-extens |---|---| | trackActionFromBackground | Deprecated | | trackLocation:data: | Deprecated | -| trackBeacon:Data: | Support modified. See [guide](../../solution-extensions/adobe-analytics/track-beacon.md) | +| trackBeacon:Data: | Support modified. See [guide](../../solution/adobe-analytics/track-beacon.md) | | trackingClearCurrentBeacon | Deprecated | | registerAdobeDataCallback: | Deprecated | | lifetimeValue | Deprecated | @@ -45,15 +45,15 @@ For more information, see the [Mobile Core API reference](../../home/base-extens -In the v4 iOS SDK, Lifecycle start and stop calls are made automatically by the SDK. In the Adobe Experience Platform Mobile SDK, the calls to start and stop lifecycle need to be made by the application developer. For more information, see the [Lifecycle extension](../../home/base-extensions/mobile-core/lifecycle/index.md). +In the v4 iOS SDK, Lifecycle start and stop calls are made automatically by the SDK. In the Adobe Experience Platform Mobile SDK, the calls to start and stop lifecycle need to be made by the application developer. For more information, see the [Lifecycle extension](../../home/base/mobile-core/lifecycle/index.md). -For more information, see the [Lifecycle API reference](../../home/base-extensions/mobile-core/lifecycle/api-reference.md). +For more information, see the [Lifecycle API reference](../../home/base/mobile-core/lifecycle/api-reference.md). | Experience Platform SDK | 4x SDK | |---|---| -| [lifecycleStart:](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleData | -| [lifecycleStart:](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleWithAdditionalData | -| [lifecyclePause](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) | pauseCollectingLifecycleData (Android only) | +| [lifecycleStart:](../../home/base/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleData | +| [lifecycleStart:](../../home/base/mobile-core/lifecycle/api-reference.md#lifecyclestart) | collectLifecycleWithAdditionalData | +| [lifecyclePause](../../home/base/mobile-core/lifecycle/api-reference.md#lifecyclepause) | pauseCollectingLifecycleData (Android only) | ### Deprecated APIs @@ -69,42 +69,42 @@ For more information, see the [Identity API reference](../../base-extensions-mob | Experience Platform SDK | 4x SDK | |---|---| -| [setPushIdentifier:](../../home/base-extensions/mobile-core/identity/api-reference.md#setpushidentifier) | setPushIdentifier | -| [setAdvertisingIdentifier:](../../home/base-extensions/mobile-core/identity/api-reference.md#setadvertisingidentifier) | setAdvertisingIdentifier | -| [getExperienceCloudId:](../../home/base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) | visitorMarketingCloudID | -| [syncIdentifiers:](../../home/base-extensions/mobile-core/identity/api-reference.md#syncidentifiers) | visitorSyncIdentifiers | -| [syncIdentifiers:authentication:](../../home/base-extensions/mobile-core/identity/api-reference.md#syncidentifiers-overloaded) | visitorSyncIdentifiers:authenticationState: | -| [syncIdentifier:identifier:authentication:](../../home/base-extensions/mobile-core/identity/api-reference.md#syncidentifier) |visitorSyncIdentifiersWithType:identifier:authenticationState: | -| [getIdentifiers](../../home/base-extensions/mobile-core/identity/api-reference.md#getidentifiers) | visitorGetIDs | -| [appendToURL:withCallback:](../../home/base-extensions/mobile-core/identity/api-reference.md#appendtourl--appendvisitorinfoforurl) | visitorAppendToURL: | -| [getUrlVariables](../../home/base-extensions/mobile-core/identity/api-reference.md#geturlvariables) | visitorGetUrlVariablesAsync: | +| [setPushIdentifier:](../../home/base/mobile-core/identity/api-reference.md#setpushidentifier) | setPushIdentifier | +| [setAdvertisingIdentifier:](../../home/base/mobile-core/identity/api-reference.md#setadvertisingidentifier) | setAdvertisingIdentifier | +| [getExperienceCloudId:](../../home/base/mobile-core/identity/api-reference.md#getexperiencecloudid) | visitorMarketingCloudID | +| [syncIdentifiers:](../../home/base/mobile-core/identity/api-reference.md#syncidentifiers) | visitorSyncIdentifiers | +| [syncIdentifiers:authentication:](../../home/base/mobile-core/identity/api-reference.md#syncidentifiers-overloaded) | visitorSyncIdentifiers:authenticationState: | +| [syncIdentifier:identifier:authentication:](../../home/base/mobile-core/identity/api-reference.md#syncidentifier) |visitorSyncIdentifiersWithType:identifier:authenticationState: | +| [getIdentifiers](../../home/base/mobile-core/identity/api-reference.md#getidentifiers) | visitorGetIDs | +| [appendToURL:withCallback:](../../home/base/mobile-core/identity/api-reference.md#appendtourl--appendvisitorinfoforurl) | visitorAppendToURL: | +| [getUrlVariables](../../home/base/mobile-core/identity/api-reference.md#geturlvariables) | visitorGetUrlVariablesAsync: | ## Adobe Analytics extension APIs -For more information, see the [Analytics API reference](../../solution-extensions/adobe-analytics/api-reference.md). +For more information, see the [Analytics API reference](../../solution/adobe-analytics/api-reference.md). ### Supported APIs | Experience Platform SDK | 4x SDK | |---|---| -| [getVisitorIdentifier:](../../solution-extensions/adobe-analytics/api-reference.md#getvisitoridentifier) | getUserIdentifier | -| [setVisitorIdentifier:](../../solution-extensions/adobe-analytics/api-reference.md#setvisitoridentifier) | setUserIdentifier | -| [getTrackingIdentifier:](../../solution-extensions/adobe-analytics/api-reference.md#gettrackingidentifier) | trackingIdentifier | -| [sendQueuedHits:](../../solution-extensions/adobe-analytics/api-reference.md#sendqueuedhits) | trackingSendQueuedHits | -| [clearQueue](../../solution-extensions/adobe-analytics/api-reference.md#clearqueue) | trackingClearQueue | -| [getQueueSize](../../solution-extensions/adobe-analytics/api-reference.md#getqueuesize) | trackingGetQueueSize | +| [getVisitorIdentifier:](../../solution/adobe-analytics/api-reference.md#getvisitoridentifier) | getUserIdentifier | +| [setVisitorIdentifier:](../../solution/adobe-analytics/api-reference.md#setvisitoridentifier) | setUserIdentifier | +| [getTrackingIdentifier:](../../solution/adobe-analytics/api-reference.md#gettrackingidentifier) | trackingIdentifier | +| [sendQueuedHits:](../../solution/adobe-analytics/api-reference.md#sendqueuedhits) | trackingSendQueuedHits | +| [clearQueue](../../solution/adobe-analytics/api-reference.md#clearqueue) | trackingClearQueue | +| [getQueueSize](../../solution/adobe-analytics/api-reference.md#getqueuesize) | trackingGetQueueSize | ## Adobe Audience Manager extension APIs -For more information, see the [Audience Manager Extension API reference](../../solution-extensions/adobe-audience-manager/api-reference.md). +For more information, see the [Audience Manager Extension API reference](../../solution/adobe-audience-manager/api-reference.md). ### Supported APIs | Experience Platform SDK | 4x SDK | |---|---| -| [​getVisitorProfile:​](../../solution-extensions/adobe-audience-manager/api-reference.md#getvisitorprofile) | audienceVisitorProfile | -| [​signalWithData:callback:​](../../solution-extensions/adobe-audience-manager/api-reference.md#signalwithdata) | audienceSignalWithData:callback | -| [​reset​](../../solution-extensions/adobe-audience-manager/api-reference.md#reset-identifiers-and-profiles) | audienceReset | +| [​getVisitorProfile:​](../../solution/adobe-audience-manager/api-reference.md#getvisitorprofile) | audienceVisitorProfile | +| [​signalWithData:callback:​](../../solution/adobe-audience-manager/api-reference.md#signalwithdata) | audienceSignalWithData:callback | +| [​reset​](../../solution/adobe-audience-manager/api-reference.md#reset-identifiers-and-profiles) | audienceReset | ### Deprecated APIs @@ -116,7 +116,7 @@ For more information, see the [Audience Manager Extension API reference](../../s ​## Adobe Target extension APIs -For more information see [Target API reference](../../solution-extensions/adobe-target/api-reference.md). +For more information see [Target API reference](../../solution/adobe-target/api-reference.md). ### Supported APIs diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md b/src/pages/resources/upgrade-platform-sdks/comparison.md similarity index 93% rename from src/pages/documentation/resources/upgrade-platform-sdks/comparison.md rename to src/pages/resources/upgrade-platform-sdks/comparison.md index 77920e2e63..c0377fe0e8 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/comparison.md +++ b/src/pages/resources/upgrade-platform-sdks/comparison.md @@ -43,14 +43,14 @@ The following tables provide information about the differences between the new E | Functionality | 4x SDK | Experience Platform SDK | |---|---|---| -| Postbacks - Get/POST URL requests | Yes | Yes - [Signals](../../home/base-extensions/mobile-core/signal/index.md) extension | -| Postbacks - PII Get/POST URL requests | Yes | Yes - [Signals](../../home/base-extensions/mobile-core/signal/index.md) extension | -| Postbacks - Open app deeplink | Yes | Yes - [Signals](../../home/base-extensions/mobile-core/signal/index.md) extension | +| Postbacks - Get/POST URL requests | Yes | Yes - [Signals](../../home/base/mobile-core/signal/index.md) extension | +| Postbacks - PII Get/POST URL requests | Yes | Yes - [Signals](../../home/base/mobile-core/signal/index.md) extension | +| Postbacks - Open app deeplink | Yes | Yes - [Signals](../../home/base/mobile-core/signal/index.md) extension | | Push Messaging | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated) | | In-app Messaging | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated) | | Marketing/Acquisition Links | Yes | Yes - [Mobile Services](https://developer.adobe.com/client-sdks/previous-versions/documentation/adobe-analytics-mobile-services/) extension (deprecated)| -| Geo location and beacon tracking | Yes | Yes - [Places extension](../../solution-extensions/places/index.md) | -| Geo points-of-interest management | Yes | Yes - [Places extension](../../solution-extensions/places/index.md) | +| Geo location and beacon tracking | Yes | Yes - [Places extension](../../solution/places/index.md) | +| Geo points-of-interest management | Yes | Yes - [Places extension](../../solution/places/index.md) | ### Adobe Audience Manager diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/index.md b/src/pages/resources/upgrade-platform-sdks/index.md similarity index 96% rename from src/pages/documentation/resources/upgrade-platform-sdks/index.md rename to src/pages/resources/upgrade-platform-sdks/index.md index 4d07096b21..4009170b9a 100644 --- a/src/pages/documentation/resources/upgrade-platform-sdks/index.md +++ b/src/pages/resources/upgrade-platform-sdks/index.md @@ -34,7 +34,7 @@ The Experience Platform SDKs contain breaking changes from the version 4 SDKs.Mobile Core contains core SDK functionality that is required for all implementations that require Adobe and/or third-party extensions. +* The Experience Platform SDKs introduce the [Mobile Core](../../home/base/mobile-core/index.md) and constituent extensions.
Mobile Core contains core SDK functionality that is required for all implementations that require Adobe and/or third-party extensions. * The Mobile Core and other extensions are configured in the Data Collection UI in a mobile property.
When published, the Data Collection UI hosts this property configuration and makes it for your SDK implementation. * You decide which SDK extensions to add, configure, and ultimately include in your app project.
This provides the flexibility to customize your implementations.
**Important:** Some extensions depend on others for proper functioning, and these are documented where applicable. * We recommend that you ease your build process by use supported dependency managers, such as Gradle for Android and Cocoapods for iOS. The Data Collection UI provides inline instructions and specs to help you with this process. diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/lifecycle.md b/src/pages/resources/upgrade-platform-sdks/lifecycle.md similarity index 100% rename from src/pages/documentation/resources/upgrade-platform-sdks/lifecycle.md rename to src/pages/resources/upgrade-platform-sdks/lifecycle.md diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/tabs/analytics.md b/src/pages/resources/upgrade-platform-sdks/tabs/analytics.md similarity index 100% rename from src/pages/documentation/resources/upgrade-platform-sdks/tabs/analytics.md rename to src/pages/resources/upgrade-platform-sdks/tabs/analytics.md diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/tabs/lifecycle.md b/src/pages/resources/upgrade-platform-sdks/tabs/lifecycle.md similarity index 100% rename from src/pages/documentation/resources/upgrade-platform-sdks/tabs/lifecycle.md rename to src/pages/resources/upgrade-platform-sdks/tabs/lifecycle.md diff --git a/src/pages/documentation/resources/upgrade-platform-sdks/v4-faq.md b/src/pages/resources/upgrade-platform-sdks/v4-faq.md similarity index 100% rename from src/pages/documentation/resources/upgrade-platform-sdks/v4-faq.md rename to src/pages/resources/upgrade-platform-sdks/v4-faq.md diff --git a/src/pages/documentation/resources/user-guides/app-extension.md b/src/pages/resources/user-guides/app-extension.md similarity index 100% rename from src/pages/documentation/resources/user-guides/app-extension.md rename to src/pages/resources/user-guides/app-extension.md diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/rule-complete.png b/src/pages/resources/user-guides/assets/attach-data/rule-complete.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/rule-complete.png rename to src/pages/resources/user-guides/assets/attach-data/rule-complete.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/set-action.png b/src/pages/resources/user-guides/assets/attach-data/set-action.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/set-action.png rename to src/pages/resources/user-guides/assets/attach-data/set-action.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/set-event.png b/src/pages/resources/user-guides/assets/attach-data/set-event.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/set-event.png rename to src/pages/resources/user-guides/assets/attach-data/set-event.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-data-element-setup.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-data-element-setup.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-data-element-setup.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-data-element-setup.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-clicked.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup-location-displayed.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup-prefetch.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-event-setup.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-event-setup.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-json-example-location-clicked.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-clicked.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-location-displayed.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup-prefetch.png diff --git a/src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup.png b/src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/attach-data/target-attach-data-rule-setup.png rename to src/pages/resources/user-guides/assets/attach-data/target-attach-data-rule-setup.png diff --git a/src/pages/documentation/resources/user-guides/assets/modify-data/rule-complete-modify-data.png b/src/pages/resources/user-guides/assets/modify-data/rule-complete-modify-data.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/modify-data/rule-complete-modify-data.png rename to src/pages/resources/user-guides/assets/modify-data/rule-complete-modify-data.png diff --git a/src/pages/documentation/resources/user-guides/assets/modify-data/set-action-analytics.png b/src/pages/resources/user-guides/assets/modify-data/set-action-analytics.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/modify-data/set-action-analytics.png rename to src/pages/resources/user-guides/assets/modify-data/set-action-analytics.png diff --git a/src/pages/documentation/resources/user-guides/assets/modify-data/set-action-json.png b/src/pages/resources/user-guides/assets/modify-data/set-action-json.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/modify-data/set-action-json.png rename to src/pages/resources/user-guides/assets/modify-data/set-action-json.png diff --git a/src/pages/documentation/resources/user-guides/assets/modify-data/set-event.png b/src/pages/resources/user-guides/assets/modify-data/set-event.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/modify-data/set-event.png rename to src/pages/resources/user-guides/assets/modify-data/set-event.png diff --git a/src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png b/src/pages/resources/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png rename to src/pages/resources/user-guides/assets/tags-data-elements/data-elements-create-data-element-ecid.png diff --git a/src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-rule.png b/src/pages/resources/user-guides/assets/tags-data-elements/data-elements-create-rule.png similarity index 100% rename from src/pages/documentation/resources/user-guides/assets/tags-data-elements/data-elements-create-rule.png rename to src/pages/resources/user-guides/assets/tags-data-elements/data-elements-create-rule.png diff --git a/src/pages/documentation/resources/user-guides/attach-data.md b/src/pages/resources/user-guides/attach-data.md similarity index 86% rename from src/pages/documentation/resources/user-guides/attach-data.md rename to src/pages/resources/user-guides/attach-data.md index f6a289c7fd..8504761284 100644 --- a/src/pages/documentation/resources/user-guides/attach-data.md +++ b/src/pages/resources/user-guides/attach-data.md @@ -14,9 +14,9 @@ import AttachingDataTarget from './tabs/attach-data/attaching-data/target.md' # Attach data to SDK events -The attach data_rule action is supported in [Mobile Core](../../home/base-extensions/mobile-core/index.md) starting from version 2.1.8 (Launch), 2.3.5 (iOS), and 1.4.5 (Android). This action is powerful, complex, and enables advanced use cases. +The attach data_rule action is supported in [Mobile Core](../../home/base/mobile-core/index.md) starting from version 2.1.8 (Launch), 2.3.5 (iOS), and 1.4.5 (Android). This action is powerful, complex, and enables advanced use cases. -To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../home/base-extensions/mobile-core/rules-engine/index.md). +To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../home/base/mobile-core/rules-engine/index.md). ## Context @@ -30,7 +30,7 @@ In the Experience Platform Mobile SDK, events hold all the data that is required | Source | Indicates the cause or the directionality of the event. For example, a request or a response. | | Event data | The data required to define the event. For example, context data on an Analytics event. | -Extensions that register with [Mobile Core](../../home/base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. +Extensions that register with [Mobile Core](../../home/base/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. ### How are events created in the SDK? diff --git a/src/pages/documentation/resources/user-guides/building-mobile-extensions.md b/src/pages/resources/user-guides/building-mobile-extensions.md similarity index 100% rename from src/pages/documentation/resources/user-guides/building-mobile-extensions.md rename to src/pages/resources/user-guides/building-mobile-extensions.md diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-connection.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/overview/commerce-assurance-login.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/overview/commerces-session-details.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/create-datastream.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/overview/create-datastream.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/create-datastream.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/overview/create-datastream.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/development-icon.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/overview/development-icon.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/development-icon.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/overview/development-icon.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/overview/enable-datastreams.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/overview/xdm-schema-example.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/rules-and-xdm-events/rule-xdm-event-type.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/development-icon.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png b/src/pages/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png rename to src/pages/resources/user-guides/getting-started-with-platform/assets/sample-xdm-implementation/xdm-product-review.png diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md b/src/pages/resources/user-guides/getting-started-with-platform/overview.md similarity index 97% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md rename to src/pages/resources/user-guides/getting-started-with-platform/overview.md index 5a3fa68ce6..fbc4a1e598 100644 --- a/src/pages/documentation/resources/user-guides/getting-started-with-platform/overview.md +++ b/src/pages/resources/user-guides/getting-started-with-platform/overview.md @@ -63,7 +63,7 @@ To create a configuration identifier use the following steps: * Select `Add service` and from the drop-down select `Adobe Experience Platform`. - * For the `Event Dataset`, select the XDM dataset you created in [Initialize Adobe Experience Platform for data collection](../../../edge-extensions/edge-network/index.md). + * For the `Event Dataset`, select the XDM dataset you created in [Initialize Adobe Experience Platform for data collection](../../../edge/edge-network/index.md). * Click `Save`. ![](./assets/overview/enable-datastreams.png) @@ -72,7 +72,7 @@ To create a configuration identifier use the following steps: As a prerequisite, the Adobe Experience Platform Edge extension requires the successful implementation of the Adobe Experience Platform Mobile SDK - [Mobile Core](../../mobile-core/index.md). -Experience Edge extension relies on the [Mobile Core](../../../home/base-extensions/mobile-core/index.md) for the transmission of events, managing identity (ECID), and triggering client-side rules based on XDM. +Experience Edge extension relies on the [Mobile Core](../../../home/base/mobile-core/index.md) for the transmission of events, managing identity (ECID), and triggering client-side rules based on XDM. 1. First, follow the steps in the [set up a mobile property tutorial](../../../home/getting-started/create-a-mobile-property.md) in the Data Collection UI. 2. Install the `Adobe Experience Platform Edge` extension from the Catalog. @@ -184,7 +184,7 @@ AEP Assurance (formerly known as Project Griffon) is a product from Adobe that l ![](./assets/overview/commerce-assurance-connection.png) 7. Once connected to Assurance, you will see a Platform icon in red color on the top right corner of the app view. The color of the Platform icon becomes gray if the connectivity to Assurance server is lost for any reason. In this case, you want to reconnect to continue to see the session in the UI. -8. In the Assurance session, you should now start seeing events populating the Events List. When clicking the `Purchase` button from the `Edge` tab, you should see the Experience events sent to Experience Edge. For more details, refer to [Event types handled by the AEP Mobile extension](../../../edge-extensions/edge-network/validation.md). +8. In the Assurance session, you should now start seeing events populating the Events List. When clicking the `Purchase` button from the `Edge` tab, you should see the Experience events sent to Experience Edge. For more details, refer to [Event types handled by the AEP Mobile extension](../../../edge/edge-network/validation.md). To check the XDM Experience event was successfully validated, check that the `validation for the given event was successful` message is present in the `service com.adobe.streaming.validation` event. @@ -225,7 +225,7 @@ Use the `sendPurchaseXDMEvent` as an example and Assurance to validate that the ## Next steps -If you would like to explore other XDM schemas for your mobile use-case, find more details in the [Adobe Experience Platform - Experience Edge](../../../edge-extensions/edge-network/index.md) page. +If you would like to explore other XDM schemas for your mobile use-case, find more details in the [Adobe Experience Platform - Experience Edge](../../../edge/edge-network/index.md) page. To learn more about Experience Data Model (XDM), schemas, datasets, and field groups, read [XDM System overview](https://experienceleague.adobe.com/docs/experience-platform/xdm/home.html). diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md b/src/pages/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md similarity index 97% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md rename to src/pages/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md index 075941ea13..7f5075fd6e 100644 --- a/src/pages/documentation/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md +++ b/src/pages/resources/user-guides/getting-started-with-platform/rules-and-xdm-events.md @@ -109,7 +109,7 @@ Add a new rule in the Data Collection UI or update the one created in the previo ### Next steps -Find more details about the Adobe Experience Platform Mobile SDK Rules Engine and the supported rule types, please read the [Rules Engine documentation](../../../home/base-extensions/mobile-core/rules-engine/index.md) and the [Rules Engine GitHub](https://github.com/adobe/aepsdk-rulesengine-ios). +Find more details about the Adobe Experience Platform Mobile SDK Rules Engine and the supported rule types, please read the [Rules Engine documentation](../../../home/base/mobile-core/rules-engine/index.md) and the [Rules Engine GitHub](https://github.com/adobe/aepsdk-rulesengine-ios). For more rules examples in the Data Collection UI, see the following links: diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md b/src/pages/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md rename to src/pages/resources/user-guides/getting-started-with-platform/sample-xdm-implementation.md diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md b/src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md rename to src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/android.md diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md b/src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md rename to src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/build-xdm-objects/ios.md diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md b/src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md rename to src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/android.md diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md b/src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md rename to src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/download-sample-application/ios.md diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md b/src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md rename to src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/android.md diff --git a/src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md b/src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md similarity index 100% rename from src/pages/documentation/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md rename to src/pages/resources/user-guides/getting-started-with-platform/tabs/sample-xdm-implementation/override-default-dataset/ios.md diff --git a/src/pages/documentation/resources/user-guides/index.md b/src/pages/resources/user-guides/index.md similarity index 100% rename from src/pages/documentation/resources/user-guides/index.md rename to src/pages/resources/user-guides/index.md diff --git a/src/pages/documentation/resources/user-guides/modify-data.md b/src/pages/resources/user-guides/modify-data.md similarity index 92% rename from src/pages/documentation/resources/user-guides/modify-data.md rename to src/pages/resources/user-guides/modify-data.md index 1823e5fabe..e539be1e94 100644 --- a/src/pages/documentation/resources/user-guides/modify-data.md +++ b/src/pages/resources/user-guides/modify-data.md @@ -10,9 +10,9 @@ keywords: # Modify data in SDK events -The modify data rule action is supported in [Mobile Core](../../home/base-extensions/mobile-core/index.md) starting from version 2.1.14 (Launch), version 2.7.0 (iOS), and 1.5.5 (Android). This action is powerful, complex, and enables advanced use cases. +The modify data rule action is supported in [Mobile Core](../../home/base/mobile-core/index.md) starting from version 2.1.14 (Launch), version 2.7.0 (iOS), and 1.5.5 (Android). This action is powerful, complex, and enables advanced use cases. -To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../home/base-extensions/mobile-core/rules-engine/index.md). +To use this action, you need to learn how events flow in the Adobe Experience Platform Mobile SDK and how they interact with the [rules engine](../../home/base/mobile-core/rules-engine/index.md). ## Context @@ -26,7 +26,7 @@ In the Experience Platform Mobile SDK, events hold all the data that is required | Source | Indicates the cause of or directionality of the event. For example, a request or a response. | | Event data | Additional data is required to define the event. For example, context data on an Analytics event. | -Extensions that register with [Mobile Core](../../home/base-extensions/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. +Extensions that register with [Mobile Core](../../home/base/mobile-core/index.md) will also register event listeners. A listener is defined by a combination of event type and source. When the SDK event hub processes an event, it notifies all listeners that match the provided combination. ### How are events created in the SDK? diff --git a/src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/analytics.md b/src/pages/resources/user-guides/tabs/attach-data/attaching-data/analytics.md similarity index 100% rename from src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/analytics.md rename to src/pages/resources/user-guides/tabs/attach-data/attaching-data/analytics.md diff --git a/src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/target.md b/src/pages/resources/user-guides/tabs/attach-data/attaching-data/target.md similarity index 100% rename from src/pages/documentation/resources/user-guides/tabs/attach-data/attaching-data/target.md rename to src/pages/resources/user-guides/tabs/attach-data/attaching-data/target.md diff --git a/src/pages/documentation/resources/user-guides/tags-data-elements.md b/src/pages/resources/user-guides/tags-data-elements.md similarity index 96% rename from src/pages/documentation/resources/user-guides/tags-data-elements.md rename to src/pages/resources/user-guides/tags-data-elements.md index fa2054213b..49ba275a13 100644 --- a/src/pages/documentation/resources/user-guides/tags-data-elements.md +++ b/src/pages/resources/user-guides/tags-data-elements.md @@ -22,7 +22,7 @@ You can use data elements during rule creation to consolidate the definition of As a best practice, you should reuse data elements. -Data elements are building blocks for rules and allow you create a data dictionary of commonly used data in the Experience Platform Mobile SDK, regardless of where they originate (shared state, event data) or which extension creates them. Data elements are populated with data when they are processed in the [Rules Engine](../../home/base-extensions/mobile-core/rules-engine/index.md). +Data elements are building blocks for rules and allow you create a data dictionary of commonly used data in the Experience Platform Mobile SDK, regardless of where they originate (shared state, event data) or which extension creates them. Data elements are populated with data when they are processed in the [Rules Engine](../../home/base/mobile-core/rules-engine/index.md). To use data elements at a high level, complete the following steps: @@ -81,10 +81,10 @@ After the property is published, this new rule is made available for download by Here is some additional information about the Rules Engine and the Signal extension: -* [Rules Engine](../../home/base-extensions/mobile-core/rules-engine/index.md) +* [Rules Engine](../../home/base/mobile-core/rules-engine/index.md) An overview and technical details of the Experience Platform Mobile SDK Rules Engine. -* [Signal extension and Rules Engine integration](../../home/base-extensions/mobile-core/signal/rules-engine-integration.md) +* [Signal extension and Rules Engine integration](../../home/base/mobile-core/signal/rules-engine-integration.md) This section provides an example of how to create rules to trigger actions in the Signals extension. diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md b/src/pages/solution/adobe-analytics/api-reference.md similarity index 94% rename from src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md rename to src/pages/solution/adobe-analytics/api-reference.md index 5211f70f52..b82addd596 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/api-reference.md +++ b/src/pages/solution/adobe-analytics/api-reference.md @@ -96,7 +96,7 @@ Retrieves the Analytics tracking identifier that is generated for this app/devic -If you have an [Experience Cloud ID](../../home/base-extensions/mobile-core/identity/api-reference.md#getexperiencecloudid) and have not yet configured a visitor ID grace period, the value returned by `getTrackingIdentifier` may be null. +If you have an [Experience Cloud ID](../../home/base/mobile-core/identity/api-reference.md#getexperiencecloudid) and have not yet configured a visitor ID grace period, the value returned by `getTrackingIdentifier` may be null. @@ -142,7 +142,7 @@ Registers the Analytics extension with the Mobile Core SDK. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. @@ -156,7 +156,7 @@ Clears the identities stored in the Analytics extension - `tracking identifier ( -Support for this API was added in:
  • Android Analytics version 1.2.9
  • iOS AEPAnalytics version 3.0.3

See [MobileCore.resetIdentities](../../home/base-extensions/mobile-core/api-reference.md#resetidentities) for more details. +Support for this API was added in:
  • Android Analytics version 1.2.9
  • iOS AEPAnalytics version 3.0.3

See [MobileCore.resetIdentities](../../home/base/mobile-core/api-reference.md#resetidentities) for more details. ## sendQueuedHits diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/compareWorkflows.png b/src/pages/solution/adobe-analytics/assets/index/compareWorkflows.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/index/compareWorkflows.png rename to src/pages/solution/adobe-analytics/assets/index/compareWorkflows.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-company.png b/src/pages/solution/adobe-analytics/assets/index/mobile-analytics-company.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-company.png rename to src/pages/solution/adobe-analytics/assets/index/mobile-analytics-company.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-configuration.png b/src/pages/solution/adobe-analytics/assets/index/mobile-analytics-configuration.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/index/mobile-analytics-configuration.png rename to src/pages/solution/adobe-analytics/assets/index/mobile-analytics-configuration.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/index/workflow.png b/src/pages/solution/adobe-analytics/assets/index/workflow.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/index/workflow.png rename to src/pages/solution/adobe-analytics/assets/index/workflow.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/product-variable/map-products.png b/src/pages/solution/adobe-analytics/assets/product-variable/map-products.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/product-variable/map-products.png rename to src/pages/solution/adobe-analytics/assets/product-variable/map-products.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-condition.png b/src/pages/solution/adobe-analytics/assets/track-beacon/beacon-condition.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-condition.png rename to src/pages/solution/adobe-analytics/assets/track-beacon/beacon-condition.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-data-element.png b/src/pages/solution/adobe-analytics/assets/track-beacon/beacon-data-element.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-data-element.png rename to src/pages/solution/adobe-analytics/assets/track-beacon/beacon-data-element.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-rule.png b/src/pages/solution/adobe-analytics/assets/track-beacon/beacon-rule.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-rule.png rename to src/pages/solution/adobe-analytics/assets/track-beacon/beacon-rule.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-token-replacement.png b/src/pages/solution/adobe-analytics/assets/track-beacon/beacon-token-replacement.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/assets/track-beacon/beacon-token-replacement.png rename to src/pages/solution/adobe-analytics/assets/track-beacon/beacon-token-replacement.png diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md b/src/pages/solution/adobe-analytics/event-reference.md similarity index 98% rename from src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md rename to src/pages/solution/adobe-analytics/event-reference.md index 371e4388e3..40a6eea801 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/event-reference.md +++ b/src/pages/solution/adobe-analytics/event-reference.md @@ -80,7 +80,7 @@ The following events are handled by the Adobe Analytics extension: ### Generic track content request -This event is a request to complete processing on the Analytics hits queue. The event will be created when either of the [`trackAction`](../../home/base-extensions/mobile-core/api-reference.md#trackaction) or [`trackState`](../../home/base-extensions/mobile-core/api-reference.md#trackstate) APIs is called. +This event is a request to complete processing on the Analytics hits queue. The event will be created when either of the [`trackAction`](../../home/base/mobile-core/api-reference.md#trackaction) or [`trackState`](../../home/base/mobile-core/api-reference.md#trackstate) APIs is called. The Analytics extension receives and processes the following keys in a generic track content request event: @@ -309,7 +309,7 @@ Note that the data may contain other custom key-value pairs that are **not** def ### Lifecycle request content -This event represents a request to the Lifecycle extension to start or stop collecting data and is generated when [lifecycleStart](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclestart) and [lifecyclePause()](../../home/base-extensions/mobile-core/lifecycle/api-reference.md#lifecyclepause) are used. +This event represents a request to the Lifecycle extension to start or stop collecting data and is generated when [lifecycleStart](../../home/base/mobile-core/lifecycle/api-reference.md#lifecyclestart) and [lifecyclePause()](../../home/base/mobile-core/lifecycle/api-reference.md#lifecyclepause) are used. The Analytics extension only listens for the Lifecycle start event, and the Analytics database queue should be paused for up to 1000 milliseconds, which is the default value for `DEFAULT_LIFECYCLE_RESPONSE_WAIT_TIMEOUT`. diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/faq.md b/src/pages/solution/adobe-analytics/faq.md similarity index 90% rename from src/pages/documentation/solution-extensions/adobe-analytics/faq.md rename to src/pages/solution/adobe-analytics/faq.md index fdabb87843..b922f85fcb 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/faq.md +++ b/src/pages/solution/adobe-analytics/faq.md @@ -27,12 +27,12 @@ If you see SDK identifiers unexpectedly change, try the following fixes to addre The metric `Crashes` is computed based on the Lifecycle start and pause API calls implemented in your mobile application. How can you verify if the implementation is correct: * Ensure that the Lifecycle extension is registered. -* Verify that both MobileCore APIs `lifecycleStart` and `lifecyclePause` are implemented in the application based on the recommended settings for each platform. See the [guide for registering Lifecycle with MobileCore and adding appropriate start/pause calls](../../home/base-extensions/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-startpause-calls). -* For more details, see also [Tracking app crashes in iOS](../../home/base-extensions/mobile-core/lifecycle/ios.md#tracking-app-crashes-in-ios) and [Android](../../home/base-extensions/mobile-core/lifecycle/android.md#tracking-app-crashes-in-android). +* Verify that both MobileCore APIs `lifecycleStart` and `lifecyclePause` are implemented in the application based on the recommended settings for each platform. See the [guide for registering Lifecycle with MobileCore and adding appropriate start/pause calls](../../home/base/mobile-core/lifecycle/index.md#register-lifecycle-with-mobile-core-and-add-appropriate-startpause-calls). +* For more details, see also [Tracking app crashes in iOS](../../home/base/mobile-core/lifecycle/ios.md#tracking-app-crashes-in-ios) and [Android](../../home/base/mobile-core/lifecycle/android.md#tracking-app-crashes-in-android). ## How are mobile visits different from launches? -A launch is measured by the SDK when a user opens the app for the first time or returns to the app after having been out of the app for longer than the specified timeout value. The typical timeout is 5 minutes (300 seconds) in the [lifecycleTimeout](../../home/base-extensions/mobile-core/lifecycle/index.md#device-information) configuration setting. +A launch is measured by the SDK when a user opens the app for the first time or returns to the app after having been out of the app for longer than the specified timeout value. The typical timeout is 5 minutes (300 seconds) in the [lifecycleTimeout](../../home/base/mobile-core/lifecycle/index.md#device-information) configuration setting. A visit is a server-side calculation by Adobe Analytics and is based on the first and last data hits that are sent by the SDK without exceeding a visit timeout. Typically, session timeouts are set at 30 minutes for a report suite. Although visits come from traditional web analytics, these hits still provide valuable insights into how users enter and exit from your app. @@ -46,7 +46,7 @@ If you have followed the documentation and are unable to see reporting data in y ### Verify that the Analytics extension is registered -The [Analytics extension](./index.md) and its dependent [Identity extension](../../home/base-extensions/mobile-core/identity/index.md) should be registered and configured correctly for the SDK to start processing trackAction/trackState requests. +The [Analytics extension](./index.md) and its dependent [Identity extension](../../home/base/mobile-core/identity/index.md) should be registered and configured correctly for the SDK to start processing trackAction/trackState requests. ### Verify that network requests are sent to Adobe Analytics diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/index.md b/src/pages/solution/adobe-analytics/index.md similarity index 90% rename from src/pages/documentation/solution-extensions/adobe-analytics/index.md rename to src/pages/solution/adobe-analytics/index.md index 1e41657ca5..5d8dbad085 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/index.md +++ b/src/pages/solution/adobe-analytics/index.md @@ -128,15 +128,15 @@ iOS ## Send Lifecycle metrics to Analytics -To automatically report on the application lifecycle details in Analytics, ensure that you properly configure the lifecycle data collection. For more information, see the documentation on [Lifecycle metrics](../../home/base-extensions/mobile-core/lifecycle/metrics.md). +To automatically report on the application lifecycle details in Analytics, ensure that you properly configure the lifecycle data collection. For more information, see the documentation on [Lifecycle metrics](../../home/base/mobile-core/lifecycle/metrics.md). ## Send app states and actions to Analytics -To track mobile app states and actions in Adobe Analytics, implement the [trackAction](../../home/base-extensions/mobile-core/api-reference.md#trackaction) and [trackState](../../home/base-extensions/mobile-core/api-reference.md#trackstate) APIs from the Mobile Core extension. For more information, see the [track app actions](../../home/base-extensions/mobile-core/api-reference.md#track-app-actions) and [track app states](../../home/base-extensions/mobile-core/api-reference.md#track-app-states-and-views) tutorials. +To track mobile app states and actions in Adobe Analytics, implement the [trackAction](../../home/base/mobile-core/api-reference.md#trackaction) and [trackState](../../home/base/mobile-core/api-reference.md#trackstate) APIs from the Mobile Core extension. For more information, see the [track app actions](../../home/base/mobile-core/api-reference.md#track-app-actions) and [track app states](../../home/base/mobile-core/api-reference.md#track-app-states-and-views) tutorials. -[trackState](../../home/base-extensions/mobile-core/api-reference.md#trackstate) reports the view state as the **Page Name**, and state views are reported as **Page View** in Analytics. The value is sent to Analytics by using the page name variable (`pagename=value`).

[trackAction](../../home/base-extensions/mobile-core/api-reference.md#trackaction) reports the Action as an **event** and does not increment your page views in Analytics. The value is sent to Analytics by using the action variable (`action=value`). +[trackState](../../home/base/mobile-core/api-reference.md#trackstate) reports the view state as the **Page Name**, and state views are reported as **Page View** in Analytics. The value is sent to Analytics by using the page name variable (`pagename=value`).

[trackAction](../../home/base/mobile-core/api-reference.md#trackaction) reports the Action as an **event** and does not increment your page views in Analytics. The value is sent to Analytics by using the action variable (`action=value`). ## Integrations with Adobe Experience Platform solutions and services @@ -193,4 +193,4 @@ iOS -For more information, see the [configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). +For more information, see the [configuration API reference](../../home/base/mobile-core/configuration/api-reference.md). diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md b/src/pages/solution/adobe-analytics/migrate-to-edge-network.md similarity index 92% rename from src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md rename to src/pages/solution/adobe-analytics/migrate-to-edge-network.md index abfbedfba4..983afc7a8c 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/migrate-to-edge-network.md +++ b/src/pages/solution/adobe-analytics/migrate-to-edge-network.md @@ -15,7 +15,7 @@ The **Edge Bridge extension** offers a drop in solution for migrating existing A -Edge Bridge only supports the Analytics drop-in migration case. If you are looking to migrate your Adobe Target implementation, please refer to the [Adobe Journey Optimizer Decisioning documentation](../../edge-extensions/adobe-journey-optimizer-decisioning/index.md) for more details. +Edge Bridge only supports the Analytics drop-in migration case. If you are looking to migrate your Adobe Target implementation, please refer to the [Adobe Journey Optimizer Decisioning documentation](../../edge/adobe-journey-optimizer-decisioning/index.md) for more details. ## Extensions comparison @@ -27,7 +27,7 @@ Edge Bridge only supports the Analytics drop-in migration case. If you are looki -Other foundational extensions include the [Consent for Edge Network extension](../../edge-extensions/consent-for-edge-network/index.md) which enables consent preferences collection from your mobile app, and the [Assurance extension](../../home/base-extensions/assurance/index.md) for validating your app implementation. +Other foundational extensions include the [Consent for Edge Network extension](../../edge/consent-for-edge-network/index.md) which enables consent preferences collection from your mobile app, and the [Assurance extension](../../home/base/assurance/index.md) for validating your app implementation. ### Workflow comparison @@ -66,7 +66,7 @@ To learn about the end to end Edge Bridge extension implementation process, foll ### Not yet on latest Mobile SDK? -If you are not using the latest version of the Mobile SDK (IE: v4 Mobile SDK or the ACP-prefixed Mobile SDK), you should first migrate to the [latest version](https://developer.adobe.com/client-sdks/documentation/current-sdk-versions), and then continue with this guide. +If you are not using the latest version of the Mobile SDK (IE: v4 Mobile SDK or the ACP-prefixed Mobile SDK), you should first migrate to the [latest version](../../home/current-sdk-versions.md), and then continue with this guide. ### Consent for Edge Network extension @@ -74,7 +74,7 @@ The Consent for Edge Network mobile extension enables consent preference collect The privacy status setting (MobilePrivacyStatus.OPT_IN, OPT_OUT, UNKNOWN) set in the mobile tag property which is used by Adobe Experience Cloud mobile extensions (for example, Analytics and Target), are not read nor used by the Edge Network extensions. The Edge Network extensions rely on the Consent for Edge Network extension for this setting. -For more details, please refer to the [Consent for Edge Network extension documentation](https://developer.adobe.com/client-sdks/documentation/consent-for-edge-network). +For more details, please refer to the [Consent for Edge Network extension documentation](../../edge/consent-for-edge-network/index.md). ### Identity consideration for the migration diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/product-variable.md b/src/pages/solution/adobe-analytics/product-variable.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/product-variable.md rename to src/pages/solution/adobe-analytics/product-variable.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/release-notes.md b/src/pages/solution/adobe-analytics/release-notes.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/release-notes.md rename to src/pages/solution/adobe-analytics/release-notes.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/api-reference.md b/src/pages/solution/adobe-analytics/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/tabs/api-reference.md rename to src/pages/solution/adobe-analytics/tabs/api-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md b/src/pages/solution/adobe-analytics/tabs/index.md similarity index 96% rename from src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md rename to src/pages/solution/adobe-analytics/tabs/index.md index 7b1e85e218..875368f104 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/index.md +++ b/src/pages/solution/adobe-analytics/tabs/index.md @@ -4,7 +4,7 @@ noIndex: true -1. Add the [Mobile Core](../../home/base-extensions/mobile-core/index.md) and Analytics extensions to your project using the app's Gradle file. +1. Add the [Mobile Core](../../home/base/mobile-core/index.md) and Analytics extensions to your project using the app's Gradle file. @@ -39,7 +39,7 @@ import com.adobe.marketing.mobile.Analytics -1. Add the [Mobile Core](../../home/base-extensions/mobile-core/index.md) and Analytics extensions to your project using Cocoapods. +1. Add the [Mobile Core](../../home/base/mobile-core/index.md) and Analytics extensions to your project using Cocoapods. 2. Add the following pods in your `Podfile`: ```ruby diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/product-variable.md b/src/pages/solution/adobe-analytics/tabs/product-variable.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/tabs/product-variable.md rename to src/pages/solution/adobe-analytics/tabs/product-variable.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/android.md b/src/pages/solution/adobe-analytics/tabs/track-beacon/clear-beacon/android.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/android.md rename to src/pages/solution/adobe-analytics/tabs/track-beacon/clear-beacon/android.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md b/src/pages/solution/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md rename to src/pages/solution/adobe-analytics/tabs/track-beacon/clear-beacon/ios.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/android.md b/src/pages/solution/adobe-analytics/tabs/track-beacon/track-beacon/android.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/android.md rename to src/pages/solution/adobe-analytics/tabs/track-beacon/track-beacon/android.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/ios.md b/src/pages/solution/adobe-analytics/tabs/track-beacon/track-beacon/ios.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-analytics/tabs/track-beacon/track-beacon/ios.md rename to src/pages/solution/adobe-analytics/tabs/track-beacon/track-beacon/ios.md diff --git a/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md b/src/pages/solution/adobe-analytics/track-beacon.md similarity index 96% rename from src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md rename to src/pages/solution/adobe-analytics/track-beacon.md index f399007dbd..521813b82d 100644 --- a/src/pages/documentation/solution-extensions/adobe-analytics/track-beacon.md +++ b/src/pages/solution/adobe-analytics/track-beacon.md @@ -20,7 +20,7 @@ import ClearBeaconIos from './tabs/track-beacon/clear-beacon/ios.md' Sending beacon data to Adobe Analytics for reporting can be an effective way to understand how your audience can interact with physical landmarks. -The `trackBeacon` API from v4 SDKs is no longer available in the Experience Platform SDKs. Now, you need to manually send beacon tracking data to your Adobe Analytics server and create the rules based on a user's proximity to your beacons. This solution requires the [Profile extension](../../home/base-extensions/profile/index.md) to create beacon-related rules. +The `trackBeacon` API from v4 SDKs is no longer available in the Experience Platform SDKs. Now, you need to manually send beacon tracking data to your Adobe Analytics server and create the rules based on a user's proximity to your beacons. This solution requires the [Profile extension](../../home/base/profile/index.md) to create beacon-related rules. This topic contains sample code to help you implement your own `trackBeacon` calls. diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md b/src/pages/solution/adobe-audience-manager/api-reference.md similarity index 97% rename from src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md rename to src/pages/solution/adobe-audience-manager/api-reference.md index eeed070a07..f0a117b85e 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/api-reference.md +++ b/src/pages/solution/adobe-audience-manager/api-reference.md @@ -46,7 +46,7 @@ This API registers an extension class that was derived from with a unique name. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/assets/index/configure.png b/src/pages/solution/adobe-audience-manager/assets/index/configure.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-audience-manager/assets/index/configure.png rename to src/pages/solution/adobe-audience-manager/assets/index/configure.png diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/event-reference.md b/src/pages/solution/adobe-audience-manager/event-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-audience-manager/event-reference.md rename to src/pages/solution/adobe-audience-manager/event-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md b/src/pages/solution/adobe-audience-manager/index.md similarity index 97% rename from src/pages/documentation/solution-extensions/adobe-audience-manager/index.md rename to src/pages/solution/adobe-audience-manager/index.md index e85875744e..e7e4dd01b6 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/index.md +++ b/src/pages/solution/adobe-audience-manager/index.md @@ -54,7 +54,7 @@ For more information about implementing Audience Manager APIs, please read the [ ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Audience Manager configuration values. For more information, see the [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Audience Manager configuration values. For more information, see the [Configuration API reference](../../home/base/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/release-notes.md b/src/pages/solution/adobe-audience-manager/release-notes.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-audience-manager/release-notes.md rename to src/pages/solution/adobe-audience-manager/release-notes.md diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/api-reference.md b/src/pages/solution/adobe-audience-manager/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/api-reference.md rename to src/pages/solution/adobe-audience-manager/tabs/api-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md b/src/pages/solution/adobe-audience-manager/tabs/index.md similarity index 96% rename from src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md rename to src/pages/solution/adobe-audience-manager/tabs/index.md index 04d6b49fd7..9f2d0b4be1 100644 --- a/src/pages/documentation/solution-extensions/adobe-audience-manager/tabs/index.md +++ b/src/pages/solution/adobe-audience-manager/tabs/index.md @@ -39,7 +39,7 @@ import com.adobe.marketing.mobile.Audience -1. Add the [Mobile Core](../../home/base-extensions/mobile-core/index.md) and Audience extensions to your project using Cocoapods. +1. Add the [Mobile Core](../../home/base/mobile-core/index.md) and Audience extensions to your project using Cocoapods. 2. Add the following pods in your `Podfile`: ```ruby diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md b/src/pages/solution/adobe-campaign-classic/api-reference.md similarity index 95% rename from src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md rename to src/pages/solution/adobe-campaign-classic/api-reference.md index f7278b37bc..97912f5938 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/api-reference.md +++ b/src/pages/solution/adobe-campaign-classic/api-reference.md @@ -42,7 +42,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/assets/index/configure.png b/src/pages/solution/adobe-campaign-classic/assets/index/configure.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-classic/assets/index/configure.png rename to src/pages/solution/adobe-campaign-classic/assets/index/configure.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/event-reference.md b/src/pages/solution/adobe-campaign-classic/event-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-classic/event-reference.md rename to src/pages/solution/adobe-campaign-classic/event-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md b/src/pages/solution/adobe-campaign-classic/index.md similarity index 98% rename from src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md rename to src/pages/solution/adobe-campaign-classic/index.md index 5b0e0fef69..cfbdff348d 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/index.md +++ b/src/pages/solution/adobe-campaign-classic/index.md @@ -82,7 +82,7 @@ iOS ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Campaign Classic configuration values. For more information, see the [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Campaign Classic configuration values. For more information, see the [Configuration API reference](../../home/base/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/release-notes.md b/src/pages/solution/adobe-campaign-classic/release-notes.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-classic/release-notes.md rename to src/pages/solution/adobe-campaign-classic/release-notes.md diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/api-reference.md b/src/pages/solution/adobe-campaign-classic/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/api-reference.md rename to src/pages/solution/adobe-campaign-classic/tabs/api-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md b/src/pages/solution/adobe-campaign-classic/tabs/index.md similarity index 96% rename from src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md rename to src/pages/solution/adobe-campaign-classic/tabs/index.md index ff2ff7c2c4..717e937b0e 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-classic/tabs/index.md +++ b/src/pages/solution/adobe-campaign-classic/tabs/index.md @@ -23,7 +23,7 @@ Using dynamic dependency versions is **not** recommended for production apps. Pl -Add the Campaign Classic and [Mobile Core](../../home/base-extensions/mobile-core/index.md) libraries to your project. +Add the Campaign Classic and [Mobile Core](../../home/base/mobile-core/index.md) libraries to your project. You can add the following pods to your `Podfile`: diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md b/src/pages/solution/adobe-campaign-standard/api-reference.md similarity index 95% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md rename to src/pages/solution/adobe-campaign-standard/api-reference.md index 6fe74f8c07..4753660573 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/api-reference.md +++ b/src/pages/solution/adobe-campaign-standard/api-reference.md @@ -30,7 +30,7 @@ Registers the Campaign Standard extension with the Mobile Core. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/aep-cocoapods.png b/src/pages/solution/adobe-campaign-standard/assets/index/aep-cocoapods.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/aep-cocoapods.png rename to src/pages/solution/adobe-campaign-standard/assets/index/aep-cocoapods.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/cocoapods.png b/src/pages/solution/adobe-campaign-standard/assets/index/cocoapods.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/cocoapods.png rename to src/pages/solution/adobe-campaign-standard/assets/index/cocoapods.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/configure.png b/src/pages/solution/adobe-campaign-standard/assets/index/configure.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/index/configure.png rename to src/pages/solution/adobe-campaign-standard/assets/index/configure.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/android-server-key.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/android-server-key.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/android-server-key.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/android-server-key.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/campaign-ios-cert-configured.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/charles-demdex-call-ios.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-identifier.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-identifier.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-identifier.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-identifier.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-token-to-identity.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-tracking-click.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-tracking-impression.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/push-tracking-open.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/subscriber-list-android.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/subscriber-list-ios.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-click.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/tracking-click.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-click.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/tracking-click.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-impression.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/tracking-impression.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-impression.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/tracking-impression.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-open.png b/src/pages/solution/adobe-campaign-standard/assets/push-notifications/tracking-open.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/assets/push-notifications/tracking-open.png rename to src/pages/solution/adobe-campaign-standard/assets/push-notifications/tracking-open.png diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/event-reference.md b/src/pages/solution/adobe-campaign-standard/event-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/event-reference.md rename to src/pages/solution/adobe-campaign-standard/event-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md b/src/pages/solution/adobe-campaign-standard/index.md similarity index 94% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md rename to src/pages/solution/adobe-campaign-standard/index.md index a5b065992c..2023a4ebea 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/index.md +++ b/src/pages/solution/adobe-campaign-standard/index.md @@ -62,10 +62,10 @@ Remember the following information when you add the Campaign extension to your a | Extension | Information | | :--- | :--- | -| Campaign Standard | The Campaign Standard extension requires the [Mobile Core](../../home/base-extensions/mobile-core/index.md), [Profile](../profile/index.md), [Lifecycle](../../home/base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../home/base-extensions/mobile-core/signal/index.md) extensions. You should always ensure that you get the latest version of the extensions. | +| Campaign Standard | The Campaign Standard extension requires the [Mobile Core](../../home/base/mobile-core/index.md), [Profile](../profile/index.md), [Lifecycle](../../home/base/mobile-core/lifecycle/index.md), and [Signal](../../home/base/mobile-core/signal/index.md) extensions. You should always ensure that you get the latest version of the extensions. | | Profile | The Profile extension is required for in-app trigger frequencies to work accurately. For more information, see [Profile](../profile/index.md). | -| Signal | The Signal extension is required for all postback rules to work. For more information, see [Signal](../../home/base-extensions/mobile-core/signal/index.md). | -| Lifecycle | The Lifecycle extension is required for a profile to be registered in Campaign. In order to do this, you will need to implement the Lifecycle APIs. For more information, please read either the [Lifecycle API (Android)](../../home/base-extensions/mobile-core/lifecycle/android.md) or the [Lifecycle API (iOS)](../../home/base-extensions/mobile-core/lifecycle/ios.md) documentation. | +| Signal | The Signal extension is required for all postback rules to work. For more information, see [Signal](../../home/base/mobile-core/signal/index.md). | +| Lifecycle | The Lifecycle extension is required for a profile to be registered in Campaign. In order to do this, you will need to implement the Lifecycle APIs. For more information, please read either the [Lifecycle API (Android)](../../home/base/mobile-core/lifecycle/android.md) or the [Lifecycle API (iOS)](../../home/base/mobile-core/lifecycle/ios.md) documentation. | @@ -109,7 +109,7 @@ iOS ### Set up push messaging -To enable push messaging with Adobe Campaign, call `setPushIdentifer` to send the push identifier that is received from the Apple Push Notification Service (APNS) or Firebase Cloud Messaging Platform (FCM) to the Adobe Identity service. For more information about the `setPushIdentifer` API, see the [setPushIdentifier section of the Adobe Identity API guide](../../home/base-extensions/mobile-core/identity/api-reference.md#setpushidentifier). +To enable push messaging with Adobe Campaign, call `setPushIdentifer` to send the push identifier that is received from the Apple Push Notification Service (APNS) or Firebase Cloud Messaging Platform (FCM) to the Adobe Identity service. For more information about the `setPushIdentifer` API, see the [setPushIdentifier section of the Adobe Identity API guide](../../home/base/mobile-core/identity/api-reference.md#setpushidentifier). For more information about setting up your iOS app to connect to APNS and retrieve a device token that will be used as a push identifier, see the tutorial on [registering your app with APNs](https://developer.apple.com/documentation/usernotifications/registering_your_app_with_apns?language=objc). For more information about setting up your Android app to connect to FCM and retrieve a device registration token that will be used as a push identifier, see the tutorial on [setting up a Firebase Cloud Messaging client app on Android](https://firebase.google.com/docs/cloud-messaging/android/client). @@ -219,7 +219,7 @@ iOS ## Configuration keys -To update SDK configuration programmatically, use the following information to change your Campaign Standard configuration values. For more information, see the [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). +To update SDK configuration programmatically, use the following information to change your Campaign Standard configuration values. For more information, see the [Configuration API reference](../../home/base/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/push-notifications.md b/src/pages/solution/adobe-campaign-standard/push-notifications.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/push-notifications.md rename to src/pages/solution/adobe-campaign-standard/push-notifications.md diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/release-notes.md b/src/pages/solution/adobe-campaign-standard/release-notes.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/release-notes.md rename to src/pages/solution/adobe-campaign-standard/release-notes.md diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md b/src/pages/solution/adobe-campaign-standard/tabs/api-reference.md similarity index 97% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md rename to src/pages/solution/adobe-campaign-standard/tabs/api-reference.md index 13794a9085..55b20a3038 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/api-reference.md +++ b/src/pages/solution/adobe-campaign-standard/tabs/api-reference.md @@ -64,7 +64,7 @@ NSString *campaignVersion = [AEPMobileCampaign extensionVersion]; -This API has been deprecated as of version 2.0.0. Please use the [Mobile Core registerExtension API](../../home/base-extensions/mobile-core/api-reference.md) instead. +This API has been deprecated as of version 2.0.0. Please use the [Mobile Core registerExtension API](../../home/base/mobile-core/api-reference.md) instead. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md b/src/pages/solution/adobe-campaign-standard/tabs/index.md similarity index 96% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md rename to src/pages/solution/adobe-campaign-standard/tabs/index.md index 00aec6dcd3..8abb70e8cb 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/index.md +++ b/src/pages/solution/adobe-campaign-standard/tabs/index.md @@ -22,7 +22,7 @@ Using dynamic dependency versions is **not** recommended for production apps. Pl -2. Import the Campaign Standard, [Mobile Core](../../home/base-extensions/mobile-core/index.md), [Profile](../../home/base-extensions/profile/index.md), [Lifecycle](../../home/base-extensions/mobile-core/lifecycle/index.md), and [Signal](../../home/base-extensions/mobile-core/signals/index.md) extensions in your application's main activity. +2. Import the Campaign Standard, [Mobile Core](../../home/base/mobile-core/index.md), [Profile](../../home/base/profile/index.md), [Lifecycle](../../home/base/mobile-core/lifecycle/index.md), and [Signal](../../home/base/mobile-core/signals/index.md) extensions in your application's main activity. ```java import com.adobe.marketing.mobile.Campaign; @@ -35,7 +35,7 @@ import com.adobe.marketing.mobile.UserProfile; -1. Add the Campaign Standard, [Mobile Core](../../home/base-extensions/mobile-core/index.md), and [Profile](../../home/base-extensions/profile/index.md) extensions to your project using Cocoapods. +1. Add the Campaign Standard, [Mobile Core](../../home/base/mobile-core/index.md), and [Profile](../../home/base/profile/index.md) extensions to your project using Cocoapods. ![](../assets/index/aep-cocoapods.png) @@ -115,7 +115,7 @@ class MyApp : Application() { } ``` -For more information about starting Lifecycle, see the [Lifecycle extension in Android guide](../../home/base-extensions/mobile-core/lifecycle/android.md). +For more information about starting Lifecycle, see the [Lifecycle extension in Android guide](../../home/base/mobile-core/lifecycle/android.md). @@ -183,7 +183,7 @@ To set up local notifications in Android, update the AndroidManifest.xml file: ``` -To configure the notification icons that the local notification will use, see the [configuring notification icons section](../../home/base-extensions/mobile-core/api-reference.md#setsmalliconresourceid--setlargeiconresourceid) within the Mobile Core. +To configure the notification icons that the local notification will use, see the [configuring notification icons section](../../home/base/mobile-core/api-reference.md#setsmalliconresourceid--setlargeiconresourceid) within the Mobile Core. diff --git a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md b/src/pages/solution/adobe-campaign-standard/tabs/push-notifications.md similarity index 99% rename from src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md rename to src/pages/solution/adobe-campaign-standard/tabs/push-notifications.md index 61865ab4d3..da39f25c80 100644 --- a/src/pages/documentation/solution-extensions/adobe-campaign-standard/tabs/push-notifications.md +++ b/src/pages/solution/adobe-campaign-standard/tabs/push-notifications.md @@ -77,7 +77,7 @@ If SDK privacy status is `optedout`, the push identifier will not be set. 2. In `application:didRegisterForRemoteNotificationsWithDeviceToken:`, call `setPushIdentifier` to set the Push identifier. - For more information, see [setPushIdentifier](../../home/base-extensions/mobile-core/api-reference.md#setpushidentifier). + For more information, see [setPushIdentifier](../../home/base/mobile-core/api-reference.md#setpushidentifier). #### Verify that the push token has successfully synced with the Experience Cloud ID service diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md b/src/pages/solution/adobe-media-analytics/api-reference.md similarity index 99% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md rename to src/pages/solution/adobe-media-analytics/api-reference.md index b82c7a6535..0a20499d5b 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/api-reference.md +++ b/src/pages/solution/adobe-media-analytics/api-reference.md @@ -34,7 +34,7 @@ Registers the Media extension with the Mobile Core SDK. -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/assets/index/configuration.png b/src/pages/solution/adobe-media-analytics/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/assets/index/configuration.png rename to src/pages/solution/adobe-media-analytics/assets/index/configuration.png diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md b/src/pages/solution/adobe-media-analytics/index.md similarity index 93% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/index.md rename to src/pages/solution/adobe-media-analytics/index.md index c55be1f306..c8e344832e 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/index.md +++ b/src/pages/solution/adobe-media-analytics/index.md @@ -13,7 +13,7 @@ import Tabs from './tabs/index.md' Adobe Streaming Media for Edge Network extension is now available! -Refer to the [Migrating to Media for Edge Network Guide](migration-guide.md) and [Media for Edge Network extension](../../edge-extensions/media-for-edge-network/index.md) documentation to learn more about implementing Streaming Media using Adobe Experience Edge Network. +Refer to the [Migrating to Media for Edge Network Guide](migration-guide.md) and [Media for Edge Network extension](../../edge/media-for-edge-network/index.md) documentation to learn more about implementing Streaming Media using Adobe Experience Edge Network. @@ -89,7 +89,7 @@ iOS ## Configuration keys -To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../home/base-extensions/mobile-core/configuration/api-reference.md). +To update your SDK configuration programmatically, use the following information to change your Media configuration values. For more information, see [Configuration API reference](../../home/base/mobile-core/configuration/api-reference.md). | Key | Required | Description | Data Type | | :--- | :--- | :--- | :--- | diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md b/src/pages/solution/adobe-media-analytics/migration-guide.md similarity index 91% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md rename to src/pages/solution/adobe-media-analytics/migration-guide.md index 90fed59582..7b8b967edc 100644 --- a/src/pages/documentation/solution-extensions/adobe-media-analytics/migration-guide.md +++ b/src/pages/solution/adobe-media-analytics/migration-guide.md @@ -51,7 +51,7 @@ iOS | AEPIdentity |AEPEdgeIdentity | | AEPMedia | AEPEdgeMedia | -Refer to the guide on how to [configure and setup Media for Edge Network](../../edge-extensions/media-for-edge-network/index.md) to learn more. +Refer to the guide on how to [configure and setup Media for Edge Network](../../edge/media-for-edge-network/index.md) to learn more. ## Install extensions @@ -95,7 +95,7 @@ iOS Media extension allowed for ad content tracking of `1 second` when setting the `MediaConstants.MediaObjectKey.GRANULAR_AD_TRACKING` key in the media object. -Media for Edge Network extension supports customizable ping intervals. `Ad content` tracking interval can be set in the range `[1-10] seconds`, and `main content` tracking interval can be set in the range `[10-50] seconds`. For more details, refer to the [createTrackerWithConfig API](../../edge-extensions/media-for-edge-network/api-reference.md/#createtrackerwithconfig). +Media for Edge Network extension supports customizable ping intervals. `Ad content` tracking interval can be set in the range `[1-10] seconds`, and `main content` tracking interval can be set in the range `[10-50] seconds`. For more details, refer to the [createTrackerWithConfig API](../../edge/media-for-edge-network/api-reference.md/#createtrackerwithconfig). @@ -113,4 +113,4 @@ Media for Edge Network extension currently does not support the downloaded conte ## API reference -The Media for Edge Network extension offers APIs that are similar to those provided by the Media Analytics extension. To explore the Media for Edge Network extension APIs and understand their usage, please refer to the [API reference docs](../../edge-extensions/media-for-edge-network/api-reference.md). +The Media for Edge Network extension offers APIs that are similar to those provided by the Media Analytics extension. To explore the Media for Edge Network extension APIs and understand their usage, please refer to the [API reference docs](../../edge/media-for-edge-network/api-reference.md). diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/release-notes.md b/src/pages/solution/adobe-media-analytics/release-notes.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/release-notes.md rename to src/pages/solution/adobe-media-analytics/release-notes.md diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/api-reference.md b/src/pages/solution/adobe-media-analytics/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/api-reference.md rename to src/pages/solution/adobe-media-analytics/tabs/api-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md b/src/pages/solution/adobe-media-analytics/tabs/index.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/index.md rename to src/pages/solution/adobe-media-analytics/tabs/index.md diff --git a/src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/migration-guide.md b/src/pages/solution/adobe-media-analytics/tabs/migration-guide.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-media-analytics/tabs/migration-guide.md rename to src/pages/solution/adobe-media-analytics/tabs/migration-guide.md diff --git a/src/pages/documentation/solution-extensions/adobe-target/api-reference.md b/src/pages/solution/adobe-target/api-reference.md similarity index 99% rename from src/pages/documentation/solution-extensions/adobe-target/api-reference.md rename to src/pages/solution/adobe-target/api-reference.md index e70740fa20..8185fd2cd9 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/api-reference.md +++ b/src/pages/solution/adobe-target/api-reference.md @@ -159,7 +159,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/adobe-target/assets/index/configuration.png b/src/pages/solution/adobe-target/assets/index/configuration.png similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-target/assets/index/configuration.png rename to src/pages/solution/adobe-target/assets/index/configuration.png diff --git a/src/pages/documentation/solution-extensions/adobe-target/event-reference.md b/src/pages/solution/adobe-target/event-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-target/event-reference.md rename to src/pages/solution/adobe-target/event-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-target/index.md b/src/pages/solution/adobe-target/index.md similarity index 97% rename from src/pages/documentation/solution-extensions/adobe-target/index.md rename to src/pages/solution/adobe-target/index.md index 52c808a1dc..d80803da00 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/index.md +++ b/src/pages/solution/adobe-target/index.md @@ -147,7 +147,7 @@ The visual preview mode allows you to easily perform end-to-end QA activities by You can also set an application deep link that can be triggered when selections are made in the preview mode by using the [setPreviewRestartDeeplink](./api-reference.md#setpreviewrestartdeeplink) API. -To enter the preview visual mode, use the `collectLaunchInfo` API to enable the mode and select the red floating button that appears on the app screen. For more information, see [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo). +To enter the preview visual mode, use the `collectLaunchInfo` API to enable the mode and select the red floating button that appears on the app screen. For more information, see [collectLaunchInfo](../../home/base/mobile-core/api-reference.md#collectlaunchinfo). @@ -190,7 +190,7 @@ For A4T data to be sent to Adobe Analytics client-side, make sure Analytics SDK To programmatically update SDK configuration, use the following information to change your Target configuration values: -For more information, see [Programmatic updates to Configuration](../../home/base-extensions/mobile-core/configuration/index.md#programmatic-updates-to-configuration). +For more information, see [Programmatic updates to Configuration](../../home/base/mobile-core/configuration/index.md#programmatic-updates-to-configuration). | Key | Description | Data Type | | :--- | :--- | :--- | @@ -204,4 +204,4 @@ For more information, see [Programmatic updates to Configuration](../../home/bas -Currently, the `target.sessiontimeout` value can only be configured programmatically. For more information, see [updateConfiguration](../../home/base-extensions/mobile-core/configuration/api-reference.md#updateconfiguration). +Currently, the `target.sessiontimeout` value can only be configured programmatically. For more information, see [updateConfiguration](../../home/base/mobile-core/configuration/api-reference.md#updateconfiguration). diff --git a/src/pages/documentation/solution-extensions/adobe-target/raw-api-reference.md b/src/pages/solution/adobe-target/raw-api-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-target/raw-api-reference.md rename to src/pages/solution/adobe-target/raw-api-reference.md diff --git a/src/pages/documentation/solution-extensions/adobe-target/release-notes.md b/src/pages/solution/adobe-target/release-notes.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-target/release-notes.md rename to src/pages/solution/adobe-target/release-notes.md diff --git a/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md b/src/pages/solution/adobe-target/tabs/api-reference.md similarity index 98% rename from src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md rename to src/pages/solution/adobe-target/tabs/api-reference.md index 79bcf88878..4235b5c99f 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/tabs/api-reference.md +++ b/src/pages/solution/adobe-target/tabs/api-reference.md @@ -1387,17 +1387,17 @@ Target.setTntId("f741a5d5-09c0-4931-bf53-b9e568c5f782.35_0") -On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. +On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../home/base/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. -The SDK can only collect information from the launching Activity if [`setApplication`](../../home/base-extensions/mobile-core/api-reference.md#setapplication) API has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. +The SDK can only collect information from the launching Activity if [`setApplication`](../../home/base/mobile-core/api-reference.md#setapplication) API has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. -To enter the visual preview mode, use the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API to enable the mode, and select the red floating button that appears on the app screen. +To enter the visual preview mode, use the Mobile Core's [collectLaunchInfo](../../home/base/mobile-core/api-reference.md#collectlaunchinfo) API to enable the mode, and select the red floating button that appears on the app screen. #### Swift diff --git a/src/pages/documentation/solution-extensions/adobe-target/tabs/index.md b/src/pages/solution/adobe-target/tabs/index.md similarity index 92% rename from src/pages/documentation/solution-extensions/adobe-target/tabs/index.md rename to src/pages/solution/adobe-target/tabs/index.md index a9aa71e107..c44e453ee1 100644 --- a/src/pages/documentation/solution-extensions/adobe-target/tabs/index.md +++ b/src/pages/solution/adobe-target/tabs/index.md @@ -385,13 +385,13 @@ var targetParameters = new ACPTargetParameters(mboxParameters, profileParameters -On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. +On Android, when the application is launched as a result of a deep link, the Mobile Core's [collectLaunchInfo](../../home/base/mobile-core/api-reference.md#collectlaunchinfo) API is internally invoked, and the Target activity and deep link information is extracted from the Intent extras. -The SDK can only collect information from the launching Activity if [setApplication](../../home/base-extensions/mobile-core/api-reference.md#setapplication) has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. +The SDK can only collect information from the launching Activity if [setApplication](../../home/base/mobile-core/api-reference.md#setapplication) has been called. Setting the Application is only necessary on an Activity that is also an entry point for your application. However, setting the Application on each Activity has no negative impact and ensures that the SDK always has the necessary reference to your Application. We recommend that you call `setApplication` API in each of your Activities. -On iOS, the Mobile Core's [collectLaunchInfo](../../home/base-extensions/mobile-core/api-reference.md#collectlaunchinfo) API can be invoked with the Target preview deep link as shown below: +On iOS, the Mobile Core's [collectLaunchInfo](../../home/base/mobile-core/api-reference.md#collectlaunchinfo) API can be invoked with the Target preview deep link as shown below: #### Swift diff --git a/src/pages/documentation/solution-extensions/adobe-target/tabs/raw-api-reference.md b/src/pages/solution/adobe-target/tabs/raw-api-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/adobe-target/tabs/raw-api-reference.md rename to src/pages/solution/adobe-target/tabs/raw-api-reference.md diff --git a/src/pages/documentation/solution-extensions/index.md b/src/pages/solution/index.md similarity index 100% rename from src/pages/documentation/solution-extensions/index.md rename to src/pages/solution/index.md diff --git a/src/pages/documentation/solution-extensions/places/api-reference.md b/src/pages/solution/places/api-reference.md similarity index 98% rename from src/pages/documentation/solution-extensions/places/api-reference.md rename to src/pages/solution/places/api-reference.md index 198f80e766..db92cfc9e0 100644 --- a/src/pages/documentation/solution-extensions/places/api-reference.md +++ b/src/pages/solution/places/api-reference.md @@ -128,7 +128,7 @@ iOS -Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base-extensions/mobile-core/api-reference.md#registerextensions) API instead. +Deprecated as of 2.0.0. Please use the [MobileCore.registerExtensions](../../home/base/mobile-core/api-reference.md#registerextensions) API instead. diff --git a/src/pages/documentation/solution-extensions/places/assets/index/add-environment-details-fieldgroup.png b/src/pages/solution/places/assets/index/add-environment-details-fieldgroup.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/add-environment-details-fieldgroup.png rename to src/pages/solution/places/assets/index/add-environment-details-fieldgroup.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/add-new-field-group.png b/src/pages/solution/places/assets/index/add-new-field-group.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/add-new-field-group.png rename to src/pages/solution/places/assets/index/add-new-field-group.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/config.png b/src/pages/solution/places/assets/index/config.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/config.png rename to src/pages/solution/places/assets/index/config.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/datacollection-tag-correct-datastream.png b/src/pages/solution/places/assets/index/datacollection-tag-correct-datastream.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/datacollection-tag-correct-datastream.png rename to src/pages/solution/places/assets/index/datacollection-tag-correct-datastream.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/datastream-choose-platform-services.png b/src/pages/solution/places/assets/index/datastream-choose-platform-services.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/datastream-choose-platform-services.png rename to src/pages/solution/places/assets/index/datastream-choose-platform-services.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/datastream-ensure-correct-dataset.png b/src/pages/solution/places/assets/index/datastream-ensure-correct-dataset.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/datastream-ensure-correct-dataset.png rename to src/pages/solution/places/assets/index/datastream-ensure-correct-dataset.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/final-schema-structure.png b/src/pages/solution/places/assets/index/final-schema-structure.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/final-schema-structure.png rename to src/pages/solution/places/assets/index/final-schema-structure.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/manage-places-context-fields.png b/src/pages/solution/places/assets/index/manage-places-context-fields.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/manage-places-context-fields.png rename to src/pages/solution/places/assets/index/manage-places-context-fields.png diff --git a/src/pages/documentation/solution-extensions/places/assets/index/mask-everything-except-poiId.png b/src/pages/solution/places/assets/index/mask-everything-except-poiId.png similarity index 100% rename from src/pages/documentation/solution-extensions/places/assets/index/mask-everything-except-poiId.png rename to src/pages/solution/places/assets/index/mask-everything-except-poiId.png diff --git a/src/pages/documentation/solution-extensions/places/index.md b/src/pages/solution/places/index.md similarity index 100% rename from src/pages/documentation/solution-extensions/places/index.md rename to src/pages/solution/places/index.md diff --git a/src/pages/documentation/solution-extensions/places/places-to-platform.md b/src/pages/solution/places/places-to-platform.md similarity index 100% rename from src/pages/documentation/solution-extensions/places/places-to-platform.md rename to src/pages/solution/places/places-to-platform.md diff --git a/src/pages/documentation/solution-extensions/places/release-notes.md b/src/pages/solution/places/release-notes.md similarity index 100% rename from src/pages/documentation/solution-extensions/places/release-notes.md rename to src/pages/solution/places/release-notes.md diff --git a/src/pages/documentation/solution-extensions/places/tabs/api-reference.md b/src/pages/solution/places/tabs/api-reference.md similarity index 100% rename from src/pages/documentation/solution-extensions/places/tabs/api-reference.md rename to src/pages/solution/places/tabs/api-reference.md diff --git a/src/pages/documentation/solution-extensions/places/tabs/index.md b/src/pages/solution/places/tabs/index.md similarity index 100% rename from src/pages/documentation/solution-extensions/places/tabs/index.md rename to src/pages/solution/places/tabs/index.md From abe132e4abfb4903c700d0cbe63efdd540c6c3f1 Mon Sep 17 00:00:00 2001 From: Caleb Kwan Date: Tue, 17 Oct 2023 14:01:25 -0700 Subject: [PATCH 12/12] Update the scripts to the right new locations too --- .github/scripts/update-release-notes.js | 4 ++-- .github/workflows/release-pr.yml | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/.github/scripts/update-release-notes.js b/.github/scripts/update-release-notes.js index 4d262888f9..67d8911272 100644 --- a/.github/scripts/update-release-notes.js +++ b/.github/scripts/update-release-notes.js @@ -101,7 +101,7 @@ var reqGet = https.request(options, function(res) { const monthNames = ["January", "February", "March", "April", "May", "June", "July", "August", "September", "October","November","December"] const fullMonth = monthNames[month] - const releaseMdPath = "./src/pages/documentation/release-notes/index.md"; + const releaseMdPath = "./src/pages/home/release-notes/index.md"; const releaseNotesHeader = "# Release notes"; // Read the contents of the markdown file. @@ -166,7 +166,7 @@ function updateBOMReleaseNotesForAdobeIO(releaseNotesString) { function releaseFileContainsLineStartWith(lineStartWithString){ try { - execSync(`grep -E "^${lineStartWithString}" ./src/pages/documentation/release-notes/index.md`, { stdio: 'ignore' }); + execSync(`grep -E "^${lineStartWithString}" ./src/pages/home/release-notes/index.md`, { stdio: 'ignore' }); return true; } catch (e) { return false; diff --git a/.github/workflows/release-pr.yml b/.github/workflows/release-pr.yml index fe42e7e973..d3f916d9eb 100644 --- a/.github/workflows/release-pr.yml +++ b/.github/workflows/release-pr.yml @@ -43,11 +43,11 @@ jobs: - name: Check release-notes/index.md run: | - if git diff --exit-code ./src/pages/documentation/release-notes/index.md; then + if git diff --exit-code ./src/pages/home/release-notes/index.md; then gh run cancel ${{ github.run_id }} gh run watch ${{ github.run_id }} else - echo "./src/pages/documentation/release-notes/index.md -> no update" + echo "./src/pages/home/release-notes/index.md -> no update" fi env: GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}