Adobe Experience Platform Location Service
Adobe Experience Platform Location Service provides an SDK extension which allows you to act based on the location of your users. This extension is the interface to the Location Service Web Services APIs.
The SDK extension listens for events that contain GPS coordinates and geofence region events, and dispatches new events that are processed by the Rules Engine. The SDK extension also retrieves and delivers a list of the nearest POI for the app data that retrieves from the APIs. The regions returned by the APIs are stored in cache and persistence, which allows limited offline processing.
Places
is the mobile SDK supporting the Location Service.
Configure the Places extension in Data Collection UI
- In the Data Collection UI, from your mobile property, select the Extensions tab.
- On the Catalog tab, locate or search for the Places extension, and select Install.
- Select the POI Library (or libraries) you wish to use in the app.
- Select Save.
- Follow the publishing process to update SDK configuration.
Add the AEP Places extension to your app
Download and import the Places extension
- Add the Mobile Core and Places extensions to your project using the app's Gradle file.
Kotlin
Copied to your clipboardimplementation(platform("com.adobe.marketing.mobile:sdk-bom:3.+"))implementation("com.adobe.marketing.mobile:core")implementation("com.adobe.marketing.mobile:places")
Groovy
Copied to your clipboardimplementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')implementation 'com.adobe.marketing.mobile:core'implementation 'com.adobe.marketing.mobile:places'
Using dynamic dependency versions is not recommended for production apps. Please read the managing Gradle dependencies guide for more information.
- Import the Mobile Core and Places extensions in your Application class.
Copied to your clipboardimport com.adobe.marketing.mobile.MobileCore;import com.adobe.marketing.mobile.Places;
- Add the Mobile Core and Places extensions to your project using CocoaPods. Add the following pods in your
Podfile
:
Copied to your clipboarduse_frameworks!target 'YourTargetApp' dopod 'AEPCore', '~> 5.0'pod 'AEPPlaces', '~> 5.0'end
- Import the Mobile Core and Places modules:
Swift
Copied to your clipboard// AppDelegate.swiftimport AEPCoreimport AEPPlaces
Objective-C
Copied to your clipboard// AppDelegate.h@import AEPCore;@import AEPPlaces;
- Add the Mobile Core and Places extensions to your project using the app's Gradle file.
Kotlin
Copied to your clipboardimplementation(platform("com.adobe.marketing.mobile:sdk-bom:3.+"))implementation("com.adobe.marketing.mobile:core")implementation("com.adobe.marketing.mobile:places")
Groovy
Copied to your clipboardimplementation platform('com.adobe.marketing.mobile:sdk-bom:3.+')implementation 'com.adobe.marketing.mobile:core'implementation 'com.adobe.marketing.mobile:places'
Using dynamic dependency versions is not recommended for production apps. Please read the managing Gradle dependencies guide for more information.
- Import the Mobile Core and Places extensions in your Application class.
Copied to your clipboardimport com.adobe.marketing.mobile.MobileCore;import com.adobe.marketing.mobile.Places;
- Add the Mobile Core and Places extensions to your project using CocoaPods. Add the following pods in your
Podfile
:
Copied to your clipboarduse_frameworks!target 'YourTargetApp' dopod 'AEPCore', '~> 5.0'pod 'AEPPlaces', '~> 5.0'end
- Import the Mobile Core and Places modules:
Swift
Copied to your clipboard// AppDelegate.swiftimport AEPCoreimport AEPPlaces
Objective-C
Copied to your clipboard// AppDelegate.h@import AEPCore;@import AEPPlaces;
Register the Places extension with Mobile Core
Java
Copied to your clipboardpublic class MainApp extends Application {private static final String APP_ID = "YOUR_APP_ID";@Overridepublic void onCreate() {super.onCreate();MobileCore.setApplication(this);MobileCore.configureWithAppID(APP_ID);List<Class<? extends Extension>> extensions = new ArrayList<>();extensions.add(Places.EXTENSION);MobileCore.registerExtensions(extensions, o -> {Log.d(LOG_TAG, "AEP Mobile SDK is initialized");});}}
Kotlin
Copied to your clipboardclass MyApp : Application() {override fun onCreate() {super.onCreate()MobileCore.setApplication(this)MobileCore.configureWithAppID("YOUR_APP_ID")val extensions = listOf(Places.EXTENSION)MobileCore.registerExtensions(extensions) {Log.d(LOG_TAG, "AEP Mobile SDK is initialized")}}}
Swift
Copied to your clipboard// AppDelegate.swiftfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {MobileCore.registerExtensions([Places.self], {MobileCore.configureWith(appId: "yourAppId")})...}
Objective-C
Copied to your clipboard// AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[AEPMobileCore registerExtensions:@[AEPMobilePlaces.class] completion:^{...}];[AEPMobileCore configureWithAppId: @"yourAppId"];...}
Java
Copied to your clipboardpublic class MainApp extends Application {private static final String APP_ID = "YOUR_APP_ID";@Overridepublic void onCreate() {super.onCreate();MobileCore.setApplication(this);MobileCore.configureWithAppID(APP_ID);List<Class<? extends Extension>> extensions = new ArrayList<>();extensions.add(Places.EXTENSION);MobileCore.registerExtensions(extensions, o -> {Log.d(LOG_TAG, "AEP Mobile SDK is initialized");});}}
Kotlin
Copied to your clipboardclass MyApp : Application() {override fun onCreate() {super.onCreate()MobileCore.setApplication(this)MobileCore.configureWithAppID("YOUR_APP_ID")val extensions = listOf(Places.EXTENSION)MobileCore.registerExtensions(extensions) {Log.d(LOG_TAG, "AEP Mobile SDK is initialized")}}}
Swift
Copied to your clipboard// AppDelegate.swiftfunc application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {MobileCore.registerExtensions([Places.self], {MobileCore.configureWith(appId: "yourAppId")})...}
Objective-C
Copied to your clipboard// AppDelegate.m- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {[AEPMobileCore registerExtensions:@[AEPMobilePlaces.class] completion:^{...}];[AEPMobileCore configureWithAppId: @"yourAppId"];...}
Additional Location Service resources
For more information about implementing and using Adobe Experience Platform Location Service, please see the following documentation links: