![JAR search and dependency download from the Maven repository](/logo.png)
com.eclipsesource.tabris.tracking.tracker.ConsoleTracker Maven / Gradle / Ivy
Go to download
Show more of this group Show more artifacts with this name
Show all versions of tabris-tracking Show documentation
Show all versions of tabris-tracking Show documentation
Piwik and Google Analytics Tracking for Tabris Apps.
The newest version!
/*******************************************************************************
* Copyright (c) 2014 EclipseSource and others.
* All rights reserved. This program and the accompanying materials
* are made available under the terms of the Eclipse Public License v1.0
* which accompanies this distribution, and is available at
* http://www.eclipse.org/legal/epl-v10.html
*
* Contributors:
* EclipseSource - initial API and implementation
******************************************************************************/
package com.eclipsesource.tabris.tracking.tracker;
import com.eclipsesource.tabris.tracking.Order;
import com.eclipsesource.tabris.tracking.Tracker;
import com.eclipsesource.tabris.tracking.TrackingEvent;
import com.eclipsesource.tabris.tracking.TrackingEvent.EventType;
import com.eclipsesource.tabris.tracking.TrackingInfo;
/**
*
* The {@link ConsoleTracker} is a simple example implementation of a {@link Tracker}. It prints every event tracked
* to the console. You may use the {@link ConsoleTracker} as a template to implement your own {@link Tracker}.
*
* @since 1.4
*/
public class ConsoleTracker implements Tracker {
@Override
public void handleEvent( TrackingEvent event ) {
System.out.println( getEventString( event ) );
}
private String getEventString( TrackingEvent event ) {
StringBuilder builder = new StringBuilder();
appendEventPrefix( builder, event );
appendEventDetail( builder, event );
appendEventInfo( builder, event );
return builder.toString();
}
private void appendEventPrefix( StringBuilder builder, TrackingEvent event ) {
builder.append( event.getType() + " - " );
}
private void appendEventDetail( StringBuilder builder, TrackingEvent event ) {
if( event.getType() == EventType.PAGE_VIEW ) {
appendPageView( builder, event );
} else if( event.getType() == EventType.ACTION ) {
appendAction( builder, event );
} else if( event.getType() == EventType.SEARCH ) {
appendSearch( builder, event );
} else if( event.getType() == EventType.ORDER ) {
appendOrder( builder, event );
} else if( event.getType() == EventType.EVENT ) {
appendEvent( builder, event );
}
}
private void appendPageView( StringBuilder builder, TrackingEvent event ) {
builder.append( ( String )event.getDetail() );
}
private void appendAction( StringBuilder builder, TrackingEvent event ) {
builder.append( ( String )event.getDetail() );
}
private void appendSearch( StringBuilder builder, TrackingEvent event ) {
builder.append( "query=" );
builder.append( event.getInfo().getSearchQuery() );
}
private void appendOrder( StringBuilder builder, TrackingEvent event ) {
Order info = ( Order )event.getDetail();
builder.append( info.getOrderId() );
builder.append( " (" );
builder.append( info.getTotal() + ", " + info.getShipping() + ", " + info.getTax() );
builder.append( ")" );
}
private void appendEvent( StringBuilder builder, TrackingEvent event ) {
builder.append( ( String )event.getDetail() );
}
private void appendEventInfo( StringBuilder builder, TrackingEvent event ) {
TrackingInfo info = event.getInfo();
builder.append( " [" );
builder.append( info.getAppId() + ", " );
builder.append( info.getDeviceModel() + ", " );
builder.append( info.getDeviceVendor() + ", " );
builder.append( info.getDeviceOsVersion() );
builder.append( "]" );
}
}
© 2015 - 2025 Weber Informatics LLC | Privacy Policy