Printer Friendly, PDF & Email

Directives supplémentaires pour les applications

La mesure des applications demande le respect des directives supplémentaires.

7.1 User Agent

L’User Agent de l'appli mesurée doit permettre l'identification des dimensions Operating System (OS) et Device.

OS

Device

User Agent

Android (Google)

Phone

Mozilla/5.0 (Linux; U; Android-phone)

Android (Google)

Tablet

Mozilla/5.0 (Linux; U; Android-tablet)

Android (Google)

TV

Mozilla/5.0 (Linux; U; Android-tv)

Android (Google)

Universal

Mozilla/5.0 (Linux; U; Android-universal)

iOS (Apple)

Phone

Mozilla/5.0 (iOS-phone; U; CPU iPhone OS like Mac OS X)

iOS (Apple)

Tablet

Mozilla/5.0 (iOS-tablet; U; CPU iPad OS like Mac OS X)

iOS (Apple)

Universal

Mozilla/5.0 (iOS-universal; U; CPU OS  like Mac OS X)

tvOS (Apple)

TV

Mozilla/5.0 (tvOS-tv; U; CPU Apple TV OS like Mac OS X)

Windows (Microsoft)

Phone

Mozilla/4.0 (compatible; Windows OS; Windows-phone)

Windows (Microsoft)

Tablet

Mozilla/4.0 (compatible; Windows OS; Windows-tablet)

Windows (Microsoft)

Desktop

Mozilla/4.0 (compatible; Windows OS; Windows-desktop)

Windows (Microsoft)

Universal

Mozilla/4.0 (compatible; Windows OS; Windows-universal)

7.2 Interaction User Agent et Section

Il faut veiller à ce que l’User Agent corresponde à la section appropriée respective. Les combinaisons suivantes sont permises:

Section (schématique)

User Agent autorisé

/apps/[name]/android/phone

Mozilla/5.0 (Linux; U; Android-phone)

/apps/[name]/android/tablet

Mozilla/5.0 (Linux; U; Android-tablet)

/apps/[name]/android/watch

à clarifier avec NET-Metrix

/apps/[name]/android/tv

Mozilla/5.0 (Linux; U; Android-tv)

/apps/[name]/android/universal

Mozilla/5.0 (Linux; U; Android-universal)

Mozilla/5.0 (Linux; U; Android-phone)

Mozilla/5.0 (Linux; U; Android-tablet)

Mozilla/5.0 (Linux; U; Android-tv)

  1. /apps/[name]/android/universal/phone
  2. /apps/[name]/android/universal/tablet
  3. /apps/[name]/android/universal/watch
  4. /apps/[name]/android/universal/tv
  1. Mozilla/5.0 (Linux; U; Android-phone)
  2. Mozilla/5.0 (Linux; U; Android-tablet)
  3. à clarifier avec NET-Metrix
  4. Mozilla/5.0 (Linux; U; Android-tv)

/apps/[name]/ios/phone

Mozilla/5.0 (iOS-phone; U; CPU iPhone OS like Mac OS X)

/apps/[name]/ios/tablet

Mozilla/5.0 (iOS-tablet; U; CPU iPad OS like Mac OS X)

/apps/[name]/ios/universal

Mozilla/5.0 (iOS-universal; U; CPU OS  like Mac OS X)

Mozilla/5.0 (iOS-phone; U; CPU iPhone OS like Mac OS X)

Mozilla/5.0 (iOS-tablet; U; CPU iPad OS like Mac OS X)

  1. /apps/[name]/ios/universal/phone
  2. /apps/[name]/ios/universal/tablet
  1. Mozilla/5.0 (iOS-phone; U; CPU iPhone OS like Mac OS X)
  2. Mozilla/5.0 (iOS-tablet; U; CPU iPad OS like Mac OS X)

/apps/[name]/tvos/tv

Mozilla/5.0 (tvOS-tv; U; CPU Apple TV OS like Mac OS X)

/apps/[name]/watchos/watch

à clarifier avec NET-Metrix

/apps/[name]/windows/phone

Mozilla/4.0 (compatible; Windows OS; Windows-phone)

/apps/[name]/windows/tablet

Mozilla/4.0 (compatible; Windows OS; Windows-tablet)

/apps/[name]/windows/desktop

Mozilla/4.0 (compatible; Windows OS; Windows-desktop)

/apps/[name]/windows/universal

Mozilla/4.0 (compatible; Windows OS; Windows-universal)

Mozilla/4.0 (compatible; Windows OS; Windows-phone)

Mozilla/4.0 (compatible; Windows OS; Windows-tablet)

Mozilla/4.0 (compatible; Windows OS; Windows-desktop)

  1. /apps/[name]/windows/universal/phone
  2. /apps/[name]/windows/universal/tablet
  3. /apps/[name]/windows/universal/desktop
  1. Mozilla/4.0 (compatible; Windows OS; Windows-phone)
  2. Mozilla/4.0 (compatible; Windows OS; Windows-tablet)
  3. Mozilla/4.0 (compatible; Windows OS; Windows-desktop)

7.3 Cookie

L'identification du client se fait aussi via les cookies. Pour cette raison, il faut veiller à ce que l'application accepte les cookies. Un seul identifiant de cookie doit être accepté pour l'ensemble de l'application. L'identifiant identique du cookie doit être conservé dans son intégralité lors

  • de l'utilisation de l'application pour tous les domaines de contenu mesurés incl. les offres de partenaires
  • nouveau démarrage de l'appli
  • mise à jour de l'appli
  • mise à jour de l'OS de l'appareil

