class
Es la clase principal del SDK. Inicializa los subsistema y conecta con el servidor de Outbarriers SDK.
public static void getManager(Context context, OutbarriersManagerListener listener)
Inicializa el SDK y obtiene el manager. Mediante el listener
notifica y devuelve una instancia de OutbarriersManager
si todo ha ido bien llamando al método listener.onSuccess(OutbarriersManager manager)
.
Los credenciales de acceso a la API deben estar especificado como meta datos en el AndroidManifest
bajo com.outbarriers.sdk.API_KEY
y com.outbarriers.sdk.API_SECRET
.
<application> ... <meta-data android:name="com.outbarriers.sdk.API_KEY" android:value="API_KEY" /> <meta-data android:name="com.outbarriers.sdk.API_SECRET" android:value="API_SECRET" /> ... </application>
Si ha habido algún problema, se llama listener.onError(OutbarriersManagerError error)
.
Por defecto la detección de balizas virtuales (GPS) está habilitada. Si no es necesario, se recomienda su desactivación para minimizar el consumo de batería.
public static void getManager(Context context, OutbarriersManagerListener listener, boolean enableGPS)
Inicializa el SDK y obtiene el manager. Mediante el listener
notifica y devuelve una instancia de OutbarriersManager
si todo ha ido bien llamando al método listener.onSuccess(OutbarriersManager manager)
.
Los credenciales de acceso a la API deben estar especificado como meta datos en el AndroidManifest
bajo com.outbarriers.sdk.API_KEY
y com.outbarriers.sdk.API_SECRET
.
Si ha habido algún problema, se llama listener.onError(OutbarriersManagerError error)
.
enableGPS
habilita o no la detección de balizas virtuales (GPS). Es recomendable desactivarlo si la detección se va a producir en segundo plano.
public static void getManager(Context context, OutbarriersManagerListener listener, String apiKey, String apiSecret, boolean enableGPS)
Inicializa el SDK y obtiene el manager. Mediante el listener
notifica y devuelve una instancia de OutbarriersManager
si todo ha ido bien llamando al método listener.onSuccess(OutbarriersManager manager)
.
enableGPS
habilita o no la detección de balizas virtuales (GPS).
Los credenciales de acceso son especificados explícitamente en apiKey
y apiSecret
.
Si ha habido algún problema, se llama listener.onError(OutbarriersManagerError error)
.
public static boolean hasBluetoothSmart()
Devuelve true
si el dispositivo dispone de Bluetooth Smart (Bluetooth Low Energy) y el sistema operativo lo soporta.
public boolean getGPSEnabled()
Devuelve true
si la detección de balizas GPS (virtuales) está habilitada.
public void setGPSEnabled(boolean isEnable)
Habilita o no la detección de balizas virtuales (GPS).
public void setOnOutbeaconDetected(OutbeaconListener outbeaconListener)
Establece el listener a invocar cuando se detecta y resuelve una baliza.
public void setOffOutbeaconDetected(OutbeaconListener outbeaconListener)
Deasocia el listener a invocar cuando se detecta y resuelve una baliza.
public boolean startDetection()
Inicia la detección de balizas.
Si se ha podido iniciar la detección, devuelve true
En caso de error, se invoca al método OutbarriersManagerListener.onError
con el error especificado.
Importante: Establecer outbeaconListener
con setOnOutbeaconDetected
.
public boolean stopDetection()
Para la detección de balizas.
Si se ha podido parar la detección, devuelve true
En caso de error, se invoca al método OutbarriersManagerListener.onError
con el error especificado.
public boolean isDetecting()
Devuelve true
si se ha iniciado la detección de balizas.
public void setMode(DetectionMode mode)
Establece el perfil de detección.
Un perfil de detección especifica los tiempos de escucha de balizas y el tiempo a esperar entre escucha y escucha
Según los requisitos de aplicación, se puede establecer uno de los siguientes modos: WALK
, LOOKING
, STAY
.
Por defecto se usa el modo WALK
.
public void setCustomMode(long timeDetection, long timeBetweenDetections)
Establece timeDetection
milisegundos (ms) para la detección y timeBetweenDetections
ms como pausa entre deteciones.
class
Esta clase se encarga de comprobar la conexión con el servidor de Outbarriers SDK.
public static void onSuccess(OutbarriersManager ob)
Inicializa el manager con ob
en el caso de que la conexión se establezca correctamente.
public static void onError(OutbarriersManagerError error)
Este método se encarga de tratar los errores derivados de la conexión
class
void onOutbeaconDetected(OutbeaconMatch od)
Se invoca cuando se ha producido la detección de una baliza
void onDetectionError(OutbarriersError error)
Maneja los errores que se producen al detectar las balizas.
void onNearestBeacons(OutbeaconList list)
Genera una lista con las balizas mas cercanas.
void onScanningStatus(boolean isScanning)
Se encarga de establecer el estado de escaneo del listener
.
class
Representa la asociación de una baliza dentro del radio de alcance del dispositivo.
public Outbeacon outbeacon : Representa la baliza de outbarriers.
public int rssi : Indicador de potencia de la señal recibida.
public String proximity : Representa la distancia a la que se encuentra la baliza.
public String toString()
Devuelve un mensaje que contiene el nombre de la baliza y la distancia a la que se encuentra.
class
Mediante esta clase se establecen los diferentes errores que pueden ocurrir dentro del SDK.
int code : Representa el código de error.
public final static int NO_ERROR = 0
public final static int NO_BLE = 1
public final static int API_ERROR = 2
public final static int API_SYNC_ERROR = 3
public final static int API_NO_CREDENTIALS = 4
public OutbarriersManagerError(int code)
Constructor de la clase. El parámetro code
indica el código de error predefinido.
public String toString()
Devuelve una cadena con el mensaje de error.
class
Crea una nueva instancia para la baliza.
UUID uuid: Identificador único de la baliza.
JSONObject payload: Datos asociados a la baliza.
String name: Nombre de la baliza.
double longitude: Representa la longitud de la posición de la baliza.
double latitude: Representa la latitud de la posición de la baliza.
String location: Úbicación de la baliza.
public Outbeacon(UUID uuid, String name, double latitude, double longitude, String location, JSONObject payload)
Este método es el constructor de la clase. Se encarga de inicializar una nueva baliza de Outbarriers.
enum
Perfiles de tiempos de detección
WALK
: 350 ms detectando y 650 ms entre ciclo detección y detección.
LOOKING
: 450 ms detectando y 1200 ms entre ciclo detección y detección.
STAY
: 450 ms detectando y 4000 ms entre ciclo detección y detección.