Extensión Places

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.

Instalación de la extensión Places en Adobe Experience Platform Launch

  1. En Experience Platform Launch, haga clic en Extensiones pestaña.

  2. En el Catálogo , busque la pestaña Places y haga clic en Instalar.

  3. 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.

  4. 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.

  5. 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.

Configuración de la extensión Places

Añada la extensión Places a la aplicació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 Cordova Places

Complemento React Native Places

Complemento Flutter Places

Complemento Xamarin Places

Android

Para añadir la extensión Places a la aplicación mediante Java:

  1. 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.+'
    
  2. Importe la extensión Places en la actividad principal de la aplicación.

    import com.adobe.marketing.mobile.Places;
    

iOS

Para añadir la extensión Places a la aplicación mediante Objective-C o Swift:

  1. 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.

  2. Actualice sus Cocoapods:

    pod update
    
  3. 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
    

Registre la extensión Places con Mobile Core

Debe registrar la extensión Places con Mobile Core en Android y iOS.

Android

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());
        }
    }
}

iOS

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;
}

Modificación del tiempo de vida de la pertenencia a Places

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.

Android

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());
        }
    }
}

iOS

En la primera línea de la llamada de retorno de ACPCorede 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;
}

Claves de configuración

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 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 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.

En esta página