7.4 Referrer des applications

En utilisant le Referrer, le trafic et la plausibilité peuvent être analysés plus rapidement. Nous recommandons à tous les clients qui mesurent les applications, à mettre en œuvre l'App Referrer selon la logique suivante.

7.4.1 Deux variantes de Referrer d'appli

Concernant les Referrer d'applis, nous distinguons:

  • Referrer de la page Web (r=paramètre): Provenance de l'appel
  • Referrer du script: Emplacement du pixel de comptage

Exemple fictif:

  • Identifiant: nmx
  • Locallist: Offre principale: *net-metrix.ch*, *netmetrix.ch*; offre partenaire: *wemf.ch*
  • Appli: Netmetrix, iOS, Phone
  • Directive de section: /apps/netmetrix/ios/phone
  • User Agent: Mozilla/5.0 (iOS-phone; U; CPU iPhone OS like Mac OS X)

7.4.2 Directive Referrer des applis

Exemple de navigation 1: Lancement de l’Appli,  aucune autre action

Exemple de navigation 2: après lancement de l'appli, cliquez sur Service

Exemple de navigation 3: dans Service cliquez sur Glossaire

Exemple de navigation 4: dans Glossaire cliquez sur l'offre partenaire https://www.remp.ch/fr

7.5 Informations de langage dans applis

Pour la mesure correcte d'une appli dans le cadre des études NET-Metrix, un certain nombre de paramètres doivent être transmis et certaines informations d'en-tête doivent être définies, lesquelles ne sont pas transmises par défaut. Pour un traitement correct des cookies, il convient de tenir compte de certaines des particularités, spécialement sur les appareils Android. Les fragments de code suivants démontrent la transmission correcte de tous les paramètres nécessaires et des variables d'en-tête.

7.5.1 Fragment de code pour les applis iOS dans Objective C

// Random Number
int randomInt = arc4random() % 1000000;
NSString *randomString = [NSString stringWithFormat:@"%d",randomInt];

// URL String
NSString *offerKey = @"[offer]";
NSString *appname = @"[name]";
NSString *platform = @"[platform]";
NSString *device = @"[device]";
NSString *urlString = [NSString stringWithFormat:@"http://%@.wemfbox.ch/cgi-bin/ivw/CP/apps/%@/%@/%@?d=%@", offerKey, appname, platform, device, randomString];

// NS-URL
NSURL * url = [NSURL URLWithString:urlString];

// Request
NSMutableURLRequest * request = [[NSMutableURLRequest alloc] initWithURL:url];

// Create client with custom useragent i.E. Mozilla/5.0 (iOS-phone; U; CPU iPhone OS like Mac OS X)
[request setValue:@"[useragent]" forHTTPHeaderField:@"User-Agent"];

// Set Accept-Language Header i.E. de
[request setValue:@"[language_iso]" forHTTPHeaderField:@"Accept-Language"];

NSURLConnection * theConnection = [[NSURLConnection alloc] initWithRequest:request delegate:nil];

[request release];

[theConnection release];

7.5.1.1 Variables et valeurs

Variables

Exemple de valeur

[offer]

netmx

[useragent]

Mozilla/5.0 (iOS-phone; U; CPU iPhone OS like Mac OS X)

[name]

news

[platform]

iOS

[device]

phone

[language_iso]

de

7.5.2 Fragment de code pour appli Android en java

// Create a local instance of cookie store
CookieStore cookieStore = new BasicCookieStore();

// Create local HTTP context
HttpContext localContext = new BasicHttpContext();

// Bind custom cookie store to the local context
localContext.setAttribute(ClientContext.COOKIE_STORE, cookieStore);

// Create client with custom useragent i.E. Mozilla/5.0 (Linux; U; Android-phone)
AndroidHttpClient client = AndroidHttpClient.newInstance("[useragent]");

// Create get request for NetMetrix-Tag
HttpGet getRequest = new HttpGet("[offer].wemfbox.ch/cgi-bin/ivw/CP/apps/[name]/[platform]/[device]?d="+ MathUtils.random(1000000000, Integer.MAX_VALUE));
( oder alternativ: HttpGet getRequest = new HttpGet("http://[offer].wemfbox.ch/cgi-bin/ivw/CP/apps/[name]/[platform]/[device]?d="+ System.currentTimeMillis()); )

// Set Accept-Language Header i.E. "de"
getRequest.setHeader("Accept-Language", "[language_iso]");

// execute the request with localContext (cookie store)
HttpResponse response = client.execute(getRequest, localContext);

7.5.2.1 Variables et valeurs

Variables

Exemple de valeur

[offer]

netmx

[useragent]

Mozilla/5.0 (Linux; U; téléphone Android)

[name]

news

[platform]

Android

[device]

phone

[language_iso]

de

7.5.2.2 Commentaires sur le fragment de code Android

Le Cookie Store doit avoir un contexte global/statique et être sérialisé et enregistré lorsque vous quittez et démarrez l'appli.

7.5.3 Commentaires

Le code de langue correspond à la définition de la RFC de l'en-tête "Accept-Language" et il est composé d'un code de langue ISO 639 avec en option un code pays ISO 3316 pour les variantes nationales. Par exemple "en-UK" pour l'anglais britannique ou "de" pour toute variante de l'allemand. Veuillez noter que le code de pays ISO 3316 n'est PAS utilisé par le système actuel. L'indication du code de langue ISO 639 pur est donc tout à fait suffisante.