La extensión Places le 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 detectar eventos que contienen coordenadas GPS y eventos de región de geovalla, esta extensión envía nuevos eventos que procesa 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 recupera de las API. Las regiones devueltas por las API se almacenan en la caché y la persistencia, lo que permite un procesamiento sin conexión limitado.
En Experience Platform Launch, haga clic en Extensiones pestaña.
En el Catálogo , busque la pestaña Places y haga clic en Instalar.
Seleccione las bibliotecas de Places que desee utilizar en esta propiedad. Estas son las bibliotecas a las que se podrá acceder en la aplicación.
Haga clic en Guardar.
Al hacer clic en Guardar, el SDK de Experience Platform busca puntos de interés en los servicios de Places en las bibliotecas seleccionadas. Los datos del punto de interés no se incluyen en la descarga de la biblioteca cuando crea la aplicación, pero se descarga un subconjunto de puntos de interés basado en la ubicación en el 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 de Places también están disponibles para las siguientes plataformas. Para agregar Places a la aplicación al desarrollar con una de estas plataformas, consulte los vínculos adjuntos:
Complemento React Native Places
Para añadir la extensión Places a la aplicación mediante Java:
Añada 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:
Añadir los lugares y Mobile Core Bibliotecas de a su proyecto. Deberá añadir 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 desde nuestro 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 el OnCreate
método para registrar las extensiones 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 el application:didFinishLaunchingWithOptions:
, registre la extensión Places con sus otras llamadas de registro del 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 recibe 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
valor de configuración. El valor pasado representa el número de segundos que el estado de Places seguirá siendo válido para el dispositivo.
Dentro de la llamada de retorno 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 llamada de retorno de ACPCore
de 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 mediante programación 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í | Las bibliotecas de la extensión Places de la aplicación móvil. Especifica el ID de la biblioteca y el nombre de la biblioteca compatible con la aplicación móvil. |
places.endpoint |
Sí | El punto de conexión 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, la información de pertenencia de Places del dispositivo seguirá siendo válida. |