Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

Mobile App Sensor Documentation Version 1.2.0 (English Version)

 

Version:

1.2.0

Date:

2014-06-05

Author:

Kantar Media spring

eMail:

support@spring.de

Content

Table of Contents
maxLevel4

Method

Include Page
Method
Method

Information for Developers

All spring sensors capture the events in the moment in which they arise. This concept is also implemented in the libraries for the apps, that means that all actions are sent immediately.

In case of any questions concerning this, please contact our support team under support@spring.de.

Integration of Libraries

Include Page
Integration of several Libraries
Integration of several Libraries

Release of the Application

Include Page
Release of the Application
Release of the Application

Description of the Mobile App Library Interface

Include Page
Description of the Mobile App Library Interface
Description of the Mobile App Library Interface

Properties of the Libraries

Include Page
Properties of the Libraries
Properties of the Libraries

Predefined Variables

Out of the application, an HTTP request has to be sent to the measuring system.

Variable

Mandatory

Description

ac

No

The action that has been executed.

The variable: Action (ac)

By using this variable, the measuring system can be informed, which actions have been executed in the application.
Currently, the following actions are understood:

Variable

Description

spring.STARTED

The application has been started.

spring.FOREGROUND

The application was brought to the foreground or has received the focus.

spring.BACKGROUND

The application was brought into the background or does no longer have the focus.

spring.CLOSED

The application has been stopped.

Implementation of an app page request via the action variable (ac)

By using the variable ac, the execution of a content page within an application can be measured also.

...

  • sport_football
  • mainpage
  • 200_543

 

Information (optional)

The user can be informed at some point that the application monitors the user actions and transmits them to a measuring system. Furthermore, the user must be informed that he has the possibility to switch of the tracking in the application and can contradict this way. (see: CIM - Mobile App Sensor Documentation Version 1.1.0 (English Version) Opt-Out)

For this purpose, you can include data privacy information in your language into an appropriate place of your app implementation:

...

Mobile App Sensor Measurement: |On/Off|

Opt-Out

The application developer can give users the ability to stop the further tracking of the user actions. For this purpose the library offers the following methods:

...

A persistent saving of the opt-out decision in the library is not provided and needs to be implemented by the app developer.

Mobile Support

 

Should you encounter any issues or problems during the implementation, please send an email to our support team under support@spring.de with the following information:

  • Name
  • Description of the problem
  • Possibly error messages with error codes
  • Platform (version), application name (version)

Supported Platforms

Implementation iOS

 

The following example shows the basic installation for the iOS platform. When generating the class SpringMobile a site identifier (<site>) has to be indicated, which is shipped together with this documentation and the libraries.

...

Code Block
languagecpp
/*
 * Importing SpringMobile
 */
#import "Spring.h"

/*
 * Providing entity
 */
Spring *spring;

/*
 * Generating SpringMobile entity with site id and application name
 */
spring = [[Spring alloc] initWithSiteAndApplication:@"<site>" application:@"myApplication1"];

/*
* Sending AC to the measurement system */
NSMutableDictionary *dict = [NSMutableDictionary 
dictionaryWithObjectsAndKeys:@"Mainpage",@"ac",nil];
[spring commit:dict];
...


Timeout (default: 30 seconds)

With this value, a timeout (in seconds) for each HTTP request can be configured within the library.

...

Code Block
languagecpp
spring = [[Spring alloc] initWithSiteAndApplication:@"app" application:@"Test App"];
spring.timeout = 30.0; // in seconds

Debug

If this value is set on YES, the library provides debug outputs over the class NSLog.

...

