public class HyperTrack
extends java.lang.Object
HyperTrack sdk = HyperTrack.getInstance(context, myPublishableKey)
.setDeviceName("Elvis")
.allowMockLocations()
.addTrackingListener(this);
Log.d(TAG, "HyperTrack device id is " + sdk.getDeviceID());
sdk.start();
See our awesome Java or
Kotlin quickstart
for details.Modifier and Type | Field and Description |
---|---|
CoreSDKProvider |
mSdkProvider |
Modifier and Type | Method and Description |
---|---|
static void |
addNotificationIconsAndTitle(int smallIconId,
int largeIconId,
java.lang.String title,
java.lang.String body)
Deprecated.
Use
setTrackingNotificationConfig(ServiceNotificationConfig)
Updates notification, that SDK will show once tracking is active. |
static void |
addNotificationIconsAndTitle(int smallIconId,
int largeIconId,
java.lang.String title,
java.lang.String body,
android.app.PendingIntent pendingIntent)
Deprecated.
Use
setTrackingNotificationConfig(ServiceNotificationConfig)
Updates notification, that SDK will show once tracking is active. |
HyperTrack |
addTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener listener)
Sets listener, that will be notified when tracking starts/stops or significant error occurred.
|
static void |
addTrackingStateListener(TrackingStateObserver.OnTrackingStateChangeListener onTrackingStateChangeListener)
Deprecated.
use
addTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener) instead.
Registers a tracking state callback. SDK reinitialization removes all listeners. |
HyperTrack |
addTripMarker(java.util.Map<java.lang.String,java.lang.Object> tripMarkerData)
Creates marker in trip with configurable payload.
|
HyperTrack |
addTripMarker(java.lang.String tripMarkerData)
Creates marker in trip with configurable payload.
|
HyperTrack |
allowMockLocations()
Allows you to use location mocking software (e.g.
|
static void |
customEvent(java.util.Map<java.lang.String,java.lang.Object> eventData)
Deprecated.
Since 3.3.0 Use
addTripMarker(Map) instead. |
static void |
enableDebugLogging()
Enables debug log output.
|
static void |
enableMockLocation()
Deprecated.
Use
allowMockLocations() instead.
Allows you to use mock provider to generate location data for tests etc. |
static java.lang.String |
getDeviceId()
Deprecated.
Use
getDeviceID() instead. |
java.lang.String |
getDeviceID() |
static HyperTrack |
getInstance(android.content.Context context,
java.lang.String publishableKey)
Entry point to SDK usage.
|
static void |
initialize(android.app.Activity activity,
java.lang.String publishableKey,
boolean shouldStartTracking,
boolean shouldRequestPermissionIfMissing,
TrackingInitDelegate trackingInitDelegate)
Deprecated.
Since 3.3.0 Use
getInstance(Context, String) |
static void |
initialize(android.app.Activity activity,
java.lang.String publishableKey,
TrackingInitDelegate trackingInitDelegate)
Deprecated.
Since 3.3.0 Use
getInstance(Context, String) instead. |
static void |
initialize(android.content.Context context,
java.lang.String publishableKey)
Deprecated.
Use
getInstance(Context, String) instead.
Convenience method that calls initialize(Context, String, Config)
with default config and auto start tracking. See aforementioned method description for details. |
static void |
initialize(android.content.Context context,
java.lang.String publishableKey,
boolean shouldStartTracking)
Deprecated.
Use
getInstance(Context, String) and start() instead.
E.g.:
Convenience method that calls initialize(Context, String, Config)
with default config and selected shouldStartTracking. See aforementioned method description for details. |
static void |
initialize(android.content.Context context,
java.lang.String publishableKey,
Config sdkConfig)
Deprecated.
Use
getInstance(Context, String) and start()
E.g.
Most custom way to initialize HyperTrack SDK with configConfig . |
boolean |
isRunning() |
static boolean |
isTracking()
Deprecated.
use
isRunning() instead
Check tracking status. |
HyperTrack |
removeTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener listener)
Removes listener or does nothing, if null was passed in as argument.
|
static void |
removeTrackingStateListener(TrackingStateObserver.OnTrackingStateChangeListener onTrackingStateChangeListener)
Deprecated.
Use
removeTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener) instead.
Removes a tracking state callback. |
HyperTrack |
requestPermissionsIfNecessary()
Convenience method that will issue required permissions request dialog if necessary.
|
HyperTrack |
setDeviceMetadata(java.util.Map<java.lang.String,java.lang.Object> metaData)
Sets current device data, that can be used for easier dashboard navigation or grouping
of location data in tag groups style.
|
HyperTrack |
setDeviceMetadata(java.lang.String metaData)
Sets current device data, that can be used for easier dashboard navigation or grouping
of location data in tag groups style.
|
HyperTrack |
setDeviceName(java.lang.String name)
Sets current device name, that can be used for easier dashboard navigation.
|
static void |
setNameAndMetadataForDevice(java.lang.String name,
java.util.Map<java.lang.String,java.lang.Object> metaData)
Deprecated.
Use
setDeviceName(String) and setDeviceMetadata(Map) instead.
Sets current device data, that can be used for easier dashboard navigation.
Use only after you've initialized the SDK.
This setter is intended to be used for static data, that doesn't change during tracking
sessions, as no SLA regarding this data propagation provided. In case of frequent changes,
it is possible, that intermediate states could be lost, so if more real-time responsiveness
is required it is recommended to use addTripMarker(Map) for passing that data. |
HyperTrack |
setTrackingNotificationConfig(ServiceNotificationConfig config)
Allows to to customize persistent notification elements.
|
HyperTrack |
start()
Starts tracking, if all requirements are met (permissions are granted and publisahble Key is validated).
|
static void |
startTracking()
Deprecated.
Use
start() instead.
Resumes tracking, that was previously paused by stopTracking() invocation.
This should not be called, if you haven't paused tracking previously, since it default state
is enabled.
Please note, that if user hasn't granted location data access permission tracking service
won't actually run. Use isTracking() to determine current tracking state. |
static void |
startTracking(boolean shouldRequestPermissionIfMissing,
TrackingInitDelegate delegate)
Deprecated.
Since 3.3.0 Use
getInstance(Context, String) ()} and
start() instead. |
HyperTrack |
stop()
Stops current tracking session.
|
static void |
stopTracking()
Deprecated.
Use
stop() instead.
Pauses tracking. Use startTracking(boolean, TrackingInitDelegate)
to start tracking service again. |
HyperTrack |
syncDeviceSettings()
Sync device state with backend model.
|
static void |
tripMarker(java.util.Map<java.lang.String,java.lang.Object> eventData)
Deprecated.
Use
addTripMarker(Map) instead.
Creates marker in trip with configurable payload.
Please, bear in mind that this will be serialized as json so passing in recursive
datastructure could lead to unpredictable results. |
public static void enableDebugLogging()
public static HyperTrack getInstance(android.content.Context context, java.lang.String publishableKey) throws java.lang.IllegalArgumentException
context
- application context instancepublishableKey
- Get it from HyperTrack dashboard.java.lang.IllegalArgumentException
- if null or empty publishable key or context were passed in.public HyperTrack addTripMarker(@NonNull java.util.Map<java.lang.String,java.lang.Object> tripMarkerData) throws java.lang.IllegalArgumentException
tripMarkerData
- key-value pairs.java.lang.IllegalArgumentException
- if null or empty tripMarkerdata passed in.public HyperTrack requestPermissionsIfNecessary()
public HyperTrack addTripMarker(@NonNull java.lang.String tripMarkerData) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentException
- if tripMarkerdata doesn't represent valid json object.public HyperTrack start()
addTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener)
it will call TrackingStateObserver.OnTrackingStateChangeListener.onError(TrackingError)
if tracking wasn't started or
TrackingStateObserver.onStart()
otherwise.public HyperTrack stop()
addTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener)
it will call TrackingStateObserver.onStop()
on success.public java.lang.String getDeviceID()
public boolean isRunning()
public HyperTrack allowMockLocations()
public HyperTrack setTrackingNotificationConfig(@Nullable ServiceNotificationConfig config)
config
- tracking notification parameters. See ServiceNotificationConfig
for details.public HyperTrack setDeviceName(@Nullable java.lang.String name)
addTripMarker(Map)
for passing that data.name
- that will be visible in Dashboard.public HyperTrack setDeviceMetadata(@Nullable java.util.Map<java.lang.String,java.lang.Object> metaData)
addTripMarker(Map)
for passing that data.metaData
- - key-value pairs.setDeviceMetadata(String)
public HyperTrack setDeviceMetadata(@NonNull java.lang.String metaData)
addTripMarker(Map)
for passing that data.metaData
- - valid JSON object string.java.lang.IllegalArgumentException
- if argument does not represent valid JSON object.setDeviceMetadata(Map)
public HyperTrack addTrackingListener(@Nullable TrackingStateObserver.OnTrackingStateChangeListener listener) throws java.lang.IllegalArgumentException
TrackingError.INVALID_PUBLISHABLE_KEY_ERROR
will
be delivered to litener's TrackingStateObserver.OnTrackingStateChangeListener.onError(TrackingError)
callback.
Does nothing when invoked with null argument.listener
- that will be used to deliver notifications.java.lang.IllegalArgumentException
removeTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener)
public HyperTrack removeTrackingListener(@Nullable TrackingStateObserver.OnTrackingStateChangeListener listener) throws java.lang.IllegalArgumentException
listener
- to remove.java.lang.IllegalArgumentException
addTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener)
public HyperTrack syncDeviceSettings()
@Deprecated public static void initialize(@NonNull android.content.Context context, @NonNull java.lang.String publishableKey)
getInstance(Context, String)
instead.
Convenience method that calls initialize(Context, String, Config)
with default config and auto start tracking. See aforementioned method description for details.context
- context, that would be used to access application's Context
.publishableKey
- Copy it from link@Deprecated public static void initialize(@NonNull android.content.Context context, @NonNull java.lang.String publishableKey, boolean shouldStartTracking)
getInstance(Context, String)
and start()
instead.
E.g.:
HyperTrack sdk = HyperTrack.getInstance(context, myPublishableKey)
.start();
// retain sdk reference to get device id or stop tracking.
Convenience method that calls initialize(Context, String, Config)
with default config and selected shouldStartTracking. See aforementioned method description for details.context
- context, that would be used to access application's Context
.publishableKey
- Copy it from linkshouldStartTracking
- if set to true, track will start automatically, when initialization finishes.@Deprecated public static void initialize(@NonNull android.content.Context context, @NonNull java.lang.String publishableKey, Config sdkConfig)
getInstance(Context, String)
and start()
E.g.
HyperTrack sdk = HyperTrack.getInstance(context, myPublishableKey)
.start();
// retain sdk reference to get device id or stop tracking.
Most custom way to initialize HyperTrack SDK with configConfig
.@Deprecated public static void initialize(@NonNull android.app.Activity activity, @NonNull java.lang.String publishableKey, @NonNull TrackingInitDelegate trackingInitDelegate)
getInstance(Context, String)
instead.how to adopt delegate.
@Deprecated public static void initialize(@NonNull android.app.Activity activity, @NonNull java.lang.String publishableKey, boolean shouldStartTracking, boolean shouldRequestPermissionIfMissing, @NonNull TrackingInitDelegate trackingInitDelegate)
getInstance(Context, String)
activity
- activity, that would be used to add permission request
fragment (if required) and to access application's
Context
.publishableKey
- Copy it from link.shouldStartTracking
- if set to true, track will start automatically,
when initialization finishes.
Keep in mind, that location data permission decline will
make tracking service unavailable to start,
independently of this flag value.shouldRequestPermissionIfMissing
- if location data access permission is missing and value set to true,
user will be presented with permission request dialog.trackingInitDelegate
- Handler for initialization result. Since initialization involves
network activity and, optionally, user intection,
invocation delay can be significant.how to write delegate adapter.
@Deprecated public static void tripMarker(@NonNull java.util.Map<java.lang.String,java.lang.Object> eventData) throws java.lang.IllegalStateException
addTripMarker(Map)
instead.
Creates marker in trip with configurable payload.
Please, bear in mind that this will be serialized as json so passing in recursive
datastructure could lead to unpredictable results.eventData
- key-value pairs.java.lang.IllegalStateException
- if SDK wasn't initialized.@Deprecated public static void customEvent(@NonNull java.util.Map<java.lang.String,java.lang.Object> eventData) throws java.lang.IllegalStateException
addTripMarker(Map)
instead.java.lang.IllegalStateException
@Deprecated public static void startTracking(boolean shouldRequestPermissionIfMissing, @Nullable TrackingInitDelegate delegate)
getInstance(Context, String)
()} and
start()
instead.shouldRequestPermissionIfMissing
- whether SDK should present permission request dialog or not.delegate
- callback receiver.
See initialize(Activity, String, boolean, boolean,
TrackingInitDelegate)
for details.how to write
delegate adapter.
@Deprecated public static void startTracking()
start()
instead.
Resumes tracking, that was previously paused by stopTracking()
invocation.
This should not be called, if you haven't paused tracking previously, since it default state
is enabled.
Please note, that if user hasn't granted location data access permission tracking service
won't actually run. Use isTracking()
to determine current tracking state.@Deprecated public static void stopTracking()
stop()
instead.
Pauses tracking. Use startTracking(boolean, TrackingInitDelegate)
to start tracking service again.@Deprecated public static boolean isTracking()
isRunning()
instead
Check tracking status.@Deprecated public static void addTrackingStateListener(@NonNull TrackingStateObserver.OnTrackingStateChangeListener onTrackingStateChangeListener)
addTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener)
instead.
Registers a tracking state callback. SDK reinitialization removes all listeners.onTrackingStateChangeListener
- TrackingStateObserver.OnTrackingStateChangeListener
:
Tracking state callback object to register.
This value must never be null.@Deprecated public static void removeTrackingStateListener(@Nullable TrackingStateObserver.OnTrackingStateChangeListener onTrackingStateChangeListener)
removeTrackingListener(TrackingStateObserver.OnTrackingStateChangeListener)
instead.
Removes a tracking state callback.onTrackingStateChangeListener
- TrackingStateObserver.OnTrackingStateChangeListener
:
Tracking state callback object to remove.
This value must never be null.@Deprecated @NonNull public static java.lang.String getDeviceId()
getDeviceID()
instead.@Deprecated public static void setNameAndMetadataForDevice(@Nullable java.lang.String name, @Nullable java.util.Map<java.lang.String,java.lang.Object> metaData) throws java.lang.IllegalStateException
setDeviceName(String)
and setDeviceMetadata(Map)
instead.
Sets current device data, that can be used for easier dashboard navigation.
Use only after you've initialized the SDK.
This setter is intended to be used for static data, that doesn't change during tracking
sessions, as no SLA regarding this data propagation provided. In case of frequent changes,
it is possible, that intermediate states could be lost, so if more real-time responsiveness
is required it is recommended to use addTripMarker(Map)
for passing that data.name
- that will be visible in Dashboard.metaData
- optional key-value pairs.java.lang.IllegalStateException
- if SDK haven't been initialized yet.@Deprecated public static void addNotificationIconsAndTitle(@DrawableRes int smallIconId, @DrawableRes int largeIconId, @Nullable java.lang.String title, @Nullable java.lang.String body)
setTrackingNotificationConfig(ServiceNotificationConfig)
Updates notification, that SDK will show once tracking is active.smallIconId
- pass small icon id for notification.largeIconId
- pass large icon id for notification.title
- pass title for notification or null, to leave unchangedbody
- pass body for notification or null, to leave unchanged@Deprecated public static void addNotificationIconsAndTitle(@DrawableRes int smallIconId, @DrawableRes int largeIconId, @Nullable java.lang.String title, @Nullable java.lang.String body, @Nullable android.app.PendingIntent pendingIntent)
setTrackingNotificationConfig(ServiceNotificationConfig)
Updates notification, that SDK will show once tracking is active.smallIconId
- pass small icon id for notification.largeIconId
- pass large icon id for notification.title
- pass title for notification or null, to leave unchangedbody
- pass body for notification or null, to leave unchangedpendingIntent
- pass pendingIntent PendingIntent
for notification or null,
to leave unchanged@Deprecated public static void enableMockLocation()
allowMockLocations()
instead.
Allows you to use mock provider to generate location data for tests etc.