-
-
-
-
- Codes
- Aufbau und Hinweise
- Multistage Client & Visit Detection (Add-On zum SZM-Verfahren)
- Parallele SZM-Messung in verschiedenen Ländern
- Konfiguration des SZM-Tags 2.0 für die hybride App-Messung
- AMP-Analytics
- Facebook instant articles
- Newsletter-Messung
- Flash
- FRABO-Variable (nur bei agof-Teilnahme)
- Analysieren
- Responsives Design
- Codestruktur erstellen
- TCF 2.0 Integration in SZMnG
-
- Allgemeine Hinweise zur App-Messung
- Integration der SZM-Library
- Parallel-Messung SZM-ÖWA
- IO-Library Funktionen
- Hybrid-Messung Android
- Debug-Informationen
- Integration der Google Play Services Library
- Vorgaben zum Aufruf der Library
- Codes
- Codestruktur erstellen
- Konfiguration des SZM-Tags 2.0 für die hybride App-Messung
- Android TV / Nexus Player
- Fire OS
- IRSurveyLib für Android
- Event Template App
-
- INFOnline SZM-Library (iOS)
- Allgemeine Hinweise zur App-Messung
- Integration der SZM-Library iOS
- Parallel-Messung SZM & ÖWA
- SZM-Library Funktionen
- Hybrid-Messung iOS
- Debug-Informationen
- App Tracking Transparency Framework (ab iOS14)
- Vorgaben zum Aufruf der SZM-Library
- Codes
- Codestruktur erstellen
- Konfiguration des SZM-Tags 2.0 für die hybride App-Messung
- Event Template App
- agof service center Befragungslibrary iOS
-
-
- App-Filter
- Automatische Codezuordung
- Customized reports
- Dezentrales Javascript
- Ausnahmeantrag Dezentrales Javascript
- Logfileanalyse
- Logfilebereitstellung
- NoScript-Messung
- Ausnahmeantrag noscript-Messung
- XML-Download
- Angebotsnetzwerke
- IDAS demographic reports
- agof service center Sonder-Qualitätssicherung
- Zusätzliche Logins
- Zusätzliche Codes
- Customizable Measurement Audits
- Streaming
Integration der SZM-Library iOS
- Support
- INFOnline Measurement pseudonymous
- Integration & Setup
- iOS SDK
- Integration der SZM-Library iOS
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 4.2 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)
Hinweis
Das Kopieren des „INFOnlineLibrary“ Ordners findet nur auf File Ebene statt. Weder der gesamte „INFOnlineLibrary“ Ordner noch das „INFOnlineLibrary.framework“ darf über Xcode dem Projekt hinzugefügt werden.
Ein manuelles Hinzufügen des „INFOnlineLibrary.framework“ als linked oder embedded Framework über das Xcode Interface ist nicht notwendig und kann gegebenenfalls zu Fehlern beim Code Signing oder der App Store Submission führen.
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 (IDFV) zu nutzen. Hierzu entfernen Sie bitte das Linking des AdSupport-Frameworks. Als Konsequenz daraus erhebt die IOLib dann den Vendor Identifier (IDFV) 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:@"<ANGEBOTSKENNUNG>" privacyType: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 AppearedIOLViewEvent *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)