Android - Implémenter une Inbox
Dans cette page, vous apprendrez comment créer une boîte de réception (inbox) au sein de votre application avec toutes les options à votre disposition pour créer une excellente expérience de messagerie pour vos utilisateurs.
Avec notre bibliothèque, il est extrêmement simple de mettre en œuvre une boîte de réception intégrée à l'application. La mise en place d'une boîte de réception augmente considérablement le taux d'engagement de vos notifications simplement parce que les messages seront toujours disponibles dans votre application.
La fonctionnalité de boîte de réception est activée par défaut lorsque l'équipe Actito met en place votre intégration.
Après avoir activé cette fonctionnalité, vous pouvez commencer à implémenter votre boîte de réception dans n'importe quelle activité ou fragment de votre application.
Boîte de réception au niveau de l'appareil
L'approche standard consiste à utiliser la boîte de réception au niveau de l'appareil. Chaque appareil aura sa propre boîte de réception indépendante, quel que soit l'utilisateur associé. La boîte de réception au niveau de l'appareil est disponible via le module re.notifica:notificare-inbox
. La boîte de réception elle-même est exposée en tant que LiveData,
il est donc très facile de relier vos activités ou fragments à une liste d'éléments de la boîte de réception, par exemple :
- Kotlin
- Java
Notificare.inbox().observableItems.observe(this, { items ->
// Do something with the items.
})
NotificareInboxCompat.getObservableItems();
// Do something with the items.
De la même manière, vous pouvez écouter le nombre de messages non lus.
- Kotlin
- Java
Notificare.inbox().observableBadge.observe(this, { badge ->
// Do something with the badge.
})
NotificareInboxCompat.getObservableBadge();
// Do something with the badge.
Si vous ne souhaitez pas utiliser LiveData
, vous pouvez toujours récupérer les éléments et le badge dans la boîte de réception.
- Kotlin
- Java
// Items
Notificare.inbox().items
// Badge
Notificare.inbox().badge
// Items
NotificareInboxCompat.getItems();
// Badge
NotificareInboxCompat.getBadge();
Gérer les éléments de la boîte de réception
En supposant que vous déteniez une référence à un élément, pour ouvrir un élément de la boîte de réception, vous feriez simplement quelque chose comme ceci :
- 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) {
}
});
Pour supprimer des éléments de la boîte de réception, vous invoquerez la méthode suivante :
- 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) {
}
});
De plus, vous pouvez également marquer un message comme lu en appelant la méthode suivante :
- 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) {
}
});
Ou marquez tous les messages comme lus en appelant la méthode suivante :
- 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) {
}
});
Pour supprimer tous les éléments de la boîte de réception, procédez comme suit :
- 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) {
}
});