La extensión Places permite actuar en función de la ubicación de los usuarios. Esta extensión es la interfaz de las API del servicio de consulta de Places. Al escuchar eventos que contienen coordenadas GPS y eventos de región de geovalla, esta extensión distribuye nuevos eventos que son procesados por el motor de reglas. La extensión Places también recupera y envía una lista del punto de interés más cercano para los datos de la aplicación que se recuperan de las API. Las regiones que devuelven las API se almacenan en caché y en persistencia, lo que permite un procesamiento sin conexión limitado.
En el Experience Platform Launch, haga clic en el botón Extensiones pestaña .
En el Catálogo , busque Lugares y haga clic en Instalar.
Seleccione las bibliotecas de Places que desee utilizar en esta propiedad. Estas son las bibliotecas a las que se puede acceder desde la aplicación.
Haga clic en Guardar.
Al hacer clic en Guardar, el SDK de Experience Platform busca en Servicios de Places puntos de interés en las bibliotecas seleccionadas. Los datos de puntos de interés no se incluyen en la descarga de la biblioteca al crear la aplicación, pero se descarga un subconjunto de puntos de interés basado en la ubicación al dispositivo del usuario final durante la ejecución y se basa en las coordenadas GPS del usuario.
Complete el proceso de publicación para actualizar la configuración del SDK.
Para obtener más información sobre la publicación en Experience Platform Launch, consulte Publicación.
Puede añadir la extensión Places a sus aplicaciones de Android y iOS. A continuación se pueden ver los pasos para agregar Places a la aplicación de iOS o Android. Las extensiones Places también están disponibles para las plataformas siguientes. Para añadir Places a la aplicación cuando se desarrolle con una de estas plataformas, consulte los vínculos que le acompañan:
Complemento React Native Places
Para añadir la extensión Places a la aplicación mediante Java:
Agregue la extensión Places al proyecto mediante el archivo de gradle de la aplicación.
implementation 'com.adobe.marketing.mobile:places:1.+'
implementation 'com.adobe.marketing.mobile:sdk-core:1.+'
Importe la extensión Places en la actividad principal de la aplicación.
import com.adobe.marketing.mobile.Places;
Para añadir la extensión Places a la aplicación mediante Objective-C o Swift:
Agregue los Places y Mobile Core bibliotecas en el proyecto. Tendrá que agregar los siguientes pods a su Podfile
:
pod 'ACPPlaces', '~> 1.0'
pod 'ACPCore', '~> 2.0' # minimum Core version for Places is 2.0.3
Alternativamente, si no utiliza Cocoapods, puede incluir manualmente las bibliotecas Mobile Core y Places de nuestra página versiones en Github.
Actualice sus Cocoapods:
pod update
Abra Xcode y, en la clase AppDelegate , importe los encabezados Core y Places :
Objective-C
#import "ACPCore.h"
#import "ACPPlaces.h"
Swift
import ACPCore
import ACPPlaces
Debe registrar la extensión Places con Mobile Core en Android y iOS.
En la aplicación OnCreate
registrar las extensiones de Places :
public class PlacesTestApp extends Application {
@Override
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
try {
Places.registerExtension();
MobileCore.start(null);
} catch (Exception e) {
Log.e("PlacesTestApp", e.getMessage());
}
}
}
En la aplicación application:didFinishLaunchingWithOptions:
registrar la extensión Places con sus otras llamadas de registro de SDK:
Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// make other sdk registration calls
[ACPPlaces registerExtension];
return YES;
}
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// make other sdk registration calls
ACPPlaces.registerExtension();
return true;
}
Los datos de ubicación pueden quedar obsoletos rápidamente, especialmente si el dispositivo no está recibiendo actualizaciones de ubicación en segundo plano.
Controle el tiempo de vida de los datos de pertenencia de Places en el dispositivo configurando la variable places.membershipttl
configuración. El valor pasado representa el número de segundos que el estado Places seguirá siendo válido para el dispositivo.
Dentro de la rellamada de MobileCore.start()
actualice la configuración con los cambios necesarios antes de llamar a lifecycleStart
:
public class PlacesTestApp extends Application {
@Override
public void onCreate() {
super.onCreate();
MobileCore.setApplication(this);
try {
Places.registerExtension();
MobileCore.start(new AdobeCallback() {
@Override
public void call(Object o) {
// switch to your App ID from Launch
MobileCore.configureWithAppID("my-app-id");
final Map<String, Object> config = new HashMap<>();
config.put("places.membershipttl", 30);
MobileCore.updateConfiguration(config);
MobileCore.lifecycleStart(null);
}
});
} catch (Exception e) {
Log.e("PlacesTestApp", e.getMessage());
}
}
}
En la primera línea de la rellamada de ACPCore
's start:
método, llamada updateConfiguration:
Objective-C
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
// make other sdk registration calls
const UIApplicationState appState = application.applicationState;
[ACPCore start:^{
[ACPCore updateConfiguration:@{@"places.membershipttl":@(30)}];
if (appState != UIApplicationStateBackground) {
[ACPCore lifecycleStart:nil];
}
}];
return YES;
}
Swift
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// make other sdk registration calls
let appState = application.applicationState;
ACPCore.start {
ACPCore.updateConfiguration(["places.membershipttl" : 30])
if appState != .background {
ACPCore.lifecycleStart(nil)
}
}
return true;
}
Para actualizar la configuración del SDK de forma programada durante la ejecución, utilice la siguiente información para cambiar los valores de configuración de la extensión Places. Para obtener más información, consulte Referencia de API de configuración.
Clave | Requerido | Descripción |
---|---|---|
places.libraries |
Sí | Bibliotecas de extensión Places para la aplicación móvil. Especifica el ID de biblioteca y el nombre de la biblioteca que admite la aplicación móvil. |
places.endpoint |
Sí | El extremo predeterminado del servicio de consulta de Places, que se utiliza para obtener información sobre bibliotecas y puntos de interés. |
places.membershipttl |
No | Valor predeterminado de 3600 (segundos en una hora). Indica cuánto tiempo, en segundos, seguirá siendo válida la información de pertenencia de Places para el dispositivo. |