AYUDA EN LÍNEA
 WINDEVWEBDEV Y WINDEV MOBILE

Este contenido se ha traducido automáticamente.  Haga clic aquí  para ver la versión en inglés.
Ayuda / WLanguage / Funciones WLanguage / Comunicación / Funciones Beacon
  • Versión necesaria
  • Bluetooth de baja energía
  • Permisos necesarios
WINDEV
WindowsLinuxUniversal Windows 10 AppJavaReportes y ConsultasCódigo de Usuario (UMC)
WEBDEV
WindowsLinuxPHPWEBDEV - Código Navegador
WINDEV Mobile
AndroidWidget Android iPhone/iPadIOS WidgetApple WatchMac CatalystUniversal Windows 10 App
Otros
Procedimientos almacenados
Permite buscar balizas cerca del dispositivo.
Ejemplo
// In a museum, we want to display on the visitor device the information
// regarding the masterpiece he is looking at. Associate to each Beacon
// the same UUID corresponding to the museum as well as Major and Minor numbers
// allowing each Beacon to be uniquely identified.
// A Beacon is placed next to each work of art in the museum.
// The application must call the BeaconDetectPrecise function with a
// BeaconGroup variable corresponding to the museum tags.
// The callback procedure passed as parameter to the function will be called whenever
// a new list of Beacons is detected. Then, all you have to do is find
// the nearest Beacon to identify the work the visitor is looking at and to display
// the corresponding information in the application.
 
// Museum UUID
sUUID is string = "f4231ab6-5ef2-6c99-4229-af6c72e0446e"
// Create a beaconGroup variable corresponding to the museum tags
groupMuseum is beaconGroup
groupMuseum.UUID = sUUID
// Start the detection
BeaconDetectPrecise(groupMuseum, ProcDetection)
INTERNAL PROCEDURE ProcDetection(arrInfo is array of beaconDetectionInfo)
nMinDistance is int
NearestBeacon is beaconDetectionInfo
FOR EACH Information OF arrInfo
IF nMinDistance = 0 _OR_ Information.Distance < nMinDistance
NearestBeacon = Information
END
END
// Display information about the masterpiece associated with the tag
DisplayMasterpieceInfo(NearestBeacon.Major, NearestBeacon.Minor)
END
Sintaxis
<Result> = BeaconDetectPrecise(<Group of Beacons> , <WLanguage procedure>)
<Result>: booleano
  • True si se inició la detección,
  • False en caso contrario. Para obtener más información sobre el error, utilice la función ErrorInfo.
<Group of Beacons>: beaconGroup Variable
Nombre del de beaconGroup Variable que describe el grupo de balizas buscado.
<WLanguage procedure>: Nombre de Procedure
Nombre de la WLanguage Procedure ("callback") llamada cuando se detecta una nueva lista de Balizas.
Este procedimiento tiene el siguiente formato:
PROCEDURE <Procedure Name>(<Array of Detection Info>)
donde es un beaconDetectionInfo Variable que describe la información sobre las Balizas detectadas (identificadores, números Mayor/Menor, distancia, etc.)
Observaciones
  • Esta función estudia a fondo las emisiones de Bluetooth alrededor del dispositivo para detectar faros y estimar su distancia. Este estudio consume mucha energía: por lo tanto, se recomienda llamar a esta función sólo si hay al menos un faro cercano.
    Para hacerlo, puede llamar a BeaconDetectBackground y luego a BeaconDetectPrecise desde el hex de devolución de llamada Procedure se ejecuta cuando la aplicación detecta la entrada en el rango de transmisión de Beacon.
    Además, le aconsejamos que detenga la detección precisa tan pronto como sea posible. BeaconStopPreciseDetection se utiliza para detener la detección actual: puede, por ejemplo, llamarse en la ejecución de WLanguage Procedure cuando la aplicación detecta la salida del rango de transmisión de las balizas.
  • La detección precisa de los faros se realiza sólo cuando la aplicación está en primer plano. Cuando la aplicación entra en Background, la detección se suspende automáticamente y se reanudará tan pronto como la aplicación vuelva al primer plano. La detección se detiene permanentemente cuando se detiene la aplicación. Para realizar una detección en Background, utilice BeaconDetectBackground.
  • iPhone/iPadIOS WidgetMac Catalyst Al generar la aplicación, puede permitir que se llame a BeaconDetectPrecise cuando la aplicación está en el Background (opción "Permitir llamar GPSF ollowMovement y BeaconDetectPrecise cuando la aplicación está en el Background " en el paso "Configuración" de asistente ).. En este caso, la detección precisa puede continuar cuando la aplicación está en Background o cuando el dispositivo está en modo de espera. Para obtener más información, consulte Generación de una aplicación iOS.
  • No se pueden iniciar varias detecciones precisas al mismo tiempo. Si se llama a la función BeaconDetectPrecise cuando ya se está realizando una detección, la detección en curso se detendrá y se iniciará una nueva detección.
