API del SDK de iOS

Descripción de la interfaz del SDK

  1. MTMAService: Contiene todas las interfaces relacionadas con la funcionalidad de MA en el SDK.
  2. MTMAConfig, la clase de información de configuración de la aplicación.
  3. MTMAUserID, el modelo de identificación de usuario.
  4. MTMAUserContact, el modelo de información de contacto del usuario.
  5. MTMACollectControl, el modelo de control de recopilación de datos.

Iniciar la función empresarial de MA

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + start:(MTMAConfig * )config;
    • Descripción de la interfaz:
      • Habilitar la función MA de EngageLab.
      • La interfaz start es el punto de entrada para otras interfaces y se debe llamar primero antes de poder utilizar cualquier otra interfaz.
    • Descripción de los parámetros
      • config clase de configuración

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Establecer la información de contacto del usuario

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + (void)setUserContact:(MTMAUserContact * )contact;
    • Descripción de la interfaz:
      • Establecer la información de contacto del usuario.
    • Descripción de los parámetros
      • contacts: Establecer múltiples datos de contacto. La clave es el nombre del dato de contacto y el valor es el valor del dato de contacto. Actualmente, se admiten 4 tipos de datos de contacto: email, mobile_phone, landline_phone y whatsapp_phone.

Ejemplo de llamada

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];

            
Este bloque de código se muestra en una ventana flotante

Informe de eventos

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • **+ (void)eventRecord:(MTMAEventObject )event;*
    • Descripción de la interfaz:
      • Informar un evento.
    • Descripción de los parámetros
      • El modelo de informe de eventos
      • eventName: El nombre del evento informado
      • property: Propiedades del evento, donde la clave es el nombre de la propiedad y el valor es el valor de la propiedad

Ejemplo de llamada

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];

            
Este bloque de código se muestra en una ventana flotante

Establecer la identificación del usuario

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + (void)identifyAccount:(MTMAUserID * )userID;
    • Descripción de la interfaz:
      • Establecer la identificación del usuario.
    • Descripción de los parámetros
      • El modelo de identificación de usuario
      • userID: Establecer aquí el identificador único del usuario que ha iniciado sesión.
      • anonymousID: Cuando el usuario no ha iniciado sesión, pero se proporciona otra información identificable, se puede establecer como el ID anónimo, como una dirección de correo electrónico o un ID de identificación generado por un tercero.

Ejemplo de llamada

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];

            
Este bloque de código se muestra en una ventana flotante

Establecer el intervalo de envío de los datos subidos

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + (void)setReportInterval:(NSInteger)interval;
    • Descripción de la interfaz:
      • Establecer el intervalo de envío de los datos subidos. Cuando no se llama a esta interfaz, los datos de eventos se informan una vez cada 10 segundos de forma predeterminada.
      • El intervalo de envío se almacena en caché en memoria y es necesario llamarlo en cada ciclo de vida de la aplicación para que surta efecto.
    • Descripción de los parámetros
      • interval El intervalo de envío, en s (segundos)

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Establecer el límite superior de entradas de caché de eventos

Versiones compatibles

Compatible a partir de la versión 5.0.0.

Definición de la interfaz

  • + (void)setMaxEventCacheCount:(NSInteger)count;
    • Descripción de la interfaz:
      • Establecer el límite superior del número de entradas de caché de eventos, que es 50 de forma predeterminada y no puede superar los 500.
      • Cuando se supera la cantidad de caché, se informarán todos los datos.
    • Descripción de los parámetros
      • count El límite superior del número de entradas de caché de eventos

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Establecer el tiempo de espera de la sesión

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + (void)setNoActiveSessionEndDurationTime:(NSInteger)interval;
    • Descripción de la interfaz:
      • Establecer el tiempo de espera de la sesión, que es de 30 minutos de forma predeterminada.
      • Cuando la aplicación pasa a segundo plano, se inicia el temporizador de tiempo de espera de la sesión. Si no hay actividad dentro del periodo de tiempo de espera, la sesión actual finalizará.
    • Descripción de los parámetros
      • interval La duración del tiempo de espera, en s (segundos)

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Obtener EUID

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + (NSString * )EUID;
    • Descripción de la interfaz:
      • Obtener el EUID de EngageLab MA.

Ejemplo de llamada

[MTMAService EUID];
              
                  [MTMAService EUID];

            
Este bloque de código se muestra en una ventana flotante

