Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

An die App kann die Anforderung gestellt werden, dass sie auf mehreren Märkten gemessen werden soll. In diesem Fall muss für jeden Markt die aktuelle Version der Mess-Library mit den entsprechenden Implementierungsvorschriften integriert werden. 

Ab der Version 1.1.0 wird dies durch eine veränderte Namensgebung und eine veränderte Packagestruktur unterstützt. In den folgenden Beispielen werden die beiden Märkte MA und MB integriert. Bei der Namesgebung der Libraries gilt folgende Struktur:

spring-appsensor-<OS>-<MARKT>-<VERSION>

Beispiele:

  • spring-appsensor-android-MA-1.1.0.jar
  • spring-appsensor-iOS-MA-1.1.0.zip

 

Beachten Sie die Implementierungsvorschriften für die einzelnen Libraries. Diese können sich (stark) auf den einzelnen Märkten unterscheiden.

 

Integration mehrerer Libraries bei iOS

Im folgenden Beispiel werden die Libraries der beiden Märkte MA und MB integriert. Hierzu müssen die beiden Headerdateien:

  • SpringMA.h
  • SpringMB.h
angegeben werden.
#import "TestApp.h"

#import "SpringMA.h"
#import "SpringMB.h"

@implementation TestApp3AppDelegate

@synthesize window = _window;
@synthesize tabBarController = _tabBarController;


SpringMA *springMA;
SpringMB *springMB;

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions

{

    // --- MA ---------------------------------------------------------------------------------

    springMA = [[SpringMA alloc] initWithSiteAndApplication:@"sitename" application:@"applicationName"];


    NSMutableDictionary *dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:MA_SPRING_APP_STARTED, MA_SPRING_VAR_ACTION,nil];

    [springMA commit:dict];

    // --- MB ---------------------------------------------------------------------------------

    springMB = [[SpringMB alloc] initWithSiteAndApplication:@"sitename" application:@"applicationname"];

    dict = [NSMutableDictionary dictionaryWithObjectsAndKeys:MB_SPRING_APP_STARTED,MB_SPRING_VAR_ACTION,nil];

    [springMB commit:dict];


    self.window.rootViewController = self.tabBarController;

    [self.window makeKeyAndVisible];

    return YES;
}


// ... more code 

Integration mehrerer Libaries bei Android

Im folgenden einfachen Beispiel werden die Libraries der beiden Märkte MA und MB integriert. Hierzu müssen die beiden Java-Klassen:

  • de.spring.mobile.ma.SpringMA
  • de.spring.mobile.mb.SpringMB
benutzt werden.

 

package de.spring.android.test;

import java.util.HashMap;
import java.util.Map;

import de.spring.mobile.ma.SpringMobileMA;
import de.spring.mobile.mb.SpringMobileMB;


import android.app.Activity;

public class MyActivity extends Activity {
	
	SpringMobileMA ma;
	SpringMobileMB mb;
	
	public MyActivity() {
		ma = new SpringMobileMA("sitename", "applicationname", getApplicationContext());
		mb = new SpringMobileMB("sitename", "applicationname", getApplicationContext());
	}
	
	/**
	 * @see android.app.Activity#onStart()
	 */
	@Override
	protected void onStart() {
		
		Map<String, Object> mapma = new HashMap<String, Object>();
		mapma.put(SpringMobileMA.VAR_ACTION, SpringMobileMA.APP_BACKGROUND);
    	ma.commit(mapma);
 
		Map<String, Object> mapmb = new HashMap<String, Object>();
		mapmb.put(SpringMobileMB.VAR_ACTION, SpringMobileMB.APP_BACKGROUND);
    	mb.commit(mapmb);
	}
 
	// more code ...
}

 

 

  • No labels