API del SDK de Android

Descripción de la interfaz del SDK

  • MTMAApi, contiene todas las interfaces de funciones MA.

Indicaciones antes de llamar a la API

  • start solo se puede llamar en el proceso principal de la aplicación host.
  • Excepto por la interfaz de configuración que se permite configurar antes de la inicialización, otras API comerciales de MA solo se pueden llamar después de una inicialización exitosa.
  • Se recomienda llamar a todas las API externas de MA en el proceso principal. Los procesos no principales no comparten el estado de inicialización del proceso principal y las llamadas no se reenvían al proceso principal.
  • Cuando un proceso no principal llama a la API empresarial, la interfaz con devolución de llamada devuelve CODE_START_FAIL (-2), getEuid() y getMaRid() devuelven un valor nulo, y la interfaz empresarial sin devolución de llamada no se ejecutará.
  • configDebugMode, setCollectControl, setReportInterval, setMaxEventCacheCount y setNoActiveSessionEndDurationTime son configuraciones en proceso; llamarlos en un proceso no principal no modificará la configuración del proceso principal MA.

Obtener la versión SDK

Versiones compatibles

Versión inicial compatible: 5.5.0

Definición de campo

  • MTMAApi.SDK_VERSION_CODE: número de versión digital de MA SDK.
  • MTMAApi.SDK_VERSION_NAME: número de versión de cadena MA SDK.
int versionCode = MTMAApi.SDK_VERSION_CODE; String versionName = MTMAApi.SDK_VERSION_NAME;
              
              int versionCode = MTMAApi.SDK_VERSION_CODE;
String versionName = MTMAApi.SDK_VERSION_NAME;

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

Establecer el modo de depuración

Versiones compatibles

Versión inicial compatible: 5.5.0

Definición de interfaz

  • configDebugMode(boolean enable)
    • Habilite o deshabilite los registros de depuración de MA SDK.
    • Se recomienda configurarlo antes de llamar a start y se recomienda desactivarlo en la versión de lanzamiento.
MTMAApi.configDebugMode(true);
              
              MTMAApi.configDebugMode(true);

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

Habilitar la función MA

Versiones compatibles

Versión inicial compatible: 5.5.0

Definición de interfaz

  • start(MTMAConfig config, MTMAInitResultCallback callback)
    • Descripción de la interfaz: utilice MA AppKey para inicializar la versión independiente de MA SDK.
    • config: Configuración inicial.
      • MTMAConfig(String appKey): Establecer clave de aplicación MA.
      • MTMAConfig(String appKey, UserIdentity userIdentity): configure MA AppKey y el ID de usuario al mismo tiempo.
    • callback: Devolución de llamada del resultado de la inicialización.
    • MTMAInitResult:
      • isSuccess(): Si la inicialización fue exitosa.
      • getCode(): Código de resultado, 0 indica éxito.
      • getMessage(): Descripción del resultado.
      • getEuid(): EUID obtenido después de una inicialización exitosa.
      • getMaRid(): MA RID obtenido después de una inicialización exitosa.

Ejemplo de llamada

MTMAConfig config = new MTMAConfig("your MA AppKey"); MTMAApi.getInstance(this).start(config, new MTMAInitResultCallback() { @Override public void onResult(MTMAInitResult result) { if (result.isSuccess()) { String euid = result.getEuid(); String maRid = result.getMaRid(); } else { int code = result.getCode(); String message = result.getMessage(); } } });
              
              MTMAConfig config = new MTMAConfig("your MA AppKey");
MTMAApi.getInstance(this).start(config, new MTMAInitResultCallback() {
    @Override
    public void onResult(MTMAInitResult result) {
        if (result.isSuccess()) {
            String euid = result.getEuid();
            String maRid = result.getMaRid();
        } else {
            int code = result.getCode();
            String message = result.getMessage();
        }
    }
});

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

Cambiar AppKey en tiempo de ejecución

