Esta es la información sobre las referencias de API en la extensión Places:
Cuando un dispositivo cruza uno de los límites predefinidos de la región del servicio de lugares de la aplicación, la región y el tipo de evento se pasan al SDK para su procesamiento.
Procesar un evento de Geofence
región para el proporcionado transitionType
.
Pasa el transitionType
de GeofencingEvent.getGeofenceTransition()
. Actualmente Geofence.GEOFENCE_TRANSITION_ENTER
y Geofence.GEOFENCE_TRANSITION_EXIT
son compatibles.
Sintaxis
Esta es la sintaxis para este método:
public static void processGeofence(final Geofence geofence, final int transitionType);
Ejemplo
Llame a este método en el IntentService
que esté registrado para recibir eventos de geofence de Android.
Este es un ejemplo de código para este método:
public class GeofenceTransitionsIntentService extends IntentService {
public GeofenceTransitionsIntentService() {
super("GeofenceTransitionsIntentService");
}
protected void onHandleIntent(Intent intent) {
GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
List<Geofence> geofences = geofencingEvent.getTriggeringGeofences();
if (geofences.size() > 0) {
// Call the Places API to process information
Places.processGeofence(geofences.get(0), geofencingEvent.getGeofenceTransition());
}
}
}
Se debe llamar a este método en el CLLocationManager
delegado, que indica si el usuario ha entrado o salido de una región específica.
Sintaxis
Esta es la sintaxis para este método:
+ (void) processRegionEvent: (nonnull CLRegion*) region forRegionEventType: (ACPRegionEventType) eventType;
Ejemplo
Este es un ejemplo de código para este método:
- (void) locationManager:(CLLocationManager *)manager didEnterRegion:(CLRegion *)region {
[ACPPlaces processRegionEvent:region forRegionEventType:ACPRegionEventTypeEntry];
}
- (void) locationManager:(CLLocationManager *)manager didExitRegion:(CLRegion *)region {
[ACPPlaces processRegionEvent:region forRegionEventType:ACPRegionEventTypeExit];
}
Procesar todo Geofences
al GeofencingEvent
mismo tiempo.
Sintaxis
public static void processGeofenceEvent(final GeofencingEvent geofencingEvent);
Ejemplo
Llame a este método en el IntentService
que esté registrado para recibir eventos de geofence de Android
public class GeofenceTransitionsIntentService extends IntentService {
public GeofenceTransitionsIntentService() {
super("GeofenceTransitionsIntentService");
}
protected void onHandleIntent(Intent intent) {
GeofencingEvent geofencingEvent = GeofencingEvent.fromIntent(intent);
// Call the Places API to process information
Places.processGeofenceEvent(geofencingEvent);
}
}
Devuelve una lista ordenada de puntos de interés cercanos en una llamada de retorno. Una versión sobrecargada de este método devuelve un código de error si se ha producido algún problema con la llamada de red resultante.
Esta es la sintaxis para este método:
Sintaxis
public static void getNearbyPointsOfInterest(final Location location, final int limit,
final AdobeCallback<List<PlacesPOI>> callback);
public static void getNearbyPointsOfInterest(final Location location, final int limit,
final AdobeCallback<List<PlacesPOI>> callback,
final AdobeCallback<PlacesRequestError> errorCallback);
Ejemplo
Este es un ejemplo de código para este método:
// getNearbyPointsOfInterest without an error callback
Places.getNearbyPointsOfInterest(currentLocation, 10, new AdobeCallback<List<PlacesPOI>>() {
@Override
public void call(List<PlacesPOI> pois) {
// do required processing with the returned nearbyPoi array
startMonitoringPois(pois);
}
});
// getNearbyPointsOfInterest with an error callback
Places.getNearbyPointsOfInterest(currentLocation, 10,
new AdobeCallback<List<PlacesPOI>>() {
@Override
public void call(List<PlacesPOI> pois) {
// do required processing with the returned nearbyPoi array
startMonitoringPois(pois);
}
}, new AdobeCallback<PlacesRequestError>() {
@Override
public void call(PlacesRequestError placesRequestError) {
// look for the placesRequestError and handle the error accordingly
handleError(placesRequestError);
}
}
);
Sintaxis
+ (void) getNearbyPointsOfInterest: (nonnull CLLocation*) currentLocation
limit: (NSUInteger) limit
callback: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable nearbyPoi)) callback;
+ (void) getNearbyPointsOfInterest: (nonnull CLLocation*) currentLocation
limit: (NSUInteger) limit
callback: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable nearbyPoi)) callback
errorCallback: (nullable void (^) (ACPPlacesRequestError result)) errorCallback;
Ejemplo
// getNearbyPointsOfInterest without an error callback
[ACPPlaces getNearbyPointsOfInterest:location
limit:10
callback:^(NSArray<ACPPlacesPoi*>* nearbyPoi) {
// do required processing with the returned nearbyPoi array
[self startMonitoringPois:nearbyPOI];
}];
// getNearbyPointsOfInterest with an error callback
[ACPPlaces getNearbyPointsOfInterest:location limit:10
callback:^(NSArray<ACPPlacesPoi *> * _Nullable nearbyPoi) {
// do required processing with the returned nearbyPoi array
[self startMonitoringPois:nearbyPOI];
} errorCallback:^(ACPPlacesRequestError result) {
// look for the error and handle accordingly
[self handleError:result];
}
];
Solicita una lista de puntos de interés en los que se sabe que se encuentra el dispositivo y los devuelve en una llamada de retorno.
Esta es la sintaxis para este método:
Sintaxis
public static void getCurrentPointsOfInterest(final AdobeCallback<List<PlacesPOI>> callback);
Ejemplo
Este es un ejemplo de código para este método:
Places.getCurrentPointsOfInterest(new AdobeCallback<List<PlacesPOI>>() {
@Override
public void call(List<PlacesPOI> pois) {
// use the obtained POIs that the device is within
processUserWithinPois(pois);
}
});
Sintaxis
Esta es la sintaxis para este método:
+ (void) getCurrentPointsOfInterest: (nullable void (^) (NSArray<ACPPlacesPoi*>* _Nullable userWithinPoi)) callback;
Ejemplo
Este es un ejemplo de código para este método:
[ACPPlaces getCurrentPointsOfInterest:^(NSArray<ACPPlacesPoi*>* userWithinPoi) {
// do required processing with the returned userWithinPoi array
[self processUserWithinPois:userWithinPoi];
}];
Solicita la ubicación del dispositivo, como se conoce anteriormente, mediante la extensión Places.
La extensión Places solo conoce las ubicaciones que se le proporcionaron mediante llamadas a GetNearbyPointsOfInterest
.
Sintaxis
Esta es la sintaxis para este método:
public static void getLastKnownLocation(final AdobeCallback<Location> callback);
Ejemplo
Este es un ejemplo de código para este método:
Places.getLastKnownLocation(new AdobeCallback<Location>() {
@Override
public void call(Location lastLocation) {
// do something with the last known location
processLastKnownLocation(lastLocation);
}
});
Sintaxis
Esta es la sintaxis para este método:
+ (void) getLastKnownLocation: (nullable void (^) (CLLocation* _Nullable lastLocation)) callback;
Ejemplo
Este es un ejemplo de código para este método:
[ACPPlaces getLastKnownLocation:^(CLLocation* lastLocation) {
// do something with the last known location
[self processLastKnownLocation:lastLocation];
}];
Borra los datos del lado del cliente para la extensión Places en el estado compartido, el almacenamiento local y en la memoria.
Sintaxis
Esta es la sintaxis para este método:
public static void clear();
Ejemplo
Este es un ejemplo de código para este método:
Places.clear();
Borra los datos del lado del cliente para la extensión Places en estado compartido, almacenamiento local y en memoria.
Sintaxis
Esta es la sintaxis para este método:
+ (void) clear;
Ejemplo
Este es un ejemplo de código para este método:
[ACPPlaces clear];
Disponible a partir de Places v1.4.0
Establece el estado de autorización en la extensión Places.
El estado proporcionado se almacena en el estado compartido Lugares y es solo para referencia.
La llamada a este método no afecta al estado real de autorización de ubicación de este dispositivo.
Sintaxis
Esta es la sintaxis para este método:
public static void setAuthorizationStatus(final PlacesAuthorizationStatus status);
Ejemplo
Este es un ejemplo de código para este método:
Places.setAuthorizationStatus(PlacesAuthorizationStatus.ALWAYS);
Disponible a partir de ACPPlaces v1.3.0
Establece el estado de autorización en la extensión Places.
El estado proporcionado se almacena en el estado compartido Lugares y es solo para referencia.
La llamada a este método no afecta al estado real de autorización de ubicación de este dispositivo.
Cuando cambia el estado de autorización del dispositivo, se invoca el locationManager:didChangeAuthorizationStatus:
método de su CLLocationManagerDelegate
. Desde este método, debe pasar el nuevo CLAuthorizationStatus
valor a la API de ACPPlaces setAuthorizationStatus:
.
Sintaxis
Esta es la sintaxis para este método:
+ (void) setAuthorizationStatus: (CLAuthorizationStatus) status;
Ejemplo
Este es un ejemplo de código para este método:
- (void) locationManager: (CLLocationManager*) manager didChangeAuthorizationStatus: (CLAuthorizationStatus) status {
[ACPPlaces setAuthorizationStatus:status];
}