I am developing an ibeacon app on swift and i would like to log the minutes that every client/user spends within a beacon range. I would really appreciate any suggestions.
How to log the time when the user is in range ibeacon
293 Views Asked by Savas Kon At
1
There are 1 best solutions below
Related Questions in TIMESTAMP
- Laravel's whereBetween method not working with two timestamps
- TimeStamp on ICMP on Scapy (Python)
- How to properly set timestamp field seeder for a postgreSql database in Laravel 10.47?
- Hive query on HUE shows different timestamp than programatically/on data
- Invalid argument with SendMsg() cmsg in golang
- C# DateTime.Parse method losses nanosecond precision of the timestamp string
- How can I keep randomized UNIX timestamp in specific hour range in SQL?
- How to edit the Samsung Trailer Tag "Timestamp"
- How can I find the elapsed time from a specific date to now when using Pandas Timestamp in Python?
- How to customize tick mark for 2D surface plotply in both x axis (time of day) & y axis (dates in a year)
- How to set the display format of timestamp in Apache IoTDB to yyyy-MM-dd HH:mm:ss.SSSZZ?
- How to print out a datetime stamp info in a plpgSQL using "raise info" function for debugging purpose in Redshift environment
- string to timestamp with sql
- How can I 'tell' PostgreSQL what the timestamp format is when I INSERT a text string that represents a timestamp into a table?
- Unable to write the file while using windowing for streaming data use to ":" in Windows
Related Questions in IBEACON
- Handling async functions in Swift
- can a android or apple phone broadcast and receive Bluetooth BLE signals simultaneously?
- Flutter Trilateration (x,y)
- How to Update Variables Between Widgets?
- How can one use the iOS 17 CLMonitor APIs to monitor for an iBeacon?
- Detect BLE iBeacon for paired BLE peripheral with dasbus in Python
- Why does audio streaming interfere with iBeacon Ranging and events on iOS?
- Unable to scan ibeacon in Flutter
- How can i implement beacon device tap in flutter?
- Does selecting a specific advertising channel in iBeacon BLE lead to lower transmission speed?
- Why my code about advertisement in BLE takes around 1 second between packages sent
- Recommend apps to simulate multiple BLE Beacons at once from one device?
- How many conditions can we add to a CLMonitor from WWDC2023?
- How to test Bluetooth functionality using React Native
- How to get correct coordinates from BLE trained data based on RSSI value?
Related Questions in CLBEACONREGION
- Can you apply time restrictions for ibeacon notifications when exiting a region?
- iOS Bluetooth CBPeripheralManager Dictionary Key Support
- plist stored value is different while accessing in Objective-c
- Does stopMonitoringForRegion stops only the duplicated region or also the original region as well?
- Region Monitoring not working in iOS if region don't have major
- iBeacon monitoring mode proximity for beacon region
- Stop Bluetooth Alert Pop on iOS 10.3
- Unable to range beacon with infinite time in Background mode, even after set "allowsBackgroundLocationUpdates" to TRUE
- Unable to detect Beacon when Device already in Beacon range & then we turn on Bluetooth & application is killed
- What happens in iOS stop monitoring for beacon region? How can we get iOS create more subsequent didEnterRegion events?
- CLLocationManager requestStateForRegion with "When In Use" location access error code 4
- CLBeaconRegion not monitored with StartMonitoringForRegion in simulator with XCTest
- Is there anyway to monitor CLBeaconRegion without using CLLocationManager
- How to log the time when the user is in range ibeacon
- CLPeripheralManager.startAdvertising does not accept return value of CLBeaconRegion.peripheralDataWithMeasuredPower
Trending Questions
- UIImageView Frame Doesn't Reflect Constraints
- Is it possible to use adb commands to click on a view by finding its ID?
- How to create a new web character symbol recognizable by html/javascript?
- Why isn't my CSS3 animation smooth in Google Chrome (but very smooth on other browsers)?
- Heap Gives Page Fault
- Connect ffmpeg to Visual Studio 2008
- Both Object- and ValueAnimator jumps when Duration is set above API LvL 24
- How to avoid default initialization of objects in std::vector?
- second argument of the command line arguments in a format other than char** argv or char* argv[]
- How to improve efficiency of algorithm which generates next lexicographic permutation?
- Navigating to the another actvity app getting crash in android
- How to read the particular message format in android and store in sqlite database?
- Resetting inventory status after order is cancelled
- Efficiently compute powers of X in SSE/AVX
- Insert into an external database using ajax and php : POST 500 (Internal Server Error)
Popular # Hahtags
Popular Questions
- How do I undo the most recent local commits in Git?
- How can I remove a specific item from an array in JavaScript?
- How do I delete a Git branch locally and remotely?
- Find all files containing a specific text (string) on Linux?
- How do I revert a Git repository to a previous commit?
- How do I create an HTML button that acts like a link?
- How do I check out a remote Git branch?
- How do I force "git pull" to overwrite local files?
- How do I list all files of a directory?
- How to check whether a string contains a substring in JavaScript?
- How do I redirect to another webpage?
- How can I iterate over rows in a Pandas DataFrame?
- How do I convert a String to an int in Java?
- Does Python have a string 'contains' substring method?
- How do I check if a string contains a specific word?
Typically you want to log this information to a server, so you can see all the times from different users in once place. That means making a web service call each time a beacon appears or disappears. Then you can calculate on the server how long it was between the time the beacon appeared and the beacon disappeared.
A typical implementation would send the following fields to the server:
When do you make your web service calls? There are two answers. A simple one and a complex one:
Complex Answer
What complicates this answer is the fact that iOS apps typically track beacons using a wildcard
CLBeaconRegionthat leaves some of the identifiers nil. When monitoring for beacons with such a region, you don't actually know which beacons appear and disappear -- you just know when one of a group of beacons appears, and when all beacons in that same group disappear.In order to track the individual beacons with all their identifiers, you have to use ranging APIs, which give you an update each second that a beacon is visible. But ranging only works in the foreground (and in the background for 5 seconds after the first beacon in the region appears or all disappear), so when your app goes to the background, it loses access ti fine-grained information about exactly which beacons are visible.
It is possible to build logic that combines the two techniques (ranging and monitoring) so you use ranging to track start times and monitoring to track stop times -- but in cases where you have many beacons, it only gives you a rough idea of the time each individual beacon disappeared.
Simple Answer
If you have fewer than 20 beacons to track, then this gets much simpler, because you can define a single
CLBeaconRegionfor each beacon, and monitor them all separately. (iOS only lets you define 20CLBeaconRegions per app.) Then you can simply send appear/disappear events to your server for each one. With this technique, you put your web service calls in thedidEnterRegionanddidExitRegioncallbacks.