Registra la extensión del monitor de lugares con el concentrador de Evento principal.
Esta es la sintaxis y el código de ejemplo de esta API:
Esta es la sintaxis en Java:
public static void registerExtension();
Llame a este método en el onCreate
método donde se inicializa el resto del SDK de Experience Platform.
public class MobileApp extends Application {
@Override
public void onCreate(){
super.onCreate();
MobileCore.setApplication(this);
try {
PlacesMonitor.registerExtension();
} catch (Exception e) {
//Log the exception
}
}
}
Esta es la sintaxis y el código de ejemplo de esta API:
Esta es la sintaxis de Objective-C:
+ (void) registerExtension;
This method should be called in the didFinishLaunchingWithOptions
delegate method of the AppDelegate
.
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
[ACPCore configureWithAppId:@"launch-appID"];
[ACPPlaces registerExtension];
[ACPPlacesMonitor registerExtension];
[ACPCore start:^{
// do other initialization of the SDK
}];
return YES;
}
Devuelve la versión actual de la extensión Monitor de lugares
Esta es la sintaxis y el código de ejemplo de esta API:
public static String extensionVersion();
String placesMonitorVersion = PlacesMonitor.extensionVersion();
Esta es la sintaxis y el código de ejemplo de esta API:
+ (nonnull NSString*) extensionVersion;
NSString *placesMonitorVersion = [ACPPlacesMonitor extensionVersion];
Comience el seguimiento de la ubicación del dispositivo y la supervisión de lugares cercanos.
Si el usuario no ha concedido autorización para utilizar la ubicación del dispositivo, la primera llamada a la start
API solicita permiso al usuario.
Esta es la sintaxis y el código de ejemplo de esta API:
public static void start();
PlacesMonitor.start();
Para comenzar la supervisión, el servicio de ubicación debe contar con la autorización necesaria:
start
API solicita la autorización para utilizar el servicio de lugares según la configuración de la aplicación.ACPPlacesMonitorMode
. De forma predeterminada, el monitor utiliza ACPPlacesMonitorModeSignificantChanges
.Si la llamada a la supervisión de inicio se realiza antes de que el SDK haya terminado de inicializarse, puede que se ignore.
Puede asegurarse de que el SDK ha finalizado la inicialización llamando start
desde la llamada de retorno proporcionada a ACPCore::start:
.
Esta es la sintaxis y el código de ejemplo de esta API:
+ (void) start;
Inicio del Monitor de lugares cuando se está inicializando el SDK:
[ACPCore start:^{
[ACPPlacesMonitor start];
}];
Inicio del monitor de lugares más adelante en la ejecución de la aplicación:
[ACPPlacesMonitor start];
Detiene el seguimiento de la ubicación del dispositivo.
Esta es la sintaxis y el código de ejemplo de esta API:
public static void stop();
PlacesMonitor.stop();
Esta es la sintaxis y el código de ejemplo de esta API:
+ (void) stop;
[ACPPlacesMonitor stop];
Utilice esta API para una actualización inmediata de la ubicación del dispositivo. Cuando llama a esta API, el dispositivo intenta determinar la ubicación con el nivel de precisión que especificó. Este proceso también actualiza los puntos de interés cercanos supervisados por la extensión.
Esta es la sintaxis y el código de ejemplo de esta API:
public static void updateLocation();
PlacesMonitor.updateLocation();
+ (void) updateLocationNow;
[ACPPlacesMonitor updateLocationNow];
Puede utilizar esta API para establecer el tipo de permiso de ubicación que se solicita al usuario y que se le autoriza a utilizar para el servicio de lugares.
Esta API establece el tipo de solicitud de permiso de ubicación para la que se solicita al usuario que seleccione.
Esta API solo es efectiva para dispositivos con Android 10 y versiones posteriores.
Para configurar el mensaje de autorización adecuado para que se muestre al usuario, llame a esta API antes de la PlacesMonitor.start()
. Al llamar a este método, mientras se supervisa activamente, se actualiza el nivel de permisos de ubicación al valor de permiso solicitado. Si el usuario de la aplicación ya ha proporcionado o denegado el nivel de autorización solicitado, o si intenta reducir el permiso de ALWAYS_ALLOW
a WHILE_USING_APP
, este método no tiene ningún efecto.
El permiso de ubicación se puede establecer en uno de los siguientes valores:
PlacesMonitorLocationPermission.WHILE_USING_APP
Este valor solicita al usuario que acceda a la ubicación del dispositivo solo mientras utiliza la aplicación. Se considera que una aplicación está en uso cuando el usuario está mirando la aplicación en la pantalla del dispositivo, por ejemplo, se está ejecutando una actividad en primer plano.
Asegúrese de que el permiso de usuario de ACCESS_FINE_LOCATION está establecido en el archivo de manifiesto de la aplicación.
PlacesMonitorLocationPermission.ALWAYS_ALLOW
Este valor indica al usuario que acceda a la ubicación del dispositivo incluso cuando la aplicación está en segundo plano.
Asegúrese de que los permisos de usuario de ACCESS_BACKGROUND_LOCATION y ACCESS_FINE_LOCATION están configurados en el archivo de manifiesto de la aplicación.
PlacesMonitorLocationPermission.ALWAYS_ALLOW
es el valor de permiso de ubicación predeterminado.
Si al usuario de la aplicación se le concede el permiso, las geofences no se registrarán en el sistema operativo. WHILE_USING_APP
Como resultado, la extensión Monitor de lugares no activará eventos de entrada y salida en las regiones que están teniendo lugar en segundo plano.
Esta es la sintaxis y el código de ejemplo de esta API:
public static void setLocationPermission(final PlacesMonitorLocationPermission placesMonitorLocationPermission)
Para solicitar el WHILE_USING_APP
permiso:
// set the location permission
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.WHILE_USING_APP);
// start monitoring
PlacesMonitor.start()
Para actualizar a ALWAYS_ALLOW
permiso:
// upgrade the permission level
PlacesMonitor.setLocationPermission(PlacesMonitorLocationPermission.ALWAYS_ALLOW);
Esta API establece el tipo de solicitud de autorización de ubicación para la que se solicitará al usuario.
Para configurar el mensaje de autorización adecuado para que se muestre al usuario, llame SetRequestAuthorizationLevel
antes de llamar [ACPPlacesMonitor start]
. Para configurar el mensaje de autorización adecuado para que se muestre al usuario, llame a esta API antes del [ACPPlacesMonitor start]
. Al llamar a este método mientras se supervisa activamente, se actualizará el nivel de autorización de ubicación al valor de autorización solicitado. Si el nivel de autorización solicitado ya ha sido proporcionado o denegado por el usuario de la aplicación o si se produce una rebaja del permiso de ACPPlacesRequestAuthorizationLevelAlways
a la ACPPlacesRequestAuthorizationLevelWhenInUse
autorización, este método no tiene ningún efecto.
El nivel de autorización se puede establecer en uno de los siguientes valores:
ACPPlacesRequestAuthorizationLevelWhenInUse
Solicita al usuario permiso para utilizar el servicio de lugares mientras la aplicación está en uso. El mensaje del usuario contiene el texto de la NSLocationWhenInUseUsageDescription
clave en el archivo Info.plist de la aplicación y se requiere la presencia de esa clave al llamar a este método. Para obtener más información, consulte la documentación de Apple en requestWhenInUseAuthorization.
ACPPlacesRequestMonitorAuthorizationLevelAlways
Utilice esta enumeración para solicitar el servicio de lugares incluso cuando la aplicación esté en segundo plano. Debe tener las NSLocationAlwaysUsageDescription
teclas y NSLocationWhenInUseUsageDescription
en Info.plist de la aplicación. Estas teclas definen el texto que aparecerá durante el mensaje del usuario. Para obtener más información, consulte la documentación de Apple en requestAlwaysAuthorization.
ACPPlacesRequestAuthorizationLevelAlways
es el valor de autorización de solicitud predeterminado.
La aplicación que autorizó el uso del ACPPlacesRequestAuthorizationLevelWhenInUse
permiso no activará eventos de entrada y salida en regiones que se encuentren en segundo plano.
Esta es la sintaxis y el código de ejemplo de esta API:
+ (void) setRequestAuthorizationLevel: (ACPPlacesRequestAuthorizationLevel) requestAuthorizationLevel;
Para solicitar el ACPPlacesRequestAuthorizationLevelWhenInUse
permiso:
// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelWhenInUse];
// start monitoring
[ACPPlacesMonitor start];
Para actualizar a ACPPlacesRequestAuthorizationLevelAlways
autorización:
// set the request authorization level
[ACPPlacesMonitor setRequestAuthorizationLevel: ACPPlacesRequestAuthorizationLevelAlways];
La supervisión se puede establecer en uno de los siguientes valores:
ACPPlacesMonitorModeContinuous
La extensión de supervisión recibe y procesa las ubicaciones con mayor frecuencia. Esta estrategia de monitoreo consume mucha energía pero proporciona mayor precisión. Para obtener más información, consulte la documentación de Apple sobre supervisióncontinua.
ACPPlacesMonitorModeSignificantChanges
La extensión de supervisión solo recibe y procesa las actualizaciones de ubicación después de que el dispositivo se haya desplazado una distancia significativa desde la ubicación procesada anteriormente. Esta estrategia de monitoreo consume menos energía que la estrategia de monitoreo continuo. Para obtener más información, consulte la documentación de Apple sobre supervisión significativa
Esta es la sintaxis y el código de ejemplo de esta API:
+ (void) setPlacesMonitorMode: (ACPPlacesMonitorMode) monitorMode;
[ACPPlacesMonitor setPlacesMonitorMode:ACPPlacesMonitorModeSignificantChanges];