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
- Accelerator data analysis once per second
- How to get the time stamp of each frame of a GoPro video in MATLAB?
- CURRENT_TIMESTAMP in milliseconds in h2
- keep timezone "CET" from convert into "CEST" in python
- PHP timestamp and dates issue
- how to write mysql error and out log with timestamp
- Youtube embed display at one time start at beginning
- Span SQL Rows over time
- Convert timestamp into time()
- List files and timestamp of creation on AIX system (Perl)
- MySQL time and attendance "parse filter" type and status
- How can I format my timestamp right?
- Adding timestamp and custom name to a File uploaded via PHP
- Break Javascript array of timestamps into smaller arrays by hour, day
- How do I find the time difference between two timestamps?
Related Questions in IBEACON
- how i get the mac of ibeacon or BLE
- How to get MAC Address of beacon when ranging and monitoring in iOS
- How deploy an large number iBeacons
- How to share files with all other devices from my iOS device through application?
- UUIDString unexpectedly found nil
- Swift, CoreBluetooth: services and characteristics
- Android Altbeacon Library BeaconSimulator on release version of application
- IOS: iBeacon scanning frequency when phone is locked?
- IOS: Available actions after iBeacon detection
- iBeacon iOS 8.3 only showing icon in locked screen when WIFI is activated
- Setting the major and minor value of iBeacon
- Altbeacon - Neither monitoring or ranging is working with no error
- Cannot use an array in AppDelegate in ViewController
- How to show alert just one time in Swift?
- How can i uniquely identify an iBeacon using android ALT Beacon library?
Related Questions in CLBEACONREGION
- Setting the major and minor value of iBeacon
- Connecting to multiple iBeacons at once
- plist stored value is different while accessing in Objective-c
- iOS Bluetooth CBPeripheralManager Dictionary Key Support
- iBeacon monitoring mode proximity for beacon region
- Region Monitoring not working in iOS if region don't have major
- What happens in iOS stop monitoring for beacon region? How can we get iOS create more subsequent didEnterRegion events?
- DidEnterRegion only called if requestAlwaysAuthorization is called. Beacons
- Does stopMonitoringForRegion stops only the duplicated region or also the original region as well?
- App crashes when trying to range beacons after working fine for 3-4 days
- CLBeaconRegion not monitored with StartMonitoringForRegion in simulator with XCTest
- How to log the time when the user is in range ibeacon
- Can you apply time restrictions for ibeacon notifications when exiting a region?
- difference between didEnterRegion and didRangeBeacons
- CLBeaconRegion, how to turn off warning: Turn On Bluetooth to Allow * to Connect to Accessories
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 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.