Mobile Services API reference
This document lists information about the previous versions of the Adobe Experience Platform Mobile SDKs. Check out this page for latest versions and solution support of the Mobile SDKs.
extensionVersion
The extensionVersion()
API returns the version of the Mobile Services extension that is registered with the Mobile Core extension.
iOS
Objective-C
Copied to your clipboardNSString *mobileServicesExtensionVersion = [ACPMobileServices extensionVersion];
Swift
Copied to your clipboardlet mobileServicesExtensionVersion = ACPMobileServices.extensionVersion()
processReferrer
You can use this API to process the referrer intent that was received from Android.
This API is only available in Android.
Java
Syntax
Copied to your clipboardpublic static void processReferrer(final Context context, final Intent intent)
Example
Copied to your clipboardpublic void onReceive(Context context, Intent intent) {MobileServices.processReferrer(context, intent);}
processGooglePlayInstallReferrerUrl
You can use this API to process the data you get from the Google Play Install Referrer APIs.
This API is only available on Android, starting in version 1.1.0
.
Java
Syntax
Copied to your clipboardpublic static void processGooglePlayInstallReferrerUrl(final Context context, final Intent intent)
Example
Copied to your clipboardvoid 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) {if (prefs.getBoolean("referrerHasBeenProcessed", false)) {return;}}final InstallReferrerClient referrerClient = InstallReferrerClient.newBuilder(getApplicationContext()).build();referrerClient.startConnection(new InstallReferrerStateListener() {private boolean complete = false;@Overridepublic void onInstallReferrerSetupFinished(int responseCode) {switch (responseCode) {case InstallReferrerClient.InstallReferrerResponse.OK:// connection is establishedcomplete();try {final ReferrerDetails details = referrerClient.getInstallReferrer();// pass the install referrer url to the SDKMobileServices.processGooglePlayInstallReferrerUrl(details.getInstallReferrer());} catch (final RemoteException ex) {Log.w("Acquisition - RemoteException while retrieving referrer information (%s)", ex.getLocalizedMessage() == null ? "unknown" : ex.getLocalizedMessage());} finally {referrerClient.endConnection();}break;case InstallReferrerClient.InstallReferrerResponse.FEATURE_NOT_SUPPORTED:case InstallReferrerClient.InstallReferrerResponse.SERVICE_UNAVAILABLE:default:// API not available in the Play Store app - nothing to do herecomplete();referrerClient.endConnection();break;}}@Overridepublic void onInstallReferrerServiceDisconnected() {if (!complete) {// something went wrong trying to get a connection, try againreferrerClient.startConnection(this);}}void complete() {complete = true;SharedPreferences.Editor editor = getSharedPreferences("acquisition", 0).edit();editor.putBoolean("referrerHasBeenProcessed", true);editor.apply();}});}
trackAdobeDeepLink
You can use this API to track a deep link or a marketing link, as long as the link contains a key a.deeplink.id
and a corresponding non-null and user generated value. The link can be created in the Adobe Mobile Services UI or be generated by another vendor.
Java
Syntax
Copied to your clipboardpublic static void trackAdobeDeepLink(final Uri uri)
Example
Copied to your clipboardUri testUri = new Uri.Builder().scheme("adobelinktest").appendQueryParameter("a.deeplink.id", "test_deeplinkId").appendQueryParameter("a.launch.campaign.trackingcode", "code").appendQueryParameter("test_key", "test_value").build();MobileServices.trackAdobeDeepLink(testUri);
Syntax
Copied to your clipboard+ (void) trackAdobeDeepLink: (NSURL*) url;
Example
Swift
Copied to your clipboardlet url = URL(string: "adobelinktest://x?a.deeplink.id=test_deeplinkId&a.launch.campaign.trackingcode=code&test_key=test_value")!ACPMobileServices.trackAdobeDeepLink(url)
Objective-C
Copied to your clipboardNSURL* url = [NSURL URLWithString:@"adobelinktest://x?a.deeplink.id=test_deeplinkId&a.launch.campaign.trackingcode=code&test_key=test_value"];[ACPMobileServices trackAdobeDeepLink:url];
Java
Syntax
Copied to your clipboardpublic static void trackAdobeDeepLink(final Uri uri)
Example
Copied to your clipboardUri testUri = new Uri.Builder().scheme("adobelinktest").appendQueryParameter("a.deeplink.id", "test_deeplinkId").appendQueryParameter("a.launch.campaign.trackingcode", "code").appendQueryParameter("test_key", "test_value").build();MobileServices.trackAdobeDeepLink(testUri);
Syntax
Copied to your clipboard+ (void) trackAdobeDeepLink: (NSURL*) url;
Example
Swift
Copied to your clipboardlet url = URL(string: "adobelinktest://x?a.deeplink.id=test_deeplinkId&a.launch.campaign.trackingcode=code&test_key=test_value")!ACPMobileServices.trackAdobeDeepLink(url)
Objective-C
Copied to your clipboardNSURL* url = [NSURL URLWithString:@"adobelinktest://x?a.deeplink.id=test_deeplinkId&a.launch.campaign.trackingcode=code&test_key=test_value"];[ACPMobileServices trackAdobeDeepLink:url];