AndroidWidget Android

Versión necesaria

Las funciones de gestión de balizas sólo están disponibles en Android 4.3 o posterior (nivel 18 de API).
Si se utiliza la función con una versión anterior del sistema, se produce un error fatal.
Para determinar la versión de Android en la que se está ejecutando la aplicación, utilice la función SysAndroidVersion.
AndroidWidget Android

Bluetooth de baja energía

El dispositivo debe ser compatible con la tecnología Bluetooth de baja energía (Bluetooth LE).
AndroidWidget Android

Permisos necesarios

La llamada a esta función modifica los permisos requeridos por la aplicación.
Permiso necesario: ACCESS_COARSE_LOCATION: Permite aplicar a get la posición aproximada del dispositivo.
Caso específico de Android 11: Esta función requiere la Permission ACCESS_BACKGROUND_LOCATION para acceder a la ubicación del dispositivo.
Esta Permission permite utilizar la función cuando la aplicación está en la Background.
Si la aplicación necesita utilizar la ubicación de Background:
  • Agregar manualmente el permiso "ACCESS_BACKGROUND_LOCATION" en el asistente de generación de la aplicación Android.
  • Solicitar explícitamente la ubicación de fondo Permission con PermissionRequest. Por ejemplo:
    PermissionRequest(permBackgroundLocation, Callback)
    INTERNAL PROCEDURE Callback(p is Permission)
    IF p.Granted THEN
    // Functions that require background location access can be used
    END
    END
Una ventana permite a los usuarios:
  • permitir el acceso a la ubicación del dispositivo mientras la aplicación está en la Background,
  • permitir el acceso a la ubicación sólo mientras la aplicación está en uso,
  • negar el acceso a la ubicación. El usuario puede cambiar estos permisos en cualquier momento en la configuración de Android.

Observaciones:
  • Siga las directrices de Google para las aplicaciones que requieren acceso a la ubicación de Background. Para obtener más información, consulte https://support.google.com/googleplay/android-developer/answer/9799150. Si no se cumplen estas condiciones (especialmente los requisitos de información del usuario), es posible que no se acepte la publicación de las aplicaciones en Google Play.
  • La ubicación de fondo Permission sólo debe solicitarse si se ha concedido la ubicación Permission. De lo contrario, PermissionRequest fallará.
  • Si la opción elegida por el usuario para la solicitud de acceso a la localización de Background es más restrictiva que la opción elegida para la solicitud de acceso a la localización, la aplicación se reiniciará automáticamente.
  • En los dispositivos con Android 10 o anterior, si se ha concedido la ubicación Permission a la aplicación, se concederá la ubicación de fondo Permission sin mostrar una ventana.
Componente: wd290android.aar
Versión mínima requerida
  • Versión 23
Comentarios
Haga clic en [Agregar] para publicar un comentario

Última modificación: 29/06/2023

Señalar un error o enviar una sugerencia | Ayuda local