En este apartado, no ha habido mayor dificultad, salvo algunos matices:
En la parte del código de ejemplo, había varios atributos con errores de sintaxis.
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)
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>")
Para manejar un evento personalizado primero hay que crearlo en 🟢EMMA:
</>
</>
Manejo de eventos en el proyecto de Android