See: Description
This document is the API specification for the Radius Networks Proximity Kit SDK.
Usage of the Proximity Kit Android SDK implies agreement to abide by the license terms.
Designed to help developers build location aware apps. By providing a rich SDK built on top of the latest geofence and beacon technology, Proximity Kit gives you the events you need to keep your app relevant and useful to your users.
Upon entering or leaving an beacon or geofence region, Proximity Kit notifies your app of the proximity event along with region identifiers and associated metadata. While in an beacon region, Proximity Kit provides additional ranging services for continuous proximity updates relative to the phone's distance from the beacon.
ProximityKitGeofenceRegion#regionEquals
to check
whether another region equals this one
ProximityKitBeacon#getBatteryLevel
allowing access
to beacon battery level as reported by AltBeacon advertisements
ProximityKitMonitorNotifier#didDetermineStateForRegion
for more details)
ProximityKitMonitorNotifier#didDetermineStateForRegion
callback for
each kit region on initial ProximityKitManager#start
and on a successful
kit sync
Kit#getGeofences
allowing access to the
ProximityKitGeofenceRegion
objects defined in the kit
ProximityKitManager
instances;
only a single instance is allowed to run at any one time
ProximityRegion
and class RegionEvent
for general region
monitoring broadcasts through LocalBroadcastManager
(requires app compat)
ProximityKitBeaconRegion
and ProximityKitGeofenceRegion
implement
new ProximityRegion
KitOverlay#getIdentifier
allowing access to the
entity identifier which uniquely identifies the object within the kit
Fix UI slowness, and possible hang, in Android 6+ when Location Services permissions are revoked while scanning
It is still recommended that apps always check permissions and BLE/Location
Services state when returning from the background. If the appropriate
permissions or services are not in the desired state either engage the user
or explicitly stop the ProximityKitManager
.
Context
leak with manager creation
SecurityException
crashes caused by Samsung Knox
IllegalStateException
when bluetooth adapter is off for
HTC devices on Android 6.0+
ProximityKitGeofenceRegion#asGeofence
has been deprecated in an effort to
make ProximityKitGeofenceRegion
Google Play agnostic in a future release
BeaconManager
is now fully deprecated. This class is a legacy internal
implementation detail which was accidentally exposed in the published public
API. It is slowly being phased out and will be removed in the next major
release.
ProximityKitManager#getBeaconManager
has been deprecated inline with the
BeaconManager
deprecation
ProximityKitManager#getBeaconAdapter
has been deprecated as it was always
an internal implementation detail that was accidentally exposed in the
published API
KitMap#getOverlays
has been deprecated and replaced with
KitMap#getGeofences
; the KitOverlay
entity is an internal representation
and was not meant to be exposed publicly
ProximityKitManager#context
has been deprecated as it's an internal
implementation detail and not intended to be modified outside of the library
ProximityKitManager#syncIfNeeded
is an internal implementation detail and
has been deprecated as part of the public API
ProximityKitManager#setKit
is an internal library implementation detail and
not meant to be part of the public API
BeaconManager#getInstanceForApplication
is no longer used and will be
removed in the next major release
com.radiusnetworks.proximity.licensing
package is now
deprecated; this includes Configuration
, LicenseManager
,
LicensingException
, and PropertiesFile
. This package and all classes will
be removed in the next major release with no replacements.
ProximityKitManager()
; this constructor
was fundamentally broken and created instance which always crash - use
ProximityKitManager#getInstance(Context, KitConfig)
instead
This also includes all fixes from the 0.12.3 release.
For general service questions and help consult the Radius Networks support knowledge base.
For further API reference and developer documentation, see the Proximity Kit documentation. That documentation contains more detailed, developer-targeted descriptions, with conceptual overviews, definitions of terms, workarounds, and working code examples.
If you've found a problem in this library, perform a search on existing issues in case it has already been reported. If you do not find any issue addressing it, feel free to open a new one.
Your issue report should contain a title and a clear description of the issue at a minimum. Please provide as much relevant information as possible to replicate the issue. This should include the Java and library versions, a code sample demonstrating the issue, and device OS information. Providing a unit test that demonstrates the issue is greatly appreciated. Your goal should be to make it easy for yourself - and others - to replicate the bug and figure out a fix.