No Format
2011-11-25 13:42:52.878 TestApp3[73923:ff07] spring (1.0.3.1)> http://test.2cnt.net/j0=,,,;+,app=Test%20App+did=7ca359bc4c3c6a19;;;?lt=gvf6lykt
2011-11-25 13:42:52.927 TestApp3[73923:ff07] spring (1.0.3.1)> http status code: 200 - no error
2011-11-25 13:42:56.521 TestApp3[73923:1020b] spring (1.0.3.1)> http://test.2cnt.net/j0=,,,;+,app=Test%20App+did=7ca359bc4c3c6a19+ac=spring.BACKGROUND;;;?lt=gvf6m1e1
2011-11-25 13:42:56.559 TestApp3[73923:1020b] spring (1.0.3.1)> http status code: 200 - no error
2011-11-25 13:42:59.388 TestApp3[73923:10013] spring (1.0.3.1)> http://test.2cnt.net/j0=,,,;+,app=Test%20App+did=7ca359bc4c3c6a19+ac=spring.FOREGROUND;;;?lt=gvf6m3lo
2011-11-25 13:42:59.427 TestApp3[73923:10013] spring (1.0.3.1)> http status code: 200 - no error
2011-11-25 13:43:04.554 TestApp3[73923:11f0b] spring (1.0.3.1)> http://test.2cnt.net/j0=,,,;+,app=Test%20App+did=7ca359bc4c3c6a19+ac=spring.BACKGROUND;;;?lt=gvf6m7l5

 

 

Implementation Android

The following example shows the basic installation for the Android platform. When generating the class SpringMobile a site identifier (<site>) has to be indicated, which is shipped together with this documentation and the libraries.

...

Info

The setting of the permission through the user is not mandatory, but highly recommended.

If the permission READ_PHONE_STATE is set, the device ID and the Android ID are used.
If the permission is not set, only the Android ID is used.

Two aspects are crucial:
The Android ID is only recognized if the user disposes of a Google account. (This should be the case for all users of the apps, because it is not possible to access the Android Market without a Google account.)

There is a bug in the Android version 2.2, which only occurs in connection with certain providers, where for all affected devices the same Android ID will be delivered. For the study, this would mean that the user identification would become much more difficult.

Timeout

With this value, a timeout (in seconds) for each HTTP request can be configured within the library.

Code Block
languagejava
SpringMobile spring = new ("app","TestApp",getApplicationContext());
spring.setTimeout(30); // in seconds

Note: (warning) Starting from Android 3.0

Since Android 3.0 network accesses are not allowed from the main thread anymore.  Thus, the Spring.commit () method must be called in different thread.

...

Code Block
languagejava
class CommitTask extends AsyncTask<Map<String,Object>, Void, Void> {
  protected Void doInBackground(Map<String,Object>... params) {
   if(params.length != 1)
    throw new IllegalArgumentException("one parameter expected");
   spring.commit(params[0]);
  return null;
  }
 }
 

 

Implementation Blackberry

The following example shows the basic installation for the Blackberry platform. When generating the class SpringMobile a site identifier (<site>) has to be indicated, which is shipped together with this documentation and the libraries.

...

Info

Although the library provides the possiblity of using connection parameters, it is highly recommended to use "spring.commit(Hashtable target)".
While setting the connection parameters (alternative method) changes on high sensitive parts of the library are done. Therefore it is explicitly indicated, that the respective developers are responsible for the correct usage of the library and the correct settings of the connection parameters.

While using connection parameters that are not supported a respective exception is thrown.
As soon the first parameter is indicated within the Blackberry-Connection-Properties- Hashtable (Hashtable bbprops), the automatic search for a functioning connection is stopped.
If using the alternative method "spring.commit(Hashtable bbprops, Hashtable target)" it is assumed, that this was tested for all possible devices and connections.

 

 

Implementation Windows Phone

The following example shows the basic installation for the Windows Phone 7 platform. When generating the class SpringMobile a site identifier (<site>) has to be indicated, which is shipped together with this documentation and the libraries.

...

Info

For the measurement we need the device ID. Please set the right for reading the device ID into a config file (WMAppManifest.xml).

Code Block
langugagexml
...
<Capabilities>
...
<Capability Name="ID_CAP_IDENTITY_DEVICE"/> ...
</Capabilities>
...

 

 

Implementation Titanium

Include Page
Implementation Titanium
Implementation Titanium