Kontakt zur INFOnline

Service Center im Überblick

Sie erreichen uns montags bis freitags zwischen 09:00 Uhr – 18:00 Uhr

Customer Service | e-Mail | 0228 / 41 0 29 77

Service Center IVW digital | e-Mail | 0800 / 58 91 788 

agof service center | e-Mail | 0800 / 41 0 29 77

MMC Service Center Webradio | e-Mail | 0800 / 41 0 29 29

Integration der SZM-Library iOS

Sie sind hier:

Dieses Kapitel beschreibt die technische Integration der SZM-Library in eine iOS-Projektstruktur.

Thread-safe

Die IOLib für iOS ist Thread-safe. 

IOLib Dateien

Die SZM-Library für iOS umfasst folgende Dateien

  • RELEASE_NOTES.txt
    Diese Datei enthält Informationen zum Release der IOLib.
      
  • CHANGE_LOG.txt
    Diese Datei enthält Informationen zur Änderungshistorie der IOLib.
     
  • INFOnlineLibrary
    Enthält die IOLib (INFOnlineLibrary.framework) zur Erfassung der Nutzungsdaten einer App, sowie das copy-framework Script zur automatischen Integration des Frameworks in ein Projekt.
     
  • ObjCSample
    Ein Beispiel-Projekt, welches den Einsatz der IOLibrary für iOS demonstriert. Die Interaktion mit der IOLibrary ist mit Objective-C implementiert. Das Projekt beinhaltet eine TodayExtension.
     
  • SwiftSample
    Ein Beispiel-Projekt, welches den Einsatz der IOLibrary für iOS demonstriert. Die Interaktion mit der IOLibrary ist mit Swift 3.3 implementiert. Das Projekt beinhaltet eine TodayExtension.

Integration des IOLib iOS Frameworks

Die Integration erfolgt in wenigen einfachen Schritten. 

1. Im Finder: Den Ordner „INFOnlineLibrary“ in den Projekt-Ordner kopieren (oder per Drag’n’Drop ziehen)

2. In Xcode: Build Settings

Den Pfad zum „INFOnlineLibrary“ Ordner zu den Framework Search Paths in den Build Settings hinzufügen.

In unserem Sample:

$(PROJECT_DIR)/../INFOnlineLibrary/$(PLATFORM_NAME)/

Bei den Other Linker Flags in den Build Settings muss die INFOnlineLibrary wie folgt angegeben werden:

-framework INFOnlineLibrary

3. In Xcode: Run Script Build Phase

Eine Run Script Phase zu den Build Phases hinzufügen:

In unserem Sample:

$(PROJECT_DIR)/../INFOnlineLibrary/copy-framework.sh

4. In Xcode: Linking des Frameworks AdSupport

Hinweis

Um eine korrekte und vollständige Messung für die agof Studienteilnahme zu gewährleisten, muss das o.g. Framework eingebunden werden.
Wenn Sie das Framework nicht einbinden, kann der für die agof-Messung erforderliche Identifier (Advertising Identifier / IDFA) nicht übermittelt werden – eine Teilnahme an der agof-Messung ist somit nicht möglich.

Falls Sie in der Applikation keine Werbeplätze anbieten und aufgrund der Bestimmungen der Apple iTunes Connect Developer Guidelines eine Nutzung der Advertising Identifier nicht möglich ist, wenden Sie sich bitte an das Service & Support Team der INFOnline unter der Rufnummer 0228 / 410 29 77 oder per E-Mail an support@INFOnline.de.

Sie haben die technische Möglichkeit, anstelle der Advertising ID den Vendor Identifier (IDVA) zu nutzen. Hierzu entfernen Sie bitte das Linking des AdSupport-Frameworks. Als Konsequenz daraus erhebt die IOLib dann den Vendor Identifier (IDVA) anstelle des Advertising Identifier (IDFA).

Hinweis

Wir empfehlen Ihnen stets die Umsetzung mit Advertising Identifier (IDFA) gemäß Dokumentation. Eine Teilnahme bei der agof ist ohne die Verwendung des Advertising Identifiers nicht möglich!

5. In Xcode: Objective-C:

Import der IOLib Header im ApplicationDelegate und in den ViewControllern (alternativ im Prefix Header)

#import <INFOnlineLibrary/INFOnlineLibrary.h>

Hinweis

Es sollte immer der Umbrella Header benutzt werden und niemals einzelne Header aus dem Framework!

Swift: Import des IOLib Frameworks im ApplicationDelegate und in den ViewControllern

import INFOnlineLibrary

6. In Xcode: Initialisierung und Start einer Session der IOLib beim Application-Start:

Objective-C:

@implementation AppDelegate

- (BOOL)application:(UIApplication*)application didFinishLaunchingWithOptions:(NSDictionary*)launchOptions {     [self startSession];   // Other code     return YES; }

- (void)startSession {     // Initialisierung der IOLib; Session-Start    // privacySetting LIN = Berechtigtes Interesse ist gegeben     [[IOLSession defaultSessionFor:IOLSessionTypeSZM] startSessionWithOfferIdentifier:@„" rivacyType:IOLPrivacyTypeLIN]; }

Swift:

func application(_ application: UIApplication, didFinishLaunchingWithOptions
launchOptions: [UIApplicationLaunchOptionsKey : Any]? = nil) -> Bool {
self.startSession()
// Other code
return true
}
func startSession() {
// Initialisierung der IOLib; Session-Start
// privacySetting LIN = Berechtigtes Interesse ist gegeben
IOLSession.defaultSession(for: .SZM).start(withOfferIdentifier:"<Angebotskennung>", privacyType: .LIN)
}"

7. In Xcode: Events können in den View Controllern der App geloggt werden, z.B. der Aufruf eines Views:

Objective-C:

// Tracking View Appeared

   IOLViewEvent *event = [[IOLViewEvent alloc] initWithType:IOLViewEventTypeAppeared category:@"TestCategory" comment:nil];

   [[IOLSession defaultSessionFor:IOLSessionTypeSZM] logEvent:event];

Swift:

// Tracking View Appeared

   let event = IOLViewEvent(type: .appeared, category: "TestCategory", comment: nil)

   IOLSession.defaultSession(for: .SZM).logEvent(event)