iOS SDK API

iOS SDK API – Schnittstellenbeschreibung

  1. MTMAService: Enthält sämtliche Schnittstellen rund um die MA-Funktionalität im SDK.
  2. MTMAConfig: Klasse für Konfigurationsinformationen der Anwendung.
  3. MTMAUserID: Modell zur Benutzeridentifikation.
  4. MTMAUserContact: Modell für Benutzerkontaktinformationen.
  5. MTMACollectControl: Modell zur Steuerung der Datenerfassung.

MA-Business-Funktion starten

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + start:(MTMAConfig * )config;
    • Beschreibung:
      • Aktiviert die EngageLab MA-Funktion.
      • Die Start-Schnittstelle dient als Einstiegspunkt und muss vor allen anderen Funktionen aufgerufen werden.
    • Parameter:
      • config: Konfigurationsklasse

Beispielaufruf

MTMAConfig *config = [[MTMAConfig alloc] init]; [MTMAService start:config];
              
                  MTMAConfig *config = [[MTMAConfig alloc] init];
    [MTMAService start:config];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzerkontaktinformationen setzen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (void)setUserContact:(MTMAUserContact * )contact;
    • Beschreibung:
      • Setzt die Kontaktinformationen des Benutzers/der Benutzerin.
    • Parameter:
      • contacts: Mehrere Kontaktinformationen als Dictionary. Der Schlüssel ist der Name der Kontaktinformation, der Wert ist die jeweilige Information. Unterstützt werden aktuell vier Typen: email, mobile_phone, landline_phone und whatsapp_phone.

Beispielaufruf

MTMAUserContact *contact = [[MTMAUserContact alloc] init]; contact.contacts = @{@"Work Mobile Phone":@"13*********"}; contact.completion = ^(NSInteger code, NSString * _Nonnull message) { }; [MTMAService setUserContact:contact];
              
                  MTMAUserContact *contact = [[MTMAUserContact alloc] init];
    contact.contacts = @{@"Work Mobile Phone":@"13*********"};
    contact.completion = ^(NSInteger code, NSString * _Nonnull message) { };
    [MTMAService setUserContact:contact];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Ereignis-Reporting

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • **+ (void)eventRecord:(MTMAEventObject )event;*
    • Beschreibung:
      • Erfasst ein Ereignis.
    • Parameter:
      • Ereignis-Reporting-Modell
      • eventName: Name des gemeldeten Ereignisses
      • property: Ereigniseigenschaften, wobei der Schlüssel den Eigenschaftsnamen und der Wert den Eigenschaftswert darstellt

Beispielaufruf

MTMAEventObject *object = [[MTMAEventObject alloc] init]; object.eventName = @"sndefineevent2"; object.property = @{ @"key1":@"value1", @"key2":@"value2", }; [MTMAService eventRecord:object];
              
                  MTMAEventObject *object = [[MTMAEventObject alloc] init];
    object.eventName = @"sndefineevent2";
    object.property = @{
        @"key1":@"value1",
        @"key2":@"value2",
    };
    [MTMAService eventRecord:object];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzeridentifikation setzen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (void)identifyAccount:(MTMAUserID * )userID;
    • Beschreibung:
      • Setzt die Benutzeridentifikation.
    • Parameter:
      • Benutzeridentifikationsmodell
      • userID: Hier die eindeutige Benutzeridentifikation für eingeloggte Nutzer:innen setzen.
      • anonymousID: Für nicht eingeloggte Nutzer:innen, aber mit anderen identifizierbaren Informationen, kann hier eine anonyme ID gesetzt werden, z. B. eine E-Mail-Adresse oder eine von Dritten generierte ID.

Beispielaufruf

MTMAUserID *userid = [[MTMAUserID alloc] init]; userid.anonymousID = @"xxx"; userid.userID = @"xxx"; [MTMAService identifyAccount:userid];
              
                  MTMAUserID *userid = [[MTMAUserID alloc] init];
    userid.anonymousID = @"xxx";
    userid.userID = @"xxx";
    [MTMAService identifyAccount:userid];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Berichtsintervall für hochgeladene Daten festlegen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (void)setReportInterval:(NSInteger)interval;
    • Beschreibung:
      • Legt das Berichtsintervall für hochgeladene Daten fest. Wird diese Schnittstelle nicht aufgerufen, erfolgt die Ereignisübertragung standardmäßig alle 10 Sekunden.
      • Das Berichtsintervall wird im Speicher gehalten und muss bei jedem App-Start neu gesetzt werden.
    • Parameter:
      • interval: Berichtsintervall in Sekunden (s)

Beispielaufruf

[MTMAService setReportInterval:10];
              
                  [MTMAService setReportInterval:10];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Obergrenze für Ereignis-Cache-Einträge festlegen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (void)setMaxEventCacheCount:(NSInteger)count;
    • Beschreibung:
      • Legt die Obergrenze für die Anzahl der Ereignis-Cache-Einträge fest (Standard: 50, maximal: 500).
      • Wird die Obergrenze überschritten, werden alle Daten gemeldet.
    • Parameter:
      • count: Obergrenze der Ereignis-Cache-Einträge