Una vez completada la última devolución de llamada de inicialización, se puede volver a llamar a start con el nuevo MTMAConfig. Otras API empresariales de MA no están disponibles temporalmente durante el cambio. No hay un retorno automático a la AppKey anterior cuando falla la inicialización de la nueva AppKey.

Interfaz obsoleta

A partir de 5.5.0, las siguientes interfaces están en desuso:

  • start(CallBack callBack)
  • start(UserIdentity userIdentity, CallBack callBack)

Utilice start(MTMAConfig config, MTMAInitResultCallback callback) en su lugar.

Establecer ID de usuario

Se recomienda configurar esta interfaz cuando el usuario inicia sesión y proporciona información relevante para obtener el EUID que coincida con el usuario.

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • _setUserIdentity(UserIdentity userIdentity, CallBack callBack) _
    • Descripción de la interfaz: -Establecer identificación de usuario, como el número de tarjeta de membresía de usuario.
    • Descripción del parámetro:
      • userIdentity: identificación de llamada
        • setUserId(String userId): no puede estar vacío después de eliminar los espacios iniciales y finales, hasta 255 caracteres Unicode; no puede ser 0, null, undefined, nan (ignorando mayúsculas y minúsculas)
        • setAnonymousId(String anonymousId): No puede estar vacío después de eliminar los espacios iniciales y finales, hasta 256 caracteres Unicode
        • setEmail(String email): no puede estar vacío, hasta 256 caracteres Unicode; debe contener y solo puede contener un @, @ no puede estar vacío antes y después, y no puede contener espacios, nuevas líneas o tabulaciones; compatible a partir de 5.5.0
        • setPhone(String phone): debe cumplir con el formato E.164, comenzando con +, el primer dígito del código de país es del 1 al 9 y luego contiene de 1 a 14 dígitos; compatible a partir de 5.5.0
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del parámetro del mensaje para obtener más detalles

Ejemplo de llamada

UserIdentity userIdentity = new UserIdentity(); userIdentity.setUserId("your_user_id"); userIdentity.setAnonymousId("your_anonymous_id"); userIdentity.setEmail("user@example.com"); userIdentity.setPhone("+8613800138000"); MTMAApi.getInstance(this).setUserIdentity(userIdentity, new CallBack() { @Override public void onCallBack(int code, String message) { MTCommonLog.e(TAG, "setUserIdentity code:" + code); MTCommonLog.e(TAG, "setUserIdentity message:" + message); } });
              
                              UserIdentity userIdentity = new UserIdentity();
                userIdentity.setUserId("your_user_id");
                userIdentity.setAnonymousId("your_anonymous_id");
                userIdentity.setEmail("user@example.com");
                userIdentity.setPhone("+8613800138000");
                MTMAApi.getInstance(this).setUserIdentity(userIdentity, new CallBack() {
                    @Override
                    public void onCallBack(int code, String message) {
                        MTCommonLog.e(TAG, "setUserIdentity code:" + code);
                        MTCommonLog.e(TAG, "setUserIdentity message:" + message);
                    }
                });

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

Cuando falla la verificación del campo de ID de usuario, no se envía ninguna solicitud de red y se devuelve code = -3 a través de la devolución de llamada.

Establecer información de contacto del usuario

Cuando la información de contacto del usuario cambia, puede utilizar esta interfaz para actualizar la "información de contacto" del usuario.

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • setUserContact(JSONObject contacts, CallBack callBack)
    • Descripción de la interfaz: -Establecer la "información de contacto" del usuario.
    • Descripción del parámetro:
      • contactos: establece múltiples métodos de contacto. La clave es el nombre del método de contacto y el valor es el valor del método de contacto. Actualmente, se admiten cuatro métodos de contacto: correo electrónico, teléfono_móvil, teléfono fijo y teléfono_whatsapp.
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del parámetro del mensaje para obtener más detalles
      • mensaje: descripción del motivo

