Mobile App Sensor Documentation Version 1.2.0 (English Version)
Version: | 1.2.0 |
---|---|
Date: | 2014-06-05 |
Author: | Kantar Media spring |
eMail: |
Content
Table of Contents | ||
---|---|---|
|
Method
Include Page | ||||
---|---|---|---|---|
|
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 | ||||
---|---|---|---|---|
|
Release of the Application
Include Page | ||||
---|---|---|---|---|
|
Description of the Mobile App Library Interface
Include Page | ||||
---|---|---|---|---|
|
Properties of the Libraries
Include Page | ||||
---|---|---|---|---|
|
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 |
---|---|
| The application has been started. |
| The application was brought to the foreground or has received the focus. |
| The application was brought into the background or does no longer have the focus. |
| 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 | ||
---|---|---|
| ||
/* * 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 | ||
---|---|---|
| ||
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 Two aspects are crucial: 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 | ||
---|---|---|
| ||
SpringMobile spring = new ("app","TestApp",getApplicationContext()); spring.setTimeout(30); // in seconds |
Note: 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 | ||
---|---|---|
| ||
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 using connection parameters that are not supported a respective exception is thrown. |
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).
|
Implementation Titanium
Include Page | ||||
---|---|---|---|---|
|