Beispielaufruf

[MTMAService setMaxEventCacheCount:50];
              
                  [MTMAService setMaxEventCacheCount:50];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Sitzungs-Timeout festlegen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (void)setNoActiveSessionEndDurationTime:(NSInteger)interval;
    • Beschreibung:
      • Legt das Sitzungs-Timeout fest (Standard: 30 Minuten).
      • Beim Wechsel der App in den Hintergrund startet der Timeout-Timer. Erfolgt innerhalb des Zeitraums keine Aktivität, endet die aktuelle Sitzung.
    • Parameter:
      • interval: Timeout-Dauer in Sekunden (s)

Beispielaufruf

[MTMAService setNoActiveSessionEndDurationTime:50];
              
                  [MTMAService setNoActiveSessionEndDurationTime:50];

            
Diesen Codeblock im schwebenden Fenster anzeigen

EUID abrufen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (NSString * )EUID;
    • Beschreibung:
      • Gibt die EUID von EngageLab MA zurück.

Beispielaufruf

[MTMAService EUID];
              
                  [MTMAService EUID];

            
Diesen Codeblock im schwebenden Fenster anzeigen

UTM-Properties setzen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (void)setUtmProperties:(NSDictionary * )property;
    • Beschreibung:
      • UTM-Properties sind standardisierte Ereigniseigenschaften. Können Entwickler:innen nachvollziehen, über welche Anzeige der:die Nutzer:in zur App gelangt ist, sollten die UTM-Informationen gesetzt werden. Diese werden beim Reporting von Ereignissen übergeben. Folgende UTM-Properties können gesetzt werden:
        • utm_source: Quelle der Werbekampagne
        • utm_medium: Medium der Werbekampagne
        • utm_term: Begriff der Werbekampagne
        • utm_content: Inhalt der Werbekampagne
        • utm_campaign: Name der Werbekampagne
        • utm_id: ID der Werbekampagne

Beispielaufruf

[MTMAService setUtmProperties:@{@"utm_source":@"value"}];
              
                     [MTMAService setUtmProperties:@{@"utm_source":@"value"}];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzer-Properties setzen

Benutzer-Properties überschreiben und aktualisieren

  • + (void)setProperty:(NSDictionary * )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;
    • Beschreibung:
      • Diese Benutzer-Properties werden in einem NSDictionary gespeichert. Der Schlüssel ist der Name des Benutzer-Properties (NSString), der Wert kann NSString, NSNumber, NSSet oder NSArray sein.
      • Elemente in NSSet oder NSArray dürfen nur NSString sein.
      • Existiert ein Property bereits, wird es überschrieben; existiert es nicht, wird es angelegt (z. B. Mitgliedschaftsstufe).
    • Beispielaufruf:
[MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                 [MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) {
       
   }];

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • + (void)setProperty:(NSString * )key to:(id)value completion:(void (^)(NSInteger code, NSString * message))completion;
    • Beschreibung:
      • Setzt den Wert eines einzelnen Benutzer-Properties.
      • Die Regeln entsprechen der obigen Methode.
    • Beispielaufruf:
[MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                 [MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) {
       
   }];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzer-Properties inkrementieren und aktualisieren

  • **+ (void)increaseProperty:(NSString )key by:(NSNumber )amount completion:(void (^)(NSInteger code, NSString * message))completion;
    • Beschreibung:
      • Erhöht einen numerischen Benutzer-Property-Wert und akkumuliert alle gemeldeten Daten, z. B. kumulierter Umsatz.
      • Nur für NSNumber-Properties; existiert das Property nicht, wird es mit 0 initialisiert.
    • Beispielaufruf:
[MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • **+ (void)increaseProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;*
    • Beschreibung:
      • Erhöht mehrere numerische Benutzer-Properties.
      • Nur für NSNumber-Properties; existiert das Property nicht, wird es mit 0 initialisiert.
    • Beispielaufruf:
[MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzer-Properties hinzufügen

  • **+ (void)addProperty:(NSString )key by:(NSObject )content completion:(void (^)(NSInteger code, NSString * message))completion
    • Beschreibung:
      • Fügt Werte zu einem Property vom Typ NSSet oder NSArray hinzu.
      • Die Elemente müssen NSString sein. Existiert das Property noch nicht, wird ein leeres NSSet oder NSArray initialisiert.
    • Beispielaufruf:
[MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Diesen Codeblock im schwebenden Fenster anzeigen
  • **+ (void)addProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger, NSString * _Nonnull))completion;*
    • Beschreibung:
      • Fügt mehreren Properties Werte hinzu (nur NSSet/NSArray mit NSString-Elementen).
      • Existiert das Property nicht, wird es initialisiert.
    • Beispielaufruf:
[MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzer-Properties entfernen

  • **+ (void)removeProperty:(NSString * )key by:(NSObject )content completion:(void (^)(NSInteger code, NSString * message))completion;*
    • Beschreibung:
      • Entfernt Werte aus einem Property vom Typ NSSet oder NSArray.
      • Der Parameter content muss NSSet oder NSArray mit NSString-Elementen sein.
    • Beispielaufruf:
[MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Benutzer-Properties löschen

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • + (void)deleteProperty:(NSString * )key completion:(void (^)(NSInteger code, NSString * message))completion;
    • Beschreibung:
      • Löscht den gesamten Inhalt eines bestimmten Benutzer-Properties.
      • Existiert das Property nicht, wird der Aufruf ignoriert.

Beispielaufruf

[MTMAService deleteProperty:@"key" completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService deleteProperty:@"key" completion:^(NSInteger code, NSString * _Nonnull message) {
        
    }];

            
Diesen Codeblock im schwebenden Fenster anzeigen

Steuerung der Datenerfassung

Unterstützte Versionen

Ab Version 5.0.0 unterstützt

Schnittstellendefinition

  • **+ (void)setCollectControl:(MTMACollectControl )control;*
    • Beschreibung:
      • Steuert, ob die in der Klasse MTMACollectControl definierten Daten gesammelt werden.

Beispielaufruf

MTMACollectControl *collectControl = [[MTMACollectControl alloc] init]; collectControl.idfa = YES; collectControl.idfv = YES; collectControl.carrier = YES; [MTMAService setCollectControl:collectControl];
              
                  MTMACollectControl *collectControl = [[MTMACollectControl alloc] init];
    collectControl.idfa = YES;
    collectControl.idfv = YES;
    collectControl.carrier = YES;
    [MTMAService setCollectControl:collectControl];

            
Diesen Codeblock im schwebenden Fenster anzeigen

MTMAConfig-Klasse

Klasse für Konfigurationsinformationen der Anwendung. Nachfolgend die Beschreibung der Eigenschaften:

Parametername Parametertyp Beschreibung
userID MTMAUserID Das Benutzeridentifikationsmodell. Wird diese Eigenschaft gesetzt, erfolgt die Benutzeridentifikation bereits bei der Initialisierung.
completion (^)(NSInteger code, NSString * message) Callback für das Ergebnis der Anfrage, wobei code: 0 Erfolg bedeutet.

MTMAUserID-Klasse

Modellklasse für die Benutzeridentifikation. Nachfolgend die Beschreibung der Eigenschaften:

Parametername Parametertyp Beschreibung
userID NSString Hier die eindeutige Benutzeridentifikation für eingeloggte Nutzer:innen setzen.
anonymousID NSString Für nicht eingeloggte Nutzer:innen, aber mit anderen identifizierbaren Informationen, kann hier eine anonyme ID gesetzt werden, z. B. E-Mail-Adresse oder von Dritten generierte ID.
completion (^)(NSInteger code, NSString * message) Callback für das Ergebnis der Anfrage, wobei code: 0 Erfolg bedeutet.

MTMACollectControl-Klasse

Modellklasse zur Steuerung der Datenerfassung. Nachfolgend die Beschreibung der Eigenschaften:

Parametername Parametertyp Beschreibung
idfa BOOL Gibt an, ob IDFA-Informationen gesammelt werden. NO = keine Erfassung (Standard: NO).
idfv BOOL Gibt an, ob IDFV-Informationen gesammelt werden. NO = keine Erfassung (Standard: NO).
carrier BOOL Gibt an, ob Carrier-Informationen gesammelt werden. NO = keine Erfassung (Standard: YES).

MTMAUserContact-Klasse

Modellklasse für Benutzerkanäle. Nachfolgend die Beschreibung der Eigenschaften:
Wird nicht gesetzt oder auf nil gesetzt, gilt dies als keine Änderung. Wird ein leerer String („“) gesetzt, werden die Kontaktinformationen gelöscht.

Parametername Parametertyp Beschreibung
contacts NSDictionary Kontaktinformations-Dictionary, unterstützt vier Typen: email, mobile_phone, landline_phone und whatsapp_phone.
completion (^)(NSInteger code, NSString * message) Callback für das Ergebnis der Anfrage, wobei code: 0 Erfolg bedeutet.

MTMAEventObject-Klasse

Klasse für benutzerdefinierte Ereignisse. Nachfolgend die Beschreibung der Eigenschaften:

Parametername Parametertyp Beschreibung
eventName NSString Die Ereignis-ID (Pflichtfeld, darf nicht leer sein).
property NSDictionary<NSString *, id> Benutzerdefinierte Eigenschaften (maximal 500). Der Schlüssel ist ein NSString und darf nur Zahlen, Buchstaben und Unterstriche enthalten; der Wert kann NSString oder NSNumber sein.
icon
Vertrieb kontaktieren