public class Tracker
extends java.lang.Object
| Modifier and Type | Class and Description |
|---|---|
static interface |
Tracker.Callback |
| Modifier and Type | Field and Description |
|---|---|
protected static java.lang.String |
PREF_KEY_DISPATCHER_MODE |
protected static java.lang.String |
PREF_KEY_OFFLINE_CACHE_AGE |
protected static java.lang.String |
PREF_KEY_OFFLINE_CACHE_SIZE |
protected static java.lang.String |
PREF_KEY_TRACKER_FIRSTVISIT |
protected static java.lang.String |
PREF_KEY_TRACKER_OPTOUT |
protected static java.lang.String |
PREF_KEY_TRACKER_PREVIOUSVISIT |
protected static java.lang.String |
PREF_KEY_TRACKER_USERID |
protected static java.lang.String |
PREF_KEY_TRACKER_VISITCOUNT |
protected static java.lang.String |
PREF_KEY_TRACKER_VISITORID |
| Modifier | Constructor and Description |
|---|---|
protected |
Tracker(Matomo matomo,
TrackerBuilder config) |
| Modifier and Type | Method and Description |
|---|---|
void |
addTrackingCallback(Tracker.Callback callback) |
void |
dispatch()
Processes all queued events in background thread
|
void |
dispatchBlocking()
Process all queued events and block until processing is complete
|
boolean |
equals(java.lang.Object o) |
java.lang.String |
getAPIUrl() |
TrackMe |
getDefaultTrackMe()
Matomo will use the content of this object to fill in missing values before any transmission.
|
long |
getDispatchInterval() |
DispatchMode |
getDispatchMode()
The current dispatch behavior.
|
int |
getDispatchTimeout()
|
java.util.List<Packet> |
getDryRunTarget()
If we are in dry-run mode then this will return a datastructure.
|
TrackMe |
getLastEventX()
For testing purposes
|
Matomo |
getMatomo() |
java.lang.String |
getName() |
long |
getOfflineCacheAge()
|
long |
getOfflineCacheSize()
Maximum size the offline cache is allowed to grow to.
|
android.content.SharedPreferences |
getPreferences() |
long |
getSessionTimeout()
Default is 30min (30*60*1000).
|
protected int |
getSiteId() |
java.lang.String |
getUserId() |
java.lang.String |
getVisitorId() |
int |
hashCode() |
boolean |
isOptOut() |
static java.lang.String |
makeRandomVisitorId() |
void |
removeTrackingCallback(Tracker.Callback callback) |
Tracker |
setDispatchGzipped(boolean dispatchGzipped)
Defines if when dispatched, posted JSON must be Gzipped.
|
Tracker |
setDispatchInterval(long dispatchInterval)
Set the interval to 0 to dispatch events as soon as they are queued.
|
void |
setDispatchMode(DispatchMode mode)
Sets the dispatch mode.
|
void |
setDispatchTimeout(int timeout)
|
void |
setDryRunTarget(java.util.List<Packet> dryRunTarget)
Set a data structure here to put the Dispatcher into dry-run-mode.
|
void |
setOfflineCacheAge(long age)
For how long events should be stored if they could not be send.
|
void |
setOfflineCacheSize(long size)
How large the offline cache may be.
|
void |
setOptOut(boolean optOut)
Use this to disable this Tracker, e.g.
|
void |
setSessionTimeout(int milliseconds) |
Tracker |
setUserId(java.lang.String userId)
Defines the User ID for this request.
|
Tracker |
setVisitorId(java.lang.String visitorId)
The unique visitor ID, must be a 16 characters hexadecimal string.
|
void |
startNewSession() |
Tracker |
track(TrackMe trackMe) |
protected static final java.lang.String PREF_KEY_TRACKER_OPTOUT
protected static final java.lang.String PREF_KEY_TRACKER_USERID
protected static final java.lang.String PREF_KEY_TRACKER_VISITORID
protected static final java.lang.String PREF_KEY_TRACKER_FIRSTVISIT
protected static final java.lang.String PREF_KEY_TRACKER_VISITCOUNT
protected static final java.lang.String PREF_KEY_TRACKER_PREVIOUSVISIT
protected static final java.lang.String PREF_KEY_OFFLINE_CACHE_AGE
protected static final java.lang.String PREF_KEY_OFFLINE_CACHE_SIZE
protected static final java.lang.String PREF_KEY_DISPATCHER_MODE
protected Tracker(Matomo matomo, TrackerBuilder config)
public void addTrackingCallback(Tracker.Callback callback)
public void removeTrackingCallback(Tracker.Callback callback)
public void setOptOut(boolean optOut)
optOut - true to disable reportingpublic boolean isOptOut()
public java.lang.String getName()
public Matomo getMatomo()
public java.lang.String getAPIUrl()
protected int getSiteId()
public TrackMe getDefaultTrackMe()
TrackMe object as already set values will not be overwritten.public void startNewSession()
public void setSessionTimeout(int milliseconds)
public long getSessionTimeout()
public int getDispatchTimeout()
public void setDispatchTimeout(int timeout)
public void dispatch()
public void dispatchBlocking()
public Tracker setDispatchInterval(long dispatchInterval)
dispatchInterval - in millisecondspublic Tracker setDispatchGzipped(boolean dispatchGzipped)
dispatchGzipped - booleanpublic long getDispatchInterval()
public void setOfflineCacheAge(long age)
>0 = limit in ms
0 = unlimited
-1 = disabled offline cache
age - in millisecondspublic long getOfflineCacheAge()
public void setOfflineCacheSize(long size)
>0 = limit in byte
0 = unlimited
size - in bytepublic long getOfflineCacheSize()
public DispatchMode getDispatchMode()
DispatchModepublic void setDispatchMode(DispatchMode mode)
DispatchModepublic Tracker setUserId(java.lang.String userId)
When specified, the User ID will be "enforced". This means that if there is no recent visit with this User ID, a new one will be created. If a visit is found in the last 30 minutes with your specified User ID, then the new action will be recorded to this existing visit.
userId - passing null will delete the current user-id.public java.lang.String getUserId()
public Tracker setVisitorId(java.lang.String visitorId) throws java.lang.IllegalArgumentException
java.lang.IllegalArgumentExceptionpublic java.lang.String getVisitorId()
public static java.lang.String makeRandomVisitorId()
public android.content.SharedPreferences getPreferences()
public boolean equals(java.lang.Object o)
equals in class java.lang.Objectpublic int hashCode()
hashCode in class java.lang.Objectpublic TrackMe getLastEventX()
public void setDryRunTarget(java.util.List<Packet> dryRunTarget)
dryRunTarget - a data structure the data should be passed intopublic java.util.List<Packet> getDryRunTarget()