UPCOMING 5.0.0
-
clean up of deprecated methods
-
complement synchronous data loading methods with asynchronous ones
-
remove AccountProfile, Likes and Offerleaflet
-
remove opening times in venues
-
remove google cloud messaging feature
-
increase
minSdkVersion
to21
-
increase play services version
17.0.0
-
replace google support library with androidx
4.1.6 (2020-02-05)
-
fixed issue with
BackspinSdk.Data.isCached
so theBackspinSdk
can work offline again
4.1.5 (2020-01-22)
-
when using the new asynchronous data loading APIs the nested models will be filled
4.1.4 (2019-10-15)
-
increased altBeacon library version to
2.16.3
-
increased kotlin to version
1.3.50
-
increased gradle to version
3.3.2
-
Android 10 compatibility
-
targetSdkVersion
andcompileSdkVersion
updated to29
-
increased
buildToolsVersion
to29.0.2
-
android 10 devices require the ACCESS_BACKGROUND_LOCATION permission to allow scanning in the background
-
4.1.3 (2019-09-04)
-
increased altBeacon library version to
2.16.2
4.1.2 (2019-05-08)
-
sending analytics events is disabled by default now
4.1.1 (2019-04-23)
-
increased kotlin to version
1.3.30
4.1.0 (2019-03-01)
-
added
NavigationStartedListener
which is called after the first route was calculated -
RouteCalculationListener
callbacks were not always running on the main thread -
increased kotlin to version
1.3.21
4.0.1 (2019-02-27)
-
fixed a general synchronization issue within the background threading
4.0.0 (2019-02-11)
-
added the new public API method
BackspinSdk.setUser
which can be used to set the user token like with the deprecatedBackspinSdk.Assets.setUserToken
method
BackspinSdk.Assets.setUserToken(token);
BackspinSdk.setUser(token);
// or
ConnectionConfig config = new ConnectionConfig(authKey, serverType)
...
.setUser(Users.fromToken(token));
-
added asynchronous methods to
BackspinSdk.Data
and deprecated the old synchronous ones
List<Venue> venues = BackspinSdk.Data.getVenues();
BackspinSdk.Data.getVenues(new DataLoadedResultListener<List<Venue>>() {
@Override
public void onSuccess(List<Venue> result) { ... }
@Override
public void onError(DataError error) { ... }
});
-
added the new public API method
BackspinSdk.Position.loadProcessingZones
which can be used to add position processing zones
PositionZoneFiltering zoneFiltering = new PositionZoneFiltering(...);
PositionModule.getInstance().setBeaconFilter(zoneFiltering);
PositionModule.getInstance().setPositionFilter(zoneFiltering);
BackspinSdk.Position.loadProcessingZones(...);
-
static constant
ConfigRange.INTERPOLATOR_LINEAR
was removed so you should instantiate the interpolator of your choice
ConfigRange.INTERPOLATOR_LINEAR
new LinearInterpolator()
-
deprecated
BackspinSdk.Assets
and replaced it with the new subscriptions module found underBackspinSdk.Events
-
several refactorings and improvements in all modules
-
removed
RxJava
dependency -
removed
java-websocket
dependency - all web socket communication is handled by theOkHttp
web socket -
decreased altBeacon library version to
2.14
because of re-start problems in the beacon scanning process -
increased okHttp version to
3.12.0
-
increased kotlin to version
1.3.20
-
increased
buildToolsVersion
to28.0.3
-
increased google play services to version
16.0.0
3.21.0
-
added
DataError.NOT_AUTHORIZED
which will be thrown in case of an invalid authentication key -
network calls catch all kind of exceptions now and will always lead on
DataError.SERVER_REQUEST_FAILED
-
increased google support library version to
28.0.0
-
increased gson version to
2.8.5
-
increased okHttp version to
3.11.0
-
increased java web socket version to
1.3.9
-
increased altBeacon library version to
2.15.2
We will no longer provide technical support for applications using minSdkVersion < 21. However, it is still technically possible to use a lower minSdkVersion .
|
3.20.21
-
modules will asynchronously be started whenever data is loaded or reloaded so the UI gets blocked even shorter
-
increased google play services to version
15.0.1
-
increased room library to version
1.1.1
-
Android 9 compatibility
-
targetSdkVersion
andcompileSdkVersion
updated to28
-
buildToolsVersion
updated to28.0.2
-
as the Android system restricts the
SensorManager
for background apps we can not ensure the best accuracy of our positioning anymore if your app does not run in the foreground or with the help of aForegroundService
-
3.20.18
-
use a named layout for beacon parsing to filter out all other added layouts like eddystone
-
PositionZoneFiltering
checks for malformed server urls
3.20.17
-
direction information of the navigation module will now return the correct distance
-
several bugfixes concerning leaking http response bodies
3.20.16
-
every device language (even with non-arabic numbers) will now use US locale for date format parsing
-
solved compatibility issues with out-dated server versions
-
data store was not correctly cleaned up on the database upgrade
3.20.14
-
fixed a bug with the background initialization of the Sdk
-
several apps which integrate the Sdk will generate different device ids for the app registration
3.20.13
-
several asset tracking bug fixes
-
beacon battery scanner will now re-schedule the upload procedure
-
asset tracking user token can be changed in case of no active root venue
-
notification module initializes in the background now
3.20.8
-
Fixed a bug in the background position calculation
-
Tls12SocketFactory
will not be obfuscated on app minification anymore
3.20.5
-
encapsulated
Tls12SocketFactory.createTls120SSLContext()
to use it in your own http client
3.20.4
-
bug fix for sdk clean up
-
bug fix in obfuscation
-
increased kotlin to version
1.2.30
and fixed some annotationProcessor dependencies -
use
setBeaconBatteryScanEnabled
to enable an automatic upload of the scanned beacon battery levels (only if your installation has this feature) -
bug fix for
AnalyticsDispatcher
which crashed some times when the app returns from the background -
fixed a positioning bug in the new averaging logic
-
fixed bugs in some of the local data sources
-
completely re-worked the current data loading module
-
ranged beacons from all levels are now used for position calculation (
UseBeaconsFromAllLevels
) -
rssi filter can also filter out beacons which are to far away which is not enabled by default and only recommended for specific installations (
SensibleBeaconFilterDistance
) -
if a level change is detected the position will directly be published instead of waiting for the next publish interval
-
SensibleDistanceFilter threshold increased to 2.5m/s and activated by default now
-
the beacon scan callbacks always return a collection of scan results which is sorted by their estimated rssi values descending
-
increased kotlin to version
1.2.20
-
increased google support library to version
27.0.2
-
increased google play services to version
11.8.0
-
increased buildToolsVersion to
27.0.3
-
increased compileSdkVersion and targetSdkVersion to
27
3.18.0
-
the analytics event sending interval can now be adjusted with the help of the analytics configuration
-
increased OkHttp library to version
3.9.0
-
fixed a bug concerning not synchronized asset tracking methods
3.17.0
-
adaptive position calculation is enabled by default
-
deactivated kalman filter of position module by default
-
position path snapping is disabled by default
-
increased altbeacon library to version
2.12.3
-
increased java websocket library to version
1.3.6
-
fixed a bug concerning the properties to exclude of the
Coupon
andCouponCategory
classes
3.16.4
-
increased
buildToolsVersion
,compileSdkVersion
,targetSdkVersion
to 26 -
added new google maven repository and updated google support libraries to 26.1.0
3.15.10
-
ok http network logging uses the SDK’s
Logger
class now -
AssetWatcher
will only be notified when there is an according asset in the local database -
check if
ScanModule
is running before toggling the auto background mode
3.15.0
-
added support for bluloc crypto v2 beacons
-
ScanConfig.setUsingCryptoBeacons
is deprecated now as everything will be setup in the commander web frontend -
You can now mix crypto v1, v2 and none encryption in one installation
3.12.0
-
completely re-worked the Turn-By-Turn directions
3.11.0
-
corrected
getTrigger
in ZoneAlarm model and addedgetAssetId
method -
fixed issues when inserting assets and zone alarms
3.10.0
-
removed some obsolete log output
-
RootVenuesLoadedListener
has worker thread annotations now
3.8.0
-
added
BackspinSdk.Assets.loadZones
method to public api -
eager loading depth of entities was 1 by default therefore all sub-entities lazy loaded their data unintentionally
-
load methods of asset tracking api did not save the results to the local database
3.7.0
-
fixed a bug that on occasion caused a running navigation to suddenly stop
3.5.0
-
new beacon library update integrated
-
Sdk initialization can also be done on background threads (non-ui threads) now
-
AssetWatcher only notifies about events for the current root venue
-
WebSocket will not be started when user token is empty
-
several improvements on navigation graph generation
-
walking detector also works on devices without linear acceleration sensor
-
navigation will now start much faster especially with big navigation graphs
-
3.3.0
-
the positioning module calculates a movement direction now
-
fixed a bug in the asset tracking zone alarms
3.1.0
-
added new
WalkingSensorAccelerationPeak
which is now the default movement detector used by the adaptive position calculation -
several improvements on the adaptive position calculation
2.21.0
-
new default position configuration for SensibleRssiThresholdFactor: 1.15 → 1.1
-
adaptive position calculation is now less reactive and more stable
2.20.0
-
AssetWatcher
has a removeAsset method now -
added web socket communication to asset tracking
-
whenever you instantiate and start an
AssetWatcher
all positions and alerts will be updated continuously in the background
-
-
BackspinSdk.Assets.setUserToken
is deprecated now, use theConnectionConfig.setUserToken
instead -
asset positions which have no corresponding asset yet will be simply ignored
-
getter for external id in
Asset
was missing -
fixed null reference exception when calling
AssetPosition.getIndoorLocation
2.19.0
-
OnNotificationListener
is deprecated now, useNotificationListener
instead, because it also passes information about the source of the notification (beacon or zone) -
added
getLevel
toZone
object -
added
IntegerUtil.random
method
2.18.5
-
NavigationTask
related calculations won’t block the UI thread anymore-
moved calculations to a worker thread to significantly boost performance
-
all callbacks now happen in a worker thread
-
make sure to run any UI specific code triggered by the callbacks on the main thread |
-
fixed a navigation crash based on concurrency problems
-
added
BackspinSdk.Asset.loadAssetsByExternalId
andBackspinSdk.Asset.getAssetByExternalId
methods -
fixed a bug that impacted offline capabilities
-
it is now possible to create and enqueue analytics events without an active root venue
-
added
BackspinSdk.initRootVenue
method to quickly initialize a previously loaded root venue-
store previously loaded scopeIds, for example using
SharedPreferences
-
if no data is cached for the given scopeId the method returns false and no root venue gets loaded
-
2.18.0
-
You can now start advertisements via the
BackspinSdk.Scan.startAdvertisement
method -
Added AssetWatcher
-
NavigationTask.onRouteCalculated
is no longer called when the route has not changed -
NavigationTask
now performs a route snapping of the received position and returns it via the newOnPositionSnappedListener
-
NavigationTask
does not perform a complete route calculation on everycalculate
call - It now tries to reuse the already calculated route as long as possible -
added two new settings to the
NavigationConfig
:DistanceDifferenceForRouteUpdateMeters
,DistanceDifferenceForNewRouteCalculationMeters
last
2.15.0
-
BackspinSdk initialization checks if the application context was closed during network request.
-
added
CollectionUtil.first
and.last
methods -
added asset tracking module
2.13.9
-
seed number which is used by the crypto beacon feature can now be configured via the
ScanConfig.setCryptoBeaconsSeed
method -
added
DeviceUtil.vibrate
method
2.12.2
-
fixed crash within barrier check when no navigation graph is available
-
added try catch for parsing the json of the
tags
custom field -
new
BackspinSdk.Data.getLevelByNumber(int levelNumber)
method
2.10.4
-
added toCategoriesString method for Venue