Ejemplo de llamada

JSONObject contacts = new JSONObject(); try { contacts.put("key1", "cc"); contacts.put("key2", "dd"); } catch (JSONException e) { e.printStackTrace(); } MTMAApi.getInstance(this).setUserContact(contacts, new CallBack() { @Override public void onCallBack(int code, String message) { Log.e(TAG, "setUserContact code:" + code); Log.e(TAG, "setUserContact message:" + message); } });
              
                              JSONObject contacts = new JSONObject();
                try {
                    contacts.put("key1", "cc");
                    contacts.put("key2", "dd");
                } catch (JSONException e) {
                    e.printStackTrace();
                }
                MTMAApi.getInstance(this).setUserContact(contacts, new CallBack() {
                    @Override
                    public void onCallBack(int code, String message) {
                        Log.e(TAG, "setUserContact code:" + code);
                        Log.e(TAG, "setUserContact message:" + message);
                    }
                });

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

Obtener EUID

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • getEuid()
    • Descripción de la interfaz:
      • Obtener el EUID, que representa la identificación única del usuario. Solo se devuelve el valor actual cuando la inicialización es exitosa y se devuelve un valor nulo en otros estados.

Ejemplo de llamada

MTMAApi.getInstance(this).getEuid();
              
              MTMAApi.getInstance(this).getEuid();

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

Obtener MA RID

Versiones compatibles

Versión inicial compatible: 5.5.0

Definición de interfaz

  • getMaRid()
    • Obtenga el MA RID actual. Solo se devuelve el valor actual cuando la inicialización es exitosa y se devuelve un valor nulo en otros estados.
String maRid = MTMAApi.getInstance(this).getMaRid();
              
              String maRid = MTMAApi.getInstance(this).getMaRid();

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

Establecer ID de contacto del canal

Versiones compatibles

Versión inicial compatible: 5.5.0

Definición de interfaz

  • setChannelValue(long channelId, List values, CallBack callBack)
    • Descripción de la interfaz: establece la ID de contacto del canal. El canal AppPush está vinculado automáticamente al SDK y no es necesario llamar a esta configuración de interfaz.
    • Descripción del parámetro:
      • channelId: el ID del canal Push de terceros configurado en la consola MA debe ser mayor que 0.
      • values: La lista de valores del ID de contacto del canal (como RID o Token) no puede estar vacía y los elementos de la lista no pueden estar vacíos.
      • callBack: devolución de llamada de resultado, code == 0 indica éxito.
