diff --git a/resources/migrate-to-swift.md b/resources/migrate-to-swift.md index 3731605b4..4c37e79ab 100644 --- a/resources/migrate-to-swift.md +++ b/resources/migrate-to-swift.md @@ -48,7 +48,7 @@ If you are using Cocoapods to manage your Adobe Experience Platform Mobile SDK d pod 'AEPUserProfile' ``` -Save the `Podfile` and run `pod install`or `pod update` +Save the `Podfile` and run `pod install`or `pod update` ## Update SDK initialization @@ -110,5 +110,5 @@ Finally, you'll need to scan through your current implementation and replace ACP | [Signal](../foundation-extensions/mobile-core/signals/) | [AEPSignal](../foundation-extensions/mobile-core/signals/acpsignal-aepsignal.md) | | [Profile](../foundation-extensions/profile/) | [AEPUserProfile](../foundation-extensions/profile/acpuserprofile-aepuserprofile.md) | | [Adobe Experience Platform Places Service](../foundation-extensions/places/) | [AEPPlaces](../foundation-extensions/places/migration.md) | -| [Adobe Analytics - Mobile Services](../using-mobile-extensions/adobe-analytics-mobile-services/) | [AEPMobileService](../using-mobile-extensions/adobe-analytics-mobile-services/migration.md)| +| [Adobe Analytics - Mobile Services](../using-mobile-extensions/adobe-analytics-mobile-services/) | [AEPMobileService](../using-mobile-extensions/adobe-analytics-mobile-services/migration.md) | diff --git a/resources/upgrading-to-aep/current-sdk-versions.md b/resources/upgrading-to-aep/current-sdk-versions.md index d00c5872a..e87d2ecd5 100644 --- a/resources/upgrading-to-aep/current-sdk-versions.md +++ b/resources/upgrading-to-aep/current-sdk-versions.md @@ -43,7 +43,7 @@ Due to sunset of [JCenter by JFrog](https://jfrog.com/blog/into-the-sunset-bintr ## iOS — Swift {% hint style="warning" %} -Adobe Experience Platform Mobile SDK for Android supports Apple iOS 10 or later. +Adobe Experience Platform Mobile SDK for Android supports Apple iOS 10 or later; requires Swift 5.1 or newer and Xcode 11.0 or newer. {% endhint %} {% hint style="warning" %} @@ -58,26 +58,26 @@ If you are currently using our Objective-C \(ACP-prefix libraries\), please see The Swift iOS SDKs are open source - read more about [our move to Swift and open source](https://medium.com/adobetech/adobe-experience-platform-mobile-sdks-move-to-swift-for-ios-6aa67b67b4d4). {% endhint %} -| Extension | Swift | Github | -| :--- | :--- | :--- | -| [Mobile Core](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/mobile-core) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPCore.svg?color=orange&label=AEPCore&logo=apple&logoColor=white&style=flat-square)​](https://cocoapods.org/pods/AEPCore) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Identity](../../foundation-extensions/mobile-core/identity/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPIdentity.svg?color=orange&label=AEPIdentity&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPIdentity) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Signal](../../foundation-extensions/mobile-core/signals/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPSignal.svg?color=orange&label=AEPSignal&logo=apple&logoColor=white&style=flat-square)​](https://cocoapods.org/pods/AEPSignal) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Lifecycle](../../foundation-extensions/mobile-core/lifecycle/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPLifecycle.svg?color=orange&label=AEPLifecycle&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPLifecycle) | [Link](https://github.com/adobe/aepsdk-core-ios) | -| [Profile](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/profile) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPUserProfile.svg?color=orange&label=AEPUserProfile&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPUserProfile) | [Link](https://github.com/adobe/aepsdk-userprofile-ios) | -| [Adobe Experience Platform Edge Network](../../foundation-extensions/experience-platform-extension/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPEdge.svg?color=orange&label=AEPEdge&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPEdge) | [Link](https://github.com/adobe/aepsdk-edge-ios) | -| [Identity for Edge Network](../../foundation-extensions/identity-for-edge-network/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPEdgeIdentity.svg?color=orange&label=AEPEdgeIdentity&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPEdgeIdentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-ios) | -| [Consent for Edge Network](../../foundation-extensions/consent-for-edge-network/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPEdgeConsent.svg?color=orange&label=AEPEdgeConsent&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPEdgeConsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-ios) | -| [Adobe Experience Platform Assurance](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-experience-platform-assurance) | Releasing Soon | | -| [Places Service](https://docs.adobe.com/content/help/en/places/using/home.html) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPPlaces.svg?color=orange&label=AEPPlaces&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPPlaces) | [Link](https://github.com/adobe/aepsdk-places-ios) | -| [Places Monitor](https://docs.adobe.com/content/help/en/places/using/places-ext-aep-sdks/places-monitor-extension/places-monitor-extension.html) | Releasing Soon | | -| [Adobe Analytics](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-analytics) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPAnalytics.svg?color=orange&label=AEPAnalytics&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPAnalytics) | [Link](https://github.com/adobe/aepsdk-analytics-ios) | -| [Adobe Analytics - Media Analytics for Audio & Video](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-media-analytics) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPMedia.svg?color=orange&label=AEPMedia&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPMedia) | [Link](https://github.com/adobe/aepsdk-media-ios) | -| [Adobe Audience Manager](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-audience-manager) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPAudience.svg?color=orange&label=AEPAudience&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPAudience) | [Link](https://github.com/adobe/aepsdk-audience-ios) | +| Extension | Swift | Github | | +| :--- | :--- | :--- | :--- | +| [Mobile Core](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/mobile-core) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPCore.svg?color=orange&label=AEPCore&logo=apple&logoColor=white&style=flat-square)​](https://cocoapods.org/pods/AEPCore) | [Link](https://github.com/adobe/aepsdk-core-ios) | | +| [Identity](../../foundation-extensions/mobile-core/identity/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPIdentity.svg?color=orange&label=AEPIdentity&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPIdentity) | [Link](https://github.com/adobe/aepsdk-core-ios) | | +| [Signal](../../foundation-extensions/mobile-core/signals/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPSignal.svg?color=orange&label=AEPSignal&logo=apple&logoColor=white&style=flat-square)​](https://cocoapods.org/pods/AEPSignal) | [Link](https://github.com/adobe/aepsdk-core-ios) | | +| [Lifecycle](../../foundation-extensions/mobile-core/lifecycle/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPLifecycle.svg?color=orange&label=AEPLifecycle&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPLifecycle) | [Link](https://github.com/adobe/aepsdk-core-ios) | | +| [Profile](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/profile) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPUserProfile.svg?color=orange&label=AEPUserProfile&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPUserProfile) | [Link](https://github.com/adobe/aepsdk-userprofile-ios) | | +| [Adobe Experience Platform Edge Network](../../foundation-extensions/experience-platform-extension/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPEdge.svg?color=orange&label=AEPEdge&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPEdge) | [Link](https://github.com/adobe/aepsdk-edge-ios) | | +| [Identity for Edge Network](../../foundation-extensions/identity-for-edge-network/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPEdgeIdentity.svg?color=orange&label=AEPEdgeIdentity&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPEdgeIdentity) | [Link](https://github.com/adobe/aepsdk-edgeidentity-ios) | | +| [Consent for Edge Network](../../foundation-extensions/consent-for-edge-network/) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPEdgeConsent.svg?color=orange&label=AEPEdgeConsent&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPEdgeConsent) | [Link](https://github.com/adobe/aepsdk-edgeconsent-ios) | | +| [Adobe Experience Platform Assurance](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-experience-platform-assurance) | Releasing Soon | | | +| [Places Service](https://docs.adobe.com/content/help/en/places/using/home.html) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPPlaces.svg?color=orange&label=AEPPlaces&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPPlaces) | [Link](https://github.com/adobe/aepsdk-places-ios) | | +| [Places Monitor](https://docs.adobe.com/content/help/en/places/using/places-ext-aep-sdks/places-monitor-extension/places-monitor-extension.html) | Releasing Soon | | | +| [Adobe Analytics](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-analytics) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPAnalytics.svg?color=orange&label=AEPAnalytics&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPAnalytics) | [Link](https://github.com/adobe/aepsdk-analytics-ios) | | +| [Adobe Analytics - Media Analytics for Audio & Video](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-media-analytics) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPMedia.svg?color=orange&label=AEPMedia&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPMedia) | [Link](https://github.com/adobe/aepsdk-media-ios) | | +| [Adobe Audience Manager](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-audience-manager) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPAudience.svg?color=orange&label=AEPAudience&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPAudience) | [Link](https://github.com/adobe/aepsdk-audience-ios) | | | [Adobe Analytics - Mobile Services](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-analytics-mobile-services) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPMobileServices.svg?color=orange&label=AEPMobileServices&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPMobileServices) | [Link](https://github.com/adobe/aepsdk-mobileservices-ios) | | -| [Adobe Target](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-target) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPTarget.svg?color=orange&label=AEPTarget&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPTarget) | [Link](https://github.com/adobe/aepsdk-target-ios) | +| [Adobe Target](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-target) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPTarget.svg?color=orange&label=AEPTarget&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPTarget) | [Link](https://github.com/adobe/aepsdk-target-ios) | | | [Adobe Campaign Standard](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-campaign-standard) | [![Cocoapods](https://img.shields.io/cocoapods/v/AEPCampaign.svg?color=orange&label=AEPCampaign&logo=apple&logoColor=white&style=flat-square)](https://cocoapods.org/pods/AEPMCampaign) | [Link](https://github.com/adobe/aepsdk-campaign-ios) | | -| [Adobe Campaign Classic](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-campaignclassic) | To Be Determined | | +| [Adobe Campaign Classic](https://aep-sdks.gitbook.io/docs/using-mobile-extensions/adobe-campaignclassic) | To Be Determined | | | ## iOS — Objective-C diff --git a/using-mobile-extensions/adobe-analytics-mobile-services/README.md b/using-mobile-extensions/adobe-analytics-mobile-services/README.md index fc803b59e..f8f940ac2 100644 --- a/using-mobile-extensions/adobe-analytics-mobile-services/README.md +++ b/using-mobile-extensions/adobe-analytics-mobile-services/README.md @@ -120,7 +120,6 @@ import com.adobe.marketing.mobileservices.*; {% endtab %} {% tab title="iOS — Obj-C" %} - You can add the library to your project through your `Podfile` by adding the `ACPMobileServices` pod. #### Objective-C @@ -137,7 +136,6 @@ Import the library into your project: {% endtab %} {% tab title="iOS — Swift" %} - You can add the library to your project through your `Podfile` by adding the `AEPMobileServices` pod. #### Swift @@ -151,9 +149,7 @@ import AEPLifecycle import AEPAnalytics import AEPMobileServices ``` - {% endtab %} - {% endtabs %} ### Register Mobile Services with Mobile Core @@ -205,7 +201,6 @@ In your app's `application:didFinishLaunchingWithOptions` function, register the {% endtab %} {% tab title="iOS — Swift" %} - #### Swift In your app's `application:didFinishLaunchingWithOptions` function, register the Mobile Services extension with the Mobile Core: @@ -219,9 +214,7 @@ func application(_ application: UIApplication, didFinishLaunchingWithOptions lau ... } ``` - {% endtab %} - {% endtabs %} ## Implement Mobile Services APIs in your app @@ -281,7 +274,6 @@ After following Apple's [configure remote notification document](https://develop ```swift ACPCore.setPushIdentifier(deviceToken) ``` - {% endtab %} {% tab title="iOS — Swift" %} @@ -314,9 +306,7 @@ func application(_ application: UIApplication, didRegisterForRemoteNotifications MobileCore.setPushIdentifier(deviceToken) } ``` - {% endtab %} - {% endtabs %} ### Debugging the push messaging set up @@ -382,11 +372,7 @@ Use the following API to track a push messaging click in Adobe Analytics. ```objectivec AEPCore.collectLaunchInfo(userInfo) ``` - {% endtab %} - - - {% endtabs %} ### Troubleshooting push messaging @@ -525,7 +511,6 @@ Here is an example about how to include open tracking: {% tabs %} {% tab title="iOS" %} - ```objectivec - (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { @@ -614,7 +599,7 @@ With the deprecation, instead of creating a `BroadcastReceiver`, you need to col void handleGooglePlayReferrer() { // Google recommends only calling this API the first time you need it: // https://developer.android.com/google/play/installreferrer/library#install-referrer - + // Store a boolean in SharedPreferences to ensure we only call it once. final SharedPreferences prefs = getSharedPreferences("acquisition", 0); if (prefs != null) { @@ -622,11 +607,11 @@ With the deprecation, instead of creating a `BroadcastReceiver`, you need to col return; } } - + final InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(getApplicationContext()).build(); referrerClient.startConnection(new InstallReferrerStateListener() { private boolean complete = false; - + @Override public void onInstallReferrerSetupFinished(int responseCode) { switch (responseCode) { @@ -635,10 +620,10 @@ With the deprecation, instead of creating a `BroadcastReceiver`, you need to col complete(); try { final ReferrerDetails details = referrerClient.getInstallReferrer(); - + // pass the install referrer url to the SDK MobileServices.processGooglePlayInstallReferrerUrl(details.getInstallReferrer()); - + } catch (final RemoteException ex) { Log.w("Acquisition - RemoteException while retrieving referrer information (%s)", ex.getLocalizedMessage() == null ? "unknown" : ex.getLocalizedMessage()); } finally { @@ -654,7 +639,7 @@ With the deprecation, instead of creating a `BroadcastReceiver`, you need to col break; } } - + @Override public void onInstallReferrerServiceDisconnected() { if (!complete) { @@ -662,7 +647,7 @@ With the deprecation, instead of creating a `BroadcastReceiver`, you need to col referrerClient.startConnection(this); } } - + void complete() { complete = true; SharedPreferences.Editor editor = getSharedPreferences("acquisition", 0).edit(); @@ -745,7 +730,6 @@ MobileServices.trackAdobeDeepLink {% endtab %} {% tab title="iOS — Swift" %} - ### trackAdobeDeepLink #### Objective C @@ -777,11 +761,7 @@ MobileServices.trackAdobeDeepLink return YES; } ``` - {% endtab %} - - - {% endtabs %} ## Integration with Apple Search Ads \(iOS\) diff --git a/using-mobile-extensions/adobe-analytics-mobile-services/adobe-mobile-services-release-notes.md b/using-mobile-extensions/adobe-analytics-mobile-services/adobe-mobile-services-release-notes.md index 63b5374cf..03c87081c 100644 --- a/using-mobile-extensions/adobe-analytics-mobile-services/adobe-mobile-services-release-notes.md +++ b/using-mobile-extensions/adobe-analytics-mobile-services/adobe-mobile-services-release-notes.md @@ -6,7 +6,7 @@ Release notes and change logs for the Adobe Mobile Services extension #### iOS AEPMobileServices 3.0.0 -- Released the brand new Adobe Experience Platform Mobile Services iOS Swift SDK. +* Released the brand new Adobe Experience Platform Mobile Services iOS Swift SDK. ## April 14, 2021 diff --git a/using-mobile-extensions/adobe-analytics-mobile-services/migration.md b/using-mobile-extensions/adobe-analytics-mobile-services/migration.md index 5a66f3a70..43c9d16f5 100644 --- a/using-mobile-extensions/adobe-analytics-mobile-services/migration.md +++ b/using-mobile-extensions/adobe-analytics-mobile-services/migration.md @@ -1,6 +1,6 @@ -# Migration to AEPMobileServices +# Migrating to AEPMobileServices -This document is a reference comparison of ACPMobileServices(1.x) APIs against their equivalent APIs in AEPMobileServices(3.x). +This document is a reference comparison of ACPMobileServices\(1.x\) APIs against their equivalent APIs in AEPMobileServices\(3.x\). ## Primary `Classes` @@ -20,13 +20,13 @@ For more information, please read the [Mobile Services API reference](https://ae * ACPMobileServices - ```objective-c + ```text + (void) trackAdobeDeepLink: (NSURL*) url; ``` * AEPMobileServices - ```objective-c + ```text + (void) trackAdobeDeepLink: (NSURL* _Nonnull) deeplink; ``` diff --git a/using-mobile-extensions/adobe-analytics-mobile-services/mobileservices-api-reference.md b/using-mobile-extensions/adobe-analytics-mobile-services/mobileservices-api-reference.md index 841051681..9848d4426 100644 --- a/using-mobile-extensions/adobe-analytics-mobile-services/mobileservices-api-reference.md +++ b/using-mobile-extensions/adobe-analytics-mobile-services/mobileservices-api-reference.md @@ -41,9 +41,7 @@ NSString *mobileServicesExtensionVersion = [AEPMobileServices extensionVersion]; ```swift let mobileServicesExtensionVersion = AEPMobileServices.extensionVersion() ``` - {% endtab %} - {% endtabs %} ## Track Deep link @@ -100,7 +98,6 @@ ACPMobileServices.trackAdobeDeepLink(url) {% endtab %} {% tab title="iOS — Swift" %} - #### Syntax ```objectivec @@ -123,9 +120,7 @@ NSURL* url = [NSURL URLWithString:@"adobelinktest://x?a.deeplink.id=test_deeplin let url = URL(string: "adobelinktest://x?a.deeplink.id=test_deeplinkId&a.launch.campaign.trackingcode=code&test_key=test_value")! AEPMobileServices.trackAdobeDeepLink(url) ``` - {% endtab %} - {% endtabs %} ## Process Referrer Intent