En este apartado, no ha habido mayor dificultad, salvo algunos matices:

⚠️ Errores de sintaxis

En la parte del código de ejemplo, había varios atributos con errores de sintaxis.

Errores de sintaxis en llamadas de transacciones

Errores de sintaxis en llamadas de transacciones

Los atributos de tipo booleano añadiendo una F al final de la cifra se soluciona, pero para el atributo extras que es de tipo map se crea una variable vacía. Por ejemplo:

val extras = emptyMap<String, String>()
EMMA.getInstance().startOrder("<ORDER_ID>","<CUSTOMER_ID>",10.0F,extras)

☑️ Eventos por defecto

Hay que leerse bien el apartado de Eventos de la documentación de EMMA para entender su funcionamiento. Como indica la documentación, están los eventos por defecto, y los personalizados.

Los eventos por defecto serían:

// -- enviar información sobre los registros en la app
EMMA.getInstance().registerUser("554234", "test@emma.io")

// -- enviar información sobre los login en la app
EMMA.getInstance().loginUser("554234", "test@emma.io")

// -- transacciones o compras que se realicen en la app
// iniciar la transacción
val extras = emptyMap<String, String>()
EMMA.getInstance().startOrder("<ORDER_ID>","<CUSTOMER_ID>",10.0F, extras)

// añadir productos a la transacción
EMMA.getInstance().addProduct("<PRODUCT_ID>", "<PRODUCT_NAME>", 1.0F, 10.0F)

// una vez todos los productos están añadidos, se inicia la transacción
EMMA.getInstance().trackOrder()

// cancelar una transacción
EMMA.getInstance().cancelOrder("<ORDER_ID>")

✅ Eventos personalizados

Para manejar un evento personalizado primero hay que crearlo en 🟢EMMA:

  1. Seguir los pasos de la documentación de EMMA para crear un evento (Eventos → Crear eventos)
  2. Obtener el token generado del evento para manejarlo en el código </>

Captura de Pantalla 2025-06-20 a las 11.09.32.png

</>Manejo de eventos en el proyecto de Android