Saltar al contenido principal

Android: implementar una Inbox

En esta página aprenderá cómo crear una bandeja de entrada dentro de su aplicación con todas las opciones a su disposición para crear una excelente experiencia de correo electrónico para sus usuarios.

Con nuestra biblioteca, es extremadamente sencillo implementar una bandeja de entrada en la aplicación. Configurar una bandeja de entrada aumenta significativamente la tasa de participación de tus notificaciones simplemente porque los mensajes siempre estarán disponibles en tu aplicación.

La funcionalidad de la bandeja de entrada está habilitada de forma predeterminada cuando el equipo de Actito configura su integración.

Después de habilitar esta función, puede comenzar a implementar su bandeja de entrada en cualquier actividad o fragmento de su aplicación.

Bandeja de entrada a nivel de dispositivo

El enfoque estándar es utilizar la bandeja de entrada a nivel de dispositivo. Cada dispositivo tendrá su propia bandeja de entrada independiente, independientemente del usuario asociado. La bandeja de entrada a nivel de dispositivo está disponible a través del módulo re.notifica:notificare-inbox. La Bandeja de entrada en sí está expuesta como ``LiveData'', por lo que es muy fácil vincular sus actividades o fragmentos a una lista de elementos de la Bandeja de entrada, por ejemplo:

Notificare.inbox().observableItems.observe(this, { items ->
// Do something with the items.
})

De la misma forma, puedes escuchar la cantidad de mensajes no leídos.

Notificare.inbox().observableBadge.observe(this, { badge ->
// Do something with the badge.
})

Si no desea utilizar LiveData, siempre puede recuperar los elementos y la insignia de la bandeja de entrada.

// Items
Notificare.inbox().items

// Badge
Notificare.inbox().badge

Administrar elementos de la bandeja de entrada

Suponiendo que tiene una referencia a un elemento, para abrir un elemento desde la Bandeja de entrada simplemente haría algo como esto:

val item: NotificareInboxItem

Notificare.inbox().open(item, object : NotificareCallback<NotificareNotification> {
override fun onSuccess(result: NotificareNotification) {
// Optional: Present the notification with Push UI.
Notificare.pushUI().presentNotification(activity, notification)
}

override fun onFailure(e: Exception) {

}
})

Para eliminar elementos de la bandeja de entrada, invocará el siguiente método:

val item: NotificareInboxItem

Notificare.inbox().remove(item, object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {

}

override fun onFailure(e: Exception) {

}
})

Además, también puedes marcar un mensaje como leído llamando al siguiente método:

val item: NotificareInboxItem

Notificare.inbox().markAsRead(item, object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {

}

override fun onFailure(e: Exception) {

}
})

O marque todos los mensajes como leídos llamando al siguiente método:

Notificare.inbox().markAllAsRead(object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {

}

override fun onFailure(e: Exception) {

}
})

Para eliminar todos los elementos de la Bandeja de entrada, siga estos pasos:

Notificare.inbox().clear(object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {

}

override fun onFailure(e: Exception) {

}
})