To declare the mavenCentral() repository. Add mavenCentral() in the project-level build.gradle.
allprojects {
repositories {
...
mavenCentral()
...
}
}
Or in the app module's build.gradle
repositories {
...
mavenCentral()
...
}
Then add dependencies to app/build.gradle
implementation 'com.appier:woopra-android:1.1.0'
To setup your tracker SDK, configure the tracker instance as follows (replace mybusiness.com
with your domain name):
// Java
WoopraTracker tracker = Woopra.getInstance(this /* context (e.g. activity) */).getTracker("mybusiness.com");
// Kotlin
val tracker = Woopra.getInstance(this /* context (e.g. activity) */).getTracker("mybusiness.com")
To add custom visitor properties, you should edit the visitor object:
// Java
tracker.setVisitorProperty("name", "User Name");
tracker.setVisitorProperty("email", "user@company.com");
tracker.setVisitorProperty("age", 30);
// Kotlin
tracker.setVisitorProperty("name", "User Name")
tracker.setVisitorProperty("email", "user@company.com")
tracker.setVisitorProperty("age", 30)
Or,
// Java
Map<String, Object> visitorProps = new HashMap<>();
visitorProps.put("name", "User Name");
visitorProps.put("email", "user@company.com");
visitorProps.put("age", 30);
tracker.setVisitorProperties(visitorProps);
// Kotlin
val visitorProps: MutableMap<String, Any> = HashMap()
visitorProps["name"] = "User Name"
visitorProps["email"] = "user@company.com"
visitorProps["age"] = 30
tracker.setVisitorProperties(visitorProps)
To track an event, you must setup a WoopraEvent
object and track it:
// Java
// setup event
WoopraEvent event = new WoopraEvent("app_viewed");
event.setProperty("view", "home screen");
event.setProperty("title", "Home Screen");
event.setProperty("property_boolean", true);
// track event
tracker.trackEvent(event);
// Kotlin
// setup event
val event = WoopraEvent("app_viewed")
event.setProperty("view", "home screen")
event.setProperty("title", "Home Screen")
event.setProperty("property_boolean", true)
// track event
tracker.trackEvent(event)
You can send an identify call without tracking an event by using the tracker.push()
method:
// Java
tracker.setVisitorProperty("name", "User Name");
tracker.setVisitorProperty("email", "user@company.com");
tracker.setVisitorProperty("age", 30);
// Visitor data has not been sent to Woopra
tracker.push();
// Visitor data has been sent to Woopra, but no event has been tracked
// Kotlin
tracker.setVisitorProperty("name", "User Name")
tracker.setVisitorProperty("email", "user@company.com")
tracker.setVisitorProperty("age", 30)
// Visitor data has not been sent to Woopra
tracker.push()
// Visitor data has been sent to Woopra, but no event has been tracked
To add referrer information, timestamp, and other track request properties, look at the WoopraTracker
and WoopraEvent
class public methods for an exhaustive list of setter methods. Here are some common examples:
// Java
tracker.setReferer(<REFERRER_STRING>);
// Or
tracker.setReferrer(<REFERRER_STRING>);
// Kotlin
tracker.referer = <REFERRER_STRING>
// Or
tracker.referrer = <REFERRER_STRING>
Note
For legacy of this SDK as well as the HTTP, you can use both referer
or referrer
methods, but it will be stored as referer
.
You can update your idle timeout (default: 30 seconds) by updating the timeout property in your Woopra tracker:
// Java
tracker.setIdleTimeout(180);
// Kotlin
tracker.idleTimeout = 180
Note
The idle timeout is in seconds.
You can explicitly set a timestamp for an event:
// Java
event.setTimestamp(<LONG_UNIX_MS_TIMESTAMP>);
// Kotlin
event.timestamp = <LONG_UNIX_MS_TIMESTAMP>
Note
The unix epoch time is in milliseconds.
Except as otherwise noted, the Woopra Android SDK is licensed under the Apache License, Version 2.0 (http://www.apache.org/licenses/LICENSE-2.0.html).
Ruby on Rails is released under the MIT License