Establecer propiedades UTM

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + (void)setUtmProperties:(NSDictionary * )property;
    • Descripción de la interfaz:
      • Las propiedades UTM son propiedades de eventos estándar. Si los desarrolladores pueden identificar desde qué anuncio accedió el usuario a la aplicación, se recomienda establecer la información UTM, y se transmitirá este parámetro al informar eventos. Actualmente, las propiedades UTM que se pueden establecer son:
        • utm_source La fuente de la campaña publicitaria
        • utm_medium El medio de la campaña publicitaria
        • utm_term El término de la campaña publicitaria
        • utm_content El contenido de la campaña publicitaria
        • utm_campaign El nombre de la campaña publicitaria
        • utm_id El ID de la campaña publicitaria

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Establecer propiedades del usuario

Sobrescribir y actualizar propiedades del usuario

  • + (void)setProperty:(NSDictionary * )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;
    • Descripción de la interfaz:
      • El contenido de estas propiedades de usuario se almacena en un NSDictionary, donde la clave es el nombre de la propiedad de usuario y debe ser un NSString, y el valor es el contenido de la propiedad de usuario, que solo admite tipos como NSString, NSNumber, NSSet y NSArray.
      • Actualmente, los elementos en el valor de tipo NSSet o NSArray solo admiten ser NSString.
      • Si una determinada propiedad de usuario ya existía previamente, en esta ocasión se sobrescribirá; si no existe, se creará. Por ejemplo: el nivel de membresía del usuario.
    • Ejemplo de llamada:
[MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                 [MTMAService setProperty:@{@"key":@"value"} completion:^(NSInteger code, NSString * _Nonnull message) {
       
   }];

            
Este bloque de código se muestra en una ventana flotante
  • + (void)setProperty:(NSString * )key to:(id)value completion:(void (^)(NSInteger code, NSString * message))completion;
    • Descripción de la interfaz:
      • Establecer el contenido de una única propiedad de usuario.
      • El contenido de estas propiedades de usuario se almacena en un NSDictionary, donde la clave es el nombre de la propiedad de usuario y debe ser un NSString, y el valor es el contenido de la propiedad de usuario, que solo admite tipos como NSString, NSNumber, NSSet y NSArray.
      • Actualmente, los elementos en el valor de tipo NSSet o NSArray solo admiten ser NSString.
      • Si una determinada propiedad de usuario ya existía previamente, en esta ocasión se sobrescribirá; si no existe, se creará. Por ejemplo: el nivel de membresía del usuario.
    • Ejemplo de llamada:
[MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                 [MTMAService setProperty:@"key" to:@"value" completion:^(NSInteger code, NSString * _Nonnull message) {
       
   }];

            
Este bloque de código se muestra en una ventana flotante

Incrementar y actualizar propiedades del usuario

  • **+ (void)increaseProperty:(NSString )key by:(NSNumber )amount completion:(void (^)(NSInteger code, NSString * message))completion;
    • Descripción de la interfaz:
      • Añadir un valor a una propiedad de usuario numérica y acumular todos los datos informados, como el importe de consumo acumulado.
      • Esta interfaz solo se puede llamar para propiedades de usuario de tipo NSNumber; de lo contrario, se ignorará. Si esta propiedad de usuario no existía previamente, el valor inicial se considera 0.
    • Ejemplo de llamada:
[MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService increaseProperty:@"key" by:@(2) completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Este bloque de código se muestra en una ventana flotante
  • **+ (void)increaseProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger code, NSString * message))completion;*
    • Descripción de la interfaz:
      • Añadir valores a varias propiedades de usuario numéricas y acumular todos los datos informados, como el importe de consumo acumulado.
      • Esta interfaz solo se puede llamar para propiedades de usuario de tipo NSNumber; de lo contrario, se ignorará. Si esta propiedad de usuario no existía previamente, el valor inicial se considera 0.
    • Ejemplo de llamada:
[MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService increaseProperty:@{@"key1":@(5),@"key2":@(3)} completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Este bloque de código se muestra en una ventana flotante

Añadir propiedades del usuario

  • **+ (void)addProperty:(NSString )key by:(NSObject )content completion:(void (^)(NSInteger code, NSString * message))completion
    • Descripción de la interfaz:
      • Añadir algunos valores a una propiedad de tipo NSSet o NSArray.
      • Como se mencionó anteriormente, los elementos de este NSSet o NSArray deben ser NSString; de lo contrario, se ignorará. Al mismo tiempo, si la propiedad de usuario a la que se van a añadir valores no existía previamente, se inicializará un NSSet o NSArray vacío.
    • Ejemplo de llamada:
[MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService addProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Este bloque de código se muestra en una ventana flotante
  • **+ (void)addProperty:(NSDictionary )userinfo completion:(void (^)(NSInteger, NSString * _Nonnull))completion;*
    • Descripción de la interfaz:
      • Añadir algunos valores a varias propiedades de tipo NSSet o NSArray.
      • Como se mencionó anteriormente, los elementos de este NSSet o NSArray deben ser NSString; de lo contrario, se ignorará. Al mismo tiempo, si la propiedad de usuario a la que se van a añadir valores no existía previamente, se inicializará un NSSet o NSArray vacío.
    • Ejemplo de llamada:
[MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService addProperty:@{@"key1":@[@"value"],@"key2":@[@"value"]} completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Este bloque de código se muestra en una ventana flotante

Eliminar valores de propiedades del usuario

  • **+ (void)removeProperty:(NSString * )key by:(NSObject )content completion:(void (^)(NSInteger code, NSString * message))completion;*
    • Descripción de la interfaz:
      • Eliminar algunos valores de una propiedad de tipo NSSet o NSArray.
      • El parámetro content es de tipo NSSet o NSArray, y los elementos internos deben ser NSString.
    • Ejemplo de llamada:
[MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) { }];
              
                  [MTMAService removeProperty:@"key" by:@[@"value"] completion:^(NSInteger code, NSString * _Nonnull message) {
    
    }];

            
Este bloque de código se muestra en una ventana flotante

Eliminar propiedades del usuario

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • + (void)deleteProperty:(NSString * )key completion:(void (^)(NSInteger code, NSString * message))completion;
    • Descripción de la interfaz:
      • Eliminar todo el contenido de una determinada propiedad de usuario.
      • Si esta propiedad de usuario no existía previamente, se ignorará directamente.

Ejemplo de llamada

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

            
Este bloque de código se muestra en una ventana flotante

Control de recopilación de datos

Versiones compatibles

Compatible a partir de la versión 5.0.0

Definición de la interfaz

  • **+ (void)setCollectControl:(MTMACollectControl )control;*
    • Descripción de la interfaz:
      • Controlar si se recopilan los elementos de datos de la clase MTMACollectControl.

Ejemplo de llamada

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];

            
Este bloque de código se muestra en una ventana flotante

Clase MTMAConfig

Clase de información de configuración de la aplicación. A continuación se describen las propiedades:

Nombre del parámetro Tipo de parámetro Descripción del parámetro
userID MTMAUserID El modelo de identificación de usuario. Cuando se establece esta propiedad, la identificación del usuario se establecerá durante la inicialización.
completion (^)(NSInteger code, NSString * message) La devolución de llamada del resultado de la solicitud, donde code: 0 significa éxito.

Clase MTMAUserID

La clase de modelo de identificación de usuario. A continuación se describen las propiedades:

Nombre del parámetro Tipo de parámetro Descripción del parámetro
userID NSString Establecer aquí el identificador único del usuario que ha iniciado sesión.
anonymousID NSString Cuando el usuario no ha iniciado sesión, pero se proporciona otra información identificable, se puede establecer como el ID anónimo, como una dirección de correo electrónico o un ID de identificación generado por un tercero.
completion (^)(NSInteger code, NSString * message) La devolución de llamada del resultado de la solicitud, donde code: 0 significa éxito.

Clase MTMACollectControl

Clase de modelo de control de recopilación de datos del usuario. A continuación se describen las propiedades:

Nombre del parámetro Tipo de parámetro Descripción del parámetro
idfa BOOL Si se recopila información idfa. Establecer en NO para no recopilar información idfa. El valor predeterminado es NO.
idfv BOOL Si se recopila información idfv. Establecer en NO para no recopilar información idfv. El valor predeterminado es NO.
carrier BOOL Si se recopila información del operador. Establecer en NO para no recopilar información del operador. El valor predeterminado es YES.

Clase MTMAUserContact

La clase de modelo de información de contacto del usuario. A continuación se describen las propiedades:
Si no se establece o se establece en nil, se considera que no hay modificación. Cuando se establece en una cadena vacía "", se considera que se borra la información de contacto.

Nombre del parámetro Tipo de parámetro Descripción del parámetro
contacts NSDictionary El diccionario de información de contacto, que admite 4 tipos de datos de contacto: email, mobile_phone, landline_phone y whatsapp_phone.
completion (^)(NSInteger code, NSString * message) La devolución de llamada del resultado de la solicitud, donde code: 0 significa éxito.

Clase MTMAEventObject

La clase de objeto de evento personalizado. A continuación se describen las propiedades:

Nombre del parámetro Tipo de parámetro Descripción del parámetro
eventName NSString El ID del evento, que es obligatorio y no puede estar vacío.
property NSDictionary<NSString *, id> Propiedades personalizadas (menores o iguales a 500). La clave es un NSString y solo puede contener números, letras y guiones bajos; el valor puede ser un NSString/NSNumber.
icon
Contacto