hypertrack_plugin 2.6.1 hypertrack_plugin: ^2.6.1 copied to clipboard
Flutter plugin for HyperTrack, a cross-platform location tracking solution for Android and iOS
Changelog #
The format is based on Keep a Changelog, and this project adheres to Semantic Versioning.
[Unreleased] #
2.6.1 - 2024-12-05 #
Changed #
2.6.0 - 2024-11-22 #
Changed #
2.5.2 - 2024-11-13 #
Changed #
2.5.1 - 2024-09-24 #
Changed #
- Updated HyperTrack SDK Android to 7.8.3
2.5.0 - 2024-09-04 #
Added #
- Support for Motion & Activity detection
- If your app asks for permission and the user grants it, you will have better activity detection in polylines
Changed #
2.4.0 - 2024-08-27 #
Added #
- Support for on-device geofencing via new
HyperTrack.orders["my_order"].isInsideGeofence
property- To learn more about how to best use this new feature see our guide here: Verify shift presence before starting work
// check worker presence synchronously
var activeOrders = await HyperTrack.orders;
Order? currentOrder = activeOrders["current_order"];
if (currentOrder != null) {
handlePresence(currentOrder.isInsideGeofence);
} else {
print("'current_order' not found");
}
// or subscribe to the changes in orders to get the status updates
HyperTrack.ordersSubscription.listen((orders) {
Order? currentOrder = orders["current_order"];
if (currentOrder != null) {
handlePresence(currentOrder.isInsideGeofence);
} else {
print("'current_order' not found");
}
});
// handle worker presence inside the order destination geofence
void handlePresence(Result<bool, LocationError> isInsideGeofence) {
switch (isInsideGeofence.runtimeType) {
case Success:
if ((isInsideGeofence as Success).value) {
// allow worker to clock in for the shift
} else {
// "to clock in you must be at order destination"
}
break;
case Failure:
// resolve errors to check for presence
break;
}
}
Changed #
2.3.0 - 2024-06-22 #
Added #
- New
setWorkerHandle
andgetWorkerHandle
can be used to identify workers- We observed our customers identify worker devices via
HyperTrack.metadata
, so we decided to make it a first class citizen in our API. - If you previously used
metadata
to identify workers, we suggest usingworkerHandle
for this purpose instead.
- We observed our customers identify worker devices via
Changed #
2.2.3 - 2024-05-24 #
Changed #
- Updated HyperTrack SDK Android to 7.5.5
2.2.2 - 2024-05-14 #
Changed #
2.2.1 - 2024-05-03 #
Changed #
- Updated HyperTrack SDK iOS to 5.5.3
2.2.0 - 2024-04-24 #
Changed #
- New
addGeotag
andaddGeotagWithExpectedLocation
methods signature that haveorderHandle
andorderStatus
parameters. You can use this API when users need to clock in/out of work in your app to honor their work time ( see Clock in/out Tagging guide for more info) - Updated HyperTrack SDK iOS to 5.5.2
- Updated HyperTrack SDK Android to 7.5.3
2.1.2 - 2024-02-27 #
Changed #
- Updated HyperTrack SDK Android to 7.4.3
2.1.1 - 2024-02-14 #
Changed #
2.1.0 - 2024-01-29 #
Changed #
2.0.4 - 2023-12-01 #
Changed #
- Updated HyperTrack SDK iOS to 5.0.8
- Updated HyperTrack SDK Android to 7.0.10
minSdkVersion
from 23 to 19 for Android
2.0.3 - 2023-11-20 #
Changed #
2.0.2 - 2023-11-10 #
Changed #
2.0.1 - 2023-10-16 #
Changed #
Fixed #
- Error on calling
HyperTrack.errors
2.0.0 - 2023-10-02 #
Added #
locate()
to ask for one-time user locationlocationSubcription
to subscribe to user location updateserrors
gettername
gettermetadata
getter- HyperTrackError types:
noExemptionFromBackgroundStartRestrictions
permissionsNotificationsDenied
Changed #
- Updated HyperTrack Android SDK to 7.0.3
- Add Android SDK plugins (
location-services-google
andpush-service-firebase
) - Updated HyperTrack iOS SDK to 5.0.2
- The whole HyperTrack API is now static
- Changed the way to provide publishableKey (
- You need to add
HyperTrackPublishableKey
meta-data
item to yourAndroidManifest.xml
and the same entry toInfo.plist
)
- You need to add
- Renamed HyperTrackError types:
gpsSignalLost
tolocationSignalLost
locationPermissionsDenied
topermissionsLocationDenied
locationPermissionsInsufficientForBackground
topermissionsLocationInsufficientForBackground
locationPermissionsNotDetermined
topermissionsLocationNotDetermined
locationPermissionsProvisional
tolocationPermissionsProvisional
locationPermissionsReducedAccuracy
topermissionsLocationReducedAccuracy
locationPermissionsRestricted
topermissionsLocationRestricted
- Renamed
setAvailability()
tosetIsAvailable(boolean)
- Changed
startTracking()
andstopTracking()
tosetIsTracking(boolean)
- Renamed
onTrackingChanged
toisTrackingSubscription
- Renamed
onAvailabilityChanged
toisAvailableSubscription
- Renamed
onError
toerrorsSubscription
- Renamed
JSONValue
toJSON
Removed #
initialize()
method (the API is now static)- Motion Activity permissions are not required for tracking anymore
- HyperTrackError types:
motionActivityPermissionsDenied
motionActivityServicesDisabled
motionActivityServicesUnavailable
motionActivityPermissionsRestricted
networkConnectionUnavailable
sync()
method
1.1.3 - 2023-06-16 #
Changed #
- Updated HyperTrack iOS SDK to 4.16.1
1.1.2 - 2023-06-14 #
Changed #
- Updated HyperTrack Android SDK to 6.4.2
- Updated Kotlin to 1.6.21
1.1.1 - 2023-06-01 #
Changed #
- Updated HyperTrack iOS SDK to 4.16.0
1.1.0 - 2023-05-18 #
Added #
addGeotag
with expected locationautomaticallyRequestPermissions
param to SDK initialization- JSONNull type to JSONValue
Changed #
- Updated HyperTrack iOS SDK to 4.15.0
Fixed #
- String representation of errors in subscribeToErrors result
1.0.0 - 2023-02-17 #
Changed #
- Updated HyperTrack iOS SDK to 4.14.0
- Updated HyperTrack Android SDK to 6.4.0
syncDeviceSettings()
renamed tosync()
setDeviceName()
renamed tosetName()
setDeviceMetadata()
renamed tosetMetadata()
start()
renamed tostartTracking()
stop()
renamed tostopTracking()
Added #
initialize()
configuration params for- Debug logging
- Background location permissions request for Android
- Mock locations
onAvailabilityChanged
streamonError
stream- Location result for
addGeotag
Removed #
getLatestLocation()
allowMockLocations()
(useinitialize()
paramallowMockLocations
instead)enableDebugLogging()
(useinitialize()
paramloggingEnabled
instead)getRunnigStatus()
- 'expectedLocation' param from 'addGeotag()'
0.4.3 - 2022-09-16 #
Changed
- Android SDK updated to 6.3.0
0.4.2 - 2022-08-30 #
Changed
- Android SDK updated to 6.2.2
0.4.1 - 2022-07-19 #
Changed
- Android SDK updated to 6.2.0
- iOS SDK updated to 4.12.3
0.4.0 - 2022-07-07 #
Changed
- Android SDK updated to 6.1.4
0.3.1 - 2022-07-05 #
Fixed
- Android null type safety plugin fixes
0.3.0 - 2021-11-17 #
Changed
- Android SDK updated to 5.4.5
0.2.1 - 2021-07-07 #
Changed
- No code changes. Package metadata was updated to improve scoring.
0.2.0 - 2021-07-07 #
Added
- Dart nullability support added to comply with Flutter 2 requirements
Changed
- Android SDK updated to 5.2.5
0.1.9 - 2021-05-07 #
Changed
- Android SDK updated to 4.12.0
0.1.8 - 2021-04-07 #
Changed
- Android SDK updated to 4.11.0
0.1.7 - 2020-12-24 #
Changed
- Android SDK updated to 4.9.0
- Firebase conflicts were fixed.
0.1.6 - 2020-12-23 #
Fixed
- iOS plugin runtime error notification.
Changed
- iOS SDK version updated to 4.7.0
0.1.5 - 2020-12-16 #
Fixed
- iOS plugin, incorrect
permissions_error
notification.
0.1.4 - 2020-11-20 #
Fixed
- Firebase tokens and messages forwarding.
Changed
- iOS SDK version updated to 4.6.0
0.1.3 - 2020-11-02 #
Changed
- Android SDK version updated to 4.8.0
0.1.2 - 2020-09-28 #
Changed
- Android SDK version updated to 4.6.0
0.1.1 - 2020-06-18 #
Changed
- Android SDK version updated to 4.4.1
- setTripMarker
replaced with
addGeotag`
0.1.0 - 2020-03-24 #
Added
- Initial release.