If a player has the app open on multiple devices, then one device might check in its location to say it is away from the beacon (which removes the player from 'inRange' inside a beacon). But the other device will check the player in again because that one is actually in range of it (adds the player to 'inRange' of the beacon again). This could loop and cause problems.
This might require some kind of device id, to track it per device instead of per user.
If a player has the app open on multiple devices, then one device might check in its location to say it is away from the beacon (which removes the player from 'inRange' inside a beacon). But the other device will check the player in again because that one is actually in range of it (adds the player to 'inRange' of the beacon again). This could loop and cause problems.
This might require some kind of device id, to track it per device instead of per user.