This is a Geolocation Proximity Alerts Sample.
In this xpz, there´s one SDPanel with this events:
"Grava Alertas"/Record Alerts
It calls a procedure that records several alerts with one associated action, named "ProxAlertNotification". This action is defined in the same object and calls a procedure the records de Device Id for wich the alert was generated, inside the transaction "Informacao"
"Limpa Alertas"/Clean Alerts
Clean all the current alerts.
"Alertas sem ação"/Alerts without actions
Calls a diferente procedure that records the alerts, but has no action linked. In this case a notification is received by the user when he enters the alert radius
"Alertas Ativos"/Active Alerts
Shows the list of active alerts that will be execute when the user enters in one´s radius;
"Alerta Atual"/Current Alert
Shows the last alert where the user "entered/executed"
To better testing, as larger the radius, the better, and one should take carefull so they don´t overlap. In this the alerts location is spread in a 20 km radius, with at least 1 km diference between each one.
Known issues
- For this moment (GeneXus V15 U7) in Android it´s not possible to use the ExpirationTime - if one puts something like '&alert.ExpirationTime = #2015-12-31#'" the alert will not work.
- If the alert has an action, and this action send a message, and the app is executing in background, the action won´t work. It works fine if the app is in foreground.
This sample was designed in GeneXus V15 U6 and tested mostly for Android, though should work the same way in iOS.