List<String> values = Collections.singletonList("push rid or token"); MTMAApi.getInstance(this).setChannelValue(136L, values, new CallBack() { @Override public void onCallBack(int code, String message) { // code == 0 means success } });
              
              List<String> values = Collections.singletonList("push rid or token");
MTMAApi.getInstance(this).setChannelValue(136L, values, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {
        // code == 0 means success
    }
});

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

Establecer el intervalo de datos de informes

Tiene efecto junto con la interfaz setMaxEventCacheCount y se informará siempre que se cumpla una de las condiciones.

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • setReportInterval(int interval)
    • Descripción de la interfaz:
      • Establecer el intervalo de datos de informes. Cuando no se llama a esta interfaz, el valor predeterminado es 10 segundos para informar los datos del evento.
      • Memoria caché de intervalo de informe, que debe llamarse en cada ciclo de vida de la aplicación para que surta efecto
    • Descripción del parámetro
      • intervalo de informe de intervalo, unidad s (segundos)

Ejemplo de llamada

MTMAApi.getInstance(this).setReportInterval(10);
              
                  MTMAApi.getInstance(this).setReportInterval(10);

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

Establecer el límite superior de caché de eventos

Tiene efecto junto con la interfaz setReportInterval y se informará siempre que se cumpla una de las condiciones.

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • setMaxEventCacheCount(int count)
    • Descripción de la interfaz:
      • Establezca el límite superior de caché de eventos, el valor predeterminado es 50, el máximo no puede exceder 500
      • Cuando se excede la cantidad de caché, se informarán todos los datos
    • Descripción del parámetro -count El límite superior del número de elementos de caché de eventos

Ejemplo de llamada

MTMAApi.getInstance(this).setMaxEventCacheCount(50);
              
                  MTMAApi.getInstance(this).setMaxEventCacheCount(50);

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

Establecer tiempo de espera de sesión

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • setNoActiveSessionEndDurationTime(int duration)
    • Descripción de la interfaz:
      • Cuando la App se coloca en segundo plano, se comienza a calcular el tiempo de espera de la sesión. Si se excede el tiempo establecido (por defecto 30 minutos), la sesión finalizará.
    • Descripción del parámetro
      • duración del tiempo de espera, unidades s (segundos)

Ejemplo de llamada

MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);
              
                  MTMAApi.getInstance(this).setNoActiveSessionEndDurationTime(5*60);

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

Establecer atributos UTM

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • setUtmProperties(UtmProperties utmProperties)
    • Descripción de la interfaz:
      • Establecer el atributo UTM. Si el desarrollador puede identificar desde qué anuncio salta el usuario para acceder a la aplicación, se recomienda configurar la información UTM. Pasaremos este parámetro al informar el evento.
    • Descripción del parámetro:
      • utmProperties Objeto de propiedades UTM
        • fuente de la campaña utm_source
        • utm_medium medio de campaña
        • utm_term término de campaña
        • contenido de la campaña utm_content
        • nombre de la campaña utm_campaign

Ejemplo de llamada

UtmProperties utmProperties = new UtmProperties(); utmProperties.setUtmSource("your_utm_source"); utmProperties.setUtmCampaign("your_utm_campaign"); utmProperties.setUtmContent("your_utm_content"); utmProperties.setUtmId("your_utm_id" ); utmProperties.setUtmMedium("your_utm_medium"); utmProperties.setUtmTerm("your_utm_term"); MTMAApi.getInstance(this).setUtmProperties(utmProperties);
              
                              UtmProperties utmProperties = new UtmProperties();
                utmProperties.setUtmSource("your_utm_source");
                utmProperties.setUtmCampaign("your_utm_campaign");
                utmProperties.setUtmContent("your_utm_content");
                utmProperties.setUtmId("your_utm_id" );
                utmProperties.setUtmMedium("your_utm_medium");
                utmProperties.setUtmTerm("your_utm_term");
                MTMAApi.getInstance(this).setUtmProperties(utmProperties);

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

Control de adquisición de datos

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • setCollectControl(MTMACollectControl control)
    • Descripción de la interfaz: -Establecer permisos de colección. Si necesita activar o desactivar cierta recopilación de datos, llame a esta interfaz
    • Descripción del parámetro:
      • control: Configuración de permisos de colección; Las propiedades que no están establecidas explícitamente utilizan los siguientes valores predeterminados.
        • setCarrier(boolean enable): Si se debe recopilar información del operador, habilitado de forma predeterminada
        • setMacAddress(boolean enable): si se debe recopilar la dirección MAC, deshabilitada de forma predeterminada
        • setGAID(boolean enable): Si se debe recopilar GAID, cerrado de forma predeterminada
        • setOAID(boolean enable): Si se debe recopilar OAID, cerrado de forma predeterminada
        • setAAID(boolean enable): Ya sea para recolectar AAID, cerrado de forma predeterminada
        • setIMEI(boolean enable): Ya sea para recopilar IMEI, desactivado de forma predeterminada; Solo es compatible con Android 9 y versiones anteriores, la aplicación host debe declarar y obtener el permiso READ_PHONE_STATE.

Ejemplo de llamada

try { MTMACollectControl mtmaCollectControl = new MTMACollectControl(); mtmaCollectControl.setCarrier(true); mtmaCollectControl.setMacAddress(true); mtmaCollectControl.setGAID(true); mtmaCollectControl.setOAID(true); mtmaCollectControl.setIMEI(true); mtmaCollectControl.setAAID(true); MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl); } catch (Throwable e) {e.printStackTrace(); }
              
              try {
MTMACollectControl mtmaCollectControl = new MTMACollectControl();
        mtmaCollectControl.setCarrier(true);
        mtmaCollectControl.setMacAddress(true);
        mtmaCollectControl.setGAID(true);
        mtmaCollectControl.setOAID(true);
        mtmaCollectControl.setIMEI(true);
        mtmaCollectControl.setAAID(true);
    MTMAApi.getInstance(this).setCollectControl(mtmaCollectControl);
} catch (Throwable e) {e.printStackTrace();
}

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

