Skip to content

TCF 2.0 in iOS

IVW hat als nachgelagerter Datenverarbeiter der INFOnline GmbH, auch Downstream Vendoren genannt, keine Zugriffsmöglichkeit auf die Consent Entscheidung eines Users im TCF 2.0 Framework.

Hieraus ergibt sich für die INFOnline GmbH die Notwendigkeit, die Consent Entscheidung des Users aus dem TCF 2.0 Framework im Messskript über die TCF 2.0 API abzufragen und an das Messsystem zu übermitteln.

Zu diesem Zweck interpretiert die IOLib die Consent-Informationen, welche gemäß IAB TCF2.0 Spezifikation in dem dafür vorgesehenen Speicher persistiert wurden und überführt diese im Rahmen einer automatischen Verarbeitung in die INFOnline eigene Consent String Notation.

Für den Fall, dass ein eigenes Framework genutzt, oder aus anderen Gründen keine automatische Ermittlung des TCF 2.0 Consents erfolgt, kann der Publisher über die Nutzung der manuellen Verarbeitung einen Consent String übermitteln.

Die technischen Details zur Integration der manuellen Verarbeitung unter 2.0 Manuelle Verarbeitung aufgeführt.

Hinweis

Sobald TCF2.0 kompatible Consent Daten gemäß IAB TCF2.0 Spezifikation identifiziert werden können, werden diese im Rahmen der automatischen Verarbeitung immer übermittelt. Ein im Rahmen der manuellen Verarbeitung definierter Consent String wird in diesem Fall ignoriert.

Manuelle Verarbeitung

Die manuelle Verarbeitung der TCF Consent Daten werden mittels der Methode setCustomConsent durchgeführt. Dabei muss ein zuvor gemäß IO Consent String Notation gebildeter Consent String übergeben werden.

Objective-C:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
@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];
  [[IOLSession defaultSessionFor:IOLSessionTypeSZM] 
     setCustomConsent:@"<CUSTOMCONSENT>"]; // s. IO Consent String Notation
}

Swift:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
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)
      IOLSession.defaultSession(for: .SZM).setCustomConsent("<CUSTOMCONSENT>") // s. IO Consent String Notation
}

Wie bereits erwähnt, priorisiert die IOLib die automatischen Verarbeitung höher als die manuelle Verarbeitung. Ist das Ergebnis der automatischen Verarbeitung ein valider IO Consent String, wird dieser immer übermittelt und der manuelle ignoriert.

Um zur Laufzeit überprüfen zu können, welcher Consent String zur Übermittlung verwendet wird, kann die Methode consent aufgerufen werden. Diese retourniert den zur Übermittlung aktuell verwendeten IO Consent String.

Objective-C:

[IOLSession defaultSessionFor:IOLSessionTypeSZM].consent;

Swift:

IOLSession.defaultSession(for: .SZM).consent()


Last update: July 19, 2023