Skip to content

7.0.0

Compare
Choose a tag to compare
@pavel-kuznetsov-hypertrack pavel-kuznetsov-hypertrack released this 26 Sep 17:36
· 40 commits to master since this release
e692143

We are excited to announce the release of HyperTrack Android SDK 7.0.0, a major update to our location tracking SDK. This release ensures highest tracking performance, reduces deployed app sizes and comes with an improved API to simplify the integrations. We highly recommend upgrading, but please note that there are a few breaking changes. Check the Migration Guide.

Changed

  • ⚠️ WARNING: The device ID will be changed after the update to this version. (fixed in the 7.0.8 release)
  • The Plugin architecture was introduced. It enables the SDK to adapt to different dependencies and add configurable logic. See Plugins page for more details.
  • The SDK API was fully redesigned to be more ergonomic and to require less code to use.
  • All the API methods can be accessible at any time from any place in the app by calling them on the static HyperTrack class.
  • No need to initialize the SDK by setting publishable key. Now set the key in AndroidManifest as Application meta-data entry with key HyperTrackPublishableKey.
    • Example:
          <meta-data
              android:name="HyperTrackPublishableKey"
              android:value="Put_your_publishable_key_here" />
  • Minimal required Android SDK level set to API 19.
  • Target Android SDK level set to API 31.
  • Added support for Android API 33.

Added

  • New locate() API. Allows to get a one-time location and sends it to the cloud even when the device is not tracking or available.
  • The SDK is always in sync with our cloud (if internet connection is present), there is no need to call syncDeviceSettings() anymore.
  • subscribeToErrors() to get the errors updates.
  • subscribeToIsAvailable() to get the availability updates.
  • subscribeToIsTracking() to get the tracking state updates.
  • subscribeToLocation() to get the location updates.
  • errors variable to get the errors state.
  • isTracking getter/setter to get/set the tracking intent of the device.
  • isAvailable getter/setter to get/set the availability state of the device.
  • location variable to get the last known location or error.
  • name variable to get/set the name associated with the device.
  • metadata variable to get/set the metadata associated with the device.
  • The SDK now is working in the x86 32bit Emulators.

Removed

  • Activity permission is no longer required.
  • HyperTrack.getInstance().
  • start(), stop() (use isTracking variable setter instead)
  • setDeviceMetadata() (use metadata variable setter instead)
  • setDeviceName() (use name variable setter instead)
  • addTrackingListener(), removeTrackingListener() (use subscribeToIsTracking, subscribeToErrors instead).
  • addAvailabilityListener(), removeAvailabilityListener() (use subscribeToIsAvailable, subscribeToErrors instead).
  • getLatestLocation() (use location variable getter instead).
  • getAvailability(), setAvailability() (use isAvailable variable getter/setter instead).
  • getCurrentLocation() (use locate API instead).
  • HyperTrack.getBlockers() (use errors variable instead).
  • setTrackingNotificationConfig()
  • syncDeviceSettings().
  • requestPermissionsIfNecessary().
  • backgroundTrackingRequirement()
  • allowMockLocations()
  • isRunning()
  • enableDebugLogging().

Fixed

  • ANRs caused by com.hypertrack.sdk.service.HyperTrackSDKFirebaseMessageReceiver.