Establecer atributos de usuario

Establezca el valor del atributo de usuario. Si el atributo de usuario no existe, se creará automáticamente en segundo plano.

Sobrescribir y actualizar atributos de usuario

  • propertySet(final JSONObject properties, final CallBack callBack)
    • Descripción de la interfaz:
      • Sobrescritura por lotes y actualización de valores de atributos de usuario.
      • Solo se guardan los últimos datos informados, que cubren datos históricos, como el nivel de membresía del usuario.
      • El valor admite cadenas, números, valores booleanos, matrices de cadenas, JSONObject y JSONArray cuyos elementos son todos JSONObject.
    • Descripción del parámetro:
      • propiedades: propiedades del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
try {JSONObject properties = new JSONObject(); properties.put("your_property_name","your_property_value"); properties.put("your_property_name 2","your_property_value 2"); properties.put("your_property_name 3","your_property_value 3"); MTMAApi.getInstance(this).propertySet(properties, new CallBack() { @Override public void onCallBack(int code, String message) {}}); } catch (Throwable e) {e.printStackTrace(); }
              
              try {JSONObject properties = new JSONObject();
    properties.put("your_property_name","your_property_value");
    properties.put("your_property_name 2","your_property_value 2");
    properties.put("your_property_name 3","your_property_value 3");
    MTMAApi.getInstance(this).propertySet(properties, new CallBack() {
        @Override
        public void onCallBack(int code, String message) {}});
} catch (Throwable e) {e.printStackTrace();
}

            
Este bloque de código se muestra en una ventana flotante
  • propertySet(String property, Object value, CallBack callBack)
    • Descripción de la interfaz:
      • Una única anulación actualiza el valor de un atributo de usuario.
      • Solo se guardan los últimos datos informados, que cubren datos históricos, como el nivel de membresía del usuario.
      • Las reglas de tipo de valor son consistentes con el lote propertySet.
    • Descripción del parámetro:
      • propiedad: nombre de propiedad del usuario
      • valor: valor del atributo del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertySet("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

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

Actualizar los atributos del usuario de forma acumulativa

  • propertyIncrease(final Map<String, ? extends Number> properties, CallBack callBack)
    • Descripción de la interfaz:
      • Acumule la configuración de valores de los atributos del usuario y realice solicitudes por lotes
      • Acumular todos los datos reportados, como la cantidad de consumo acumulado.
      • Esta interfaz solo se puede llamar para atributos de usuario de tipo numérico; de lo contrario, se ignorará. Si el atributo de usuario no existía antes, el valor inicial se tratará como 0.
    • Descripción del parámetro:
      • propiedades: propiedades del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
Map<String,Number> properties = new HashMap(); properties.put("your_property_name",1); properties.put("your_property_name 2",2); properties.put("your_property_name 3",3); MTMAApi.getInstance(this).propertyIncrease(properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Map<String,Number> properties = new HashMap();
properties.put("your_property_name",1);
properties.put("your_property_name 2",2);
properties.put("your_property_name 3",3);
MTMAApi.getInstance(this).propertyIncrease(properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Este bloque de código se muestra en una ventana flotante
  • propertyIncrease(final String property, final Number value, CallBack callBack)
    • Descripción de la interfaz:
      • Acumular configuración de valor de atributo de usuario, solicitud única
      • Acumular todos los datos reportados, como la cantidad de consumo acumulado.
      • Esta interfaz solo se puede llamar para atributos de usuario de tipo numérico; de lo contrario, se ignorará. Si el atributo de usuario no existía antes, el valor inicial se tratará como 0.
    • Descripción del parámetro:
      • propiedad: nombre de propiedad del usuario
      • valor: valor del atributo del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyIncrease("your_property_name",1, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

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

###Agregar atributos de usuario

  • propertyAdd(final String property, final String value, CallBack callBack)
    • Descripción de la interfaz:
      • Agregar el valor del atributo de usuario, solicitud única
      • Agregue continuamente elementos a la colección y almacene los elementos en la base de datos para su deduplicación. Si ABC ya existe, agrega CD, y finalmente será ABCD.
    • Descripción del parámetro:
      • propiedad: nombre de propiedad del usuario
      • valor: valor del atributo del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyAdd("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Este bloque de código se muestra en una ventana flotante
  • propertyAdd(final String property, final Set values, CallBack callBack)
    • Descripción de la interfaz:
      • Agregue el valor del atributo de usuario, agregando múltiples valores a la vez
      • Agregue continuamente elementos a la colección y almacene los elementos en la base de datos para su deduplicación. Si ABC ya existe, agrega CD, y finalmente será ABCD.
    • Descripción del parámetro:
      • propiedad: nombre de propiedad del usuario
      • valor: valor del atributo del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
Set<String> properties = new HashSet<>(); properties.add("your_property_value"); properties.add("your_property_value 2"); properties.add("your_property_value 3"); MTMAApi.getInstance(this).propertyAdd("your_property_name",properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyAdd("your_property_name",properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

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

Manipular elementos object_array

Las siguientes interfaces son compatibles a partir de 5.5.0 y solo se utilizan para el atributo de usuario object_array. Los propertyAdd y propertyRemove originales todavía se utilizan para matrices de cadenas y el comportamiento permanece sin cambios.

  • updateObjectArrayProperty(String property, String identifierKey, Object identifierValue, JSONObject values, CallBack callBack)
    • Actualizar un subcampo de un elemento de objeto en función de un identificador único.
    • identifierValue admite cadenas o números limitados; values no puede modificar el campo de identificación.
    • Utilice JSONObject.NULL en values para eliminar el subcampo correspondiente.
JSONObject values = new JSONObject().put("enabled", false); MTMAApi.getInstance(this).updateObjectArrayProperty( "devices", "device_id", "device_1", values, callBack);
              
              JSONObject values = new JSONObject().put("enabled", false);
MTMAApi.getInstance(this).updateObjectArrayProperty(
        "devices", "device_id", "device_1", values, callBack);

            
Este bloque de código se muestra en una ventana flotante
  • addObjectArrayProperty(String property, JSONObject object, CallBack callBack)
    • Agregue un elemento de objeto no nulo a object_array.
JSONObject device = new JSONObject() .put("device_id", "device_2") .put("year", 2026); MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);
              
              JSONObject device = new JSONObject()
        .put("device_id", "device_2")
        .put("year", 2026);
MTMAApi.getInstance(this).addObjectArrayProperty("devices", device, callBack);

            
Este bloque de código se muestra en una ventana flotante
  • removeObjectArrayProperty(String property, String identifierKey, Object identifierValue, CallBack callBack)
    • Eliminar elementos completos del objeto basándose en identificadores únicos.
MTMAApi.getInstance(this).removeObjectArrayProperty( "devices", "device_id", "device_2", callBack);
              
              MTMAApi.getInstance(this).removeObjectArrayProperty(
        "devices", "device_id", "device_2", callBack);

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

Eliminar atributos de usuario

  • propertyRemove(final String property, String values, final CallBack callBack)
    • Descripción de la interfaz:
      • Se eliminaron operaciones de valor en atributos de usuario.
      • Este valor es un elemento de colección y los elementos se almacenan en la base de datos para el procesamiento de deduplicación. Si ABCD ya existe, elimine D y finalmente es ABC.
    • Descripción del parámetro:
      • propiedad: nombre de propiedad del usuario
      • valor: valor del atributo del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyRemove("your_property_name","your_property_value", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

            
Este bloque de código se muestra en una ventana flotante
  • propertyRemove(final String property, Set values, final CallBack callBack)
    • Descripción de la interfaz:
      • Eliminar el valor de los atributos del usuario y eliminar varios valores a la vez.
      • Este valor es un elemento de colección y los elementos se almacenan en la base de datos para el procesamiento de deduplicación. Si ABCD ya existe, se elimina el CD y finalmente es AB.
    • Descripción del parámetro:
      • propiedad: nombre de propiedad del usuario
      • valor: valor del atributo del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo
    • Ejemplo de llamada:
Set<String> properties = new HashSet<>(); properties.add("your_property_value"); properties.add("your_property_value 2"); properties.add("your_property_value 3"); MTMAApi.getInstance(this).propertyRemove("your_property_name",properties, new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              Set<String> properties = new HashSet<>();
properties.add("your_property_value");
properties.add("your_property_value 2");
properties.add("your_property_value 3");
MTMAApi.getInstance(this).propertyRemove("your_property_name",properties, new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

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

Eliminar atributos de usuario

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • propertyDelete(final String property, final CallBack callBack)
    • Descripción de la interfaz:
      • Eliminar todos los valores de valor para un atributo de usuario
    • Descripción del parámetro:
      • propiedad: nombre de propiedad del usuario
      • callBack: devolución de llamada de la interfaz
    • Descripción de la devolución:
      onCallBack(int code, String message)
      • código: código de retorno, 0 representa éxito, -1 representa error, consulte la descripción del código de error para obtener más detalles
      • mensaje: descripción del motivo

Ejemplo de llamada

MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() { @Override public void onCallBack(int code, String message) {}});
              
              MTMAApi.getInstance(this).propertyDelete("your_property_name", new CallBack() {
    @Override
    public void onCallBack(int code, String message) {}});

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

Informe de incidentes

Versiones compatibles

Versión inicial compatible: 5.0.0

Definición de interfaz

  • onEvent(String eventKey, JSONObject properties)
    • Descripción de la interfaz:
      • Informe de incidentes
    • Descripción del parámetro:
      • eventKey: nombre del evento
      • propiedades: propiedades del evento, clave es el nombre de la propiedad, valor es el valor de la propiedad

Ejemplo de llamada

JSONObject properties = new JSONObject(); properties.put("key1","v1"); properties.put("key2","v2"); MTMAApi.getInstance(this).onEvent("your_event_name",properties );
              
              JSONObject properties = new JSONObject();
properties.put("key1","v1");
properties.put("key2","v2");
MTMAApi.getInstance(this).onEvent("your_event_name",properties );

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

Código de error

código valor descripción
CODE_SUCCEED 0 Éxito
CÓDIGO_DESCONOCIDO -1 Error desconocido
CODE_START_FAIL -2 La inicialización no se completa, la inicialización falla, se inicializa en un proceso no principal o la configuración de MA de la que depende la operación actual no está lista
CÓDIGO_VÁLIDO -3 Error en la verificación de parámetros
CÓDIGO_ENABLE -4 Proyecto MA cerrado
CÓDIGO_REGISTRATIONID -5 MA RID desaparecido o ilegal
CÓDIGO_CAMBIAR -6 La configuración del proyecto MA se ha cambiado y es necesario volver a llamarla start
Icon Solid Transparent White Qiyu
Contacto