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:
- Kotlin
- Java
Notificare.inbox().observableItems.observe(this, { items ->
// Do something with the items.
})
NotificareInboxCompat.getObservableItems();
// Do something with the items.
De la misma forma, puedes escuchar la cantidad de mensajes no leídos.
- Kotlin
- Java
Notificare.inbox().observableBadge.observe(this, { badge ->
// Do something with the badge.
})
NotificareInboxCompat.getObservableBadge();
// Do something with the badge.
Si no desea utilizar LiveData
, siempre puede recuperar los elementos y la insignia de la bandeja de entrada.
- Kotlin
- Java
// Items
Notificare.inbox().items
// Badge
Notificare.inbox().badge
// Items
NotificareInboxCompat.getItems();
// Badge
NotificareInboxCompat.getBadge();
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:
- Kotlin
- Java
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) {
}
})
NotificareInboxItem item;
NotificareInboxCompat.open(item, new NotificareCallback<NotificareNotification>() {
@Override
public void onSuccess(NotificareNotification result) {
// Optional: Present the notification with Push UI.
NotificarePushUICompat.presentNotification(activity, notification);
}
@Override
public void onFailure(@NonNull Exception e) {
}
});
Para eliminar elementos de la bandeja de entrada, invocará el siguiente método:
- Kotlin
- Java
val item: NotificareInboxItem
Notificare.inbox().remove(item, object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {
}
override fun onFailure(e: Exception) {
}
})
NotificareInboxItem item;
NotificareInboxCompat.remove(item, new NotificareCallback<Unit>() {
@Override
public void onSuccess(Unit result) {
}
@Override
public void onFailure(@NonNull Exception e) {
}
});
Además, también puedes marcar un mensaje como leído llamando al siguiente método:
- Kotlin
- Java
val item: NotificareInboxItem
Notificare.inbox().markAsRead(item, object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {
}
override fun onFailure(e: Exception) {
}
})
NotificareInboxItem item;
NotificareInboxCompat.markAsRead(item, new NotificareCallback<Unit>() {
@Override
public void onSuccess(Unit result) {
}
@Override
public void onFailure(@NonNull Exception e) {
}
});
O marque todos los mensajes como leídos llamando al siguiente método:
- Kotlin
- Java
Notificare.inbox().markAllAsRead(object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {
}
override fun onFailure(e: Exception) {
}
})
NotificareInboxCompat.markAllAsRead(new NotificareCallback<Unit>() {
@Override
public void onSuccess(Unit result) {
}
@Override
public void onFailure(@NonNull Exception e) {
}
});
Para eliminar todos los elementos de la Bandeja de entrada, siga estos pasos:
- Kotlin
- Java
Notificare.inbox().clear(object : NotificareCallback<Unit> {
override fun onSuccess(result: Unit) {
}
override fun onFailure(e: Exception) {
}
})
NotificareInboxCompat.clear(new NotificareCallback<Unit>() {
@Override
public void onSuccess(Unit result) {
}
@Override
public void onFailure(@NonNull Exception e) {
}
});