Saltar al contenido

Configuración de la Bandeja de Entrada de Mensajes para React Native

El plugin de Pushwoosh para React Native incluye la Bandeja de Entrada de Mensajes (el “icono de campana” de la Bandeja de Entrada de la App) como parte del mismo paquete pushwoosh-react-native-plugin que se utiliza para las notificaciones push. No se necesita ningún paso de instalación adicional.

Prerrequisitos

Anchor link to

Mostrar la bandeja de entrada

Anchor link to
import Pushwoosh from 'pushwoosh-react-native-plugin';
Pushwoosh.presentInboxUI();

presentInboxUI() presenta una pantalla nativa (un view controller en iOS, una Activity en Android) fuera del árbol de vistas de React, con la apariencia predeterminada del SDK.

Personalizar el estilo

Anchor link to

Pasa un objeto de estilo a presentInboxUI(). Los valores de color deben pasar por el processColor() de React Native. Cada clave es opcional:

ClavePersonaliza
dateFormatFormato de fecha
defaultImageIconEl icono predeterminado junto a un mensaje sin imagen
unreadImageLa marca de mensajes no leídos (solo iOS)
listErrorImageSe muestra cuando falla la carga de la lista
listEmptyImageSe muestra cuando la lista no tiene mensajes
listErrorMessageTexto de error (no localizado)
listEmptyMessageTexto de lista vacía (no localizado)
defaultTextColorColor de texto predeterminado (solo iOS)
accentColorColor de acento
backgroundColorColor de fondo
highlightColorColor de selección
titleColorColor del título del mensaje
readTitleColorColor del título para mensajes leídos (solo Android)
descriptionColorColor de la descripción del mensaje
readDescriptionColorColor de la descripción para mensajes leídos (solo Android)
dateColorColor de la fecha del mensaje
readDateColorColor de la fecha para mensajes leídos (solo Android)
dividerColorColor del separador
barBackgroundColorEl color de fondo de la barra de título
barAccentColorEl color del botón de retroceso de la barra de título
barTextColorEl color del texto de la barra de título
import Pushwoosh from 'pushwoosh-react-native-plugin';
import { processColor } from 'react-native';
Pushwoosh.presentInboxUI({
dateFormat: "dd.MM.yyyy",
accentColor: processColor('#3498db'),
backgroundColor: processColor('#ffffff'),
titleColor: processColor('#333333'),
descriptionColor: processColor('#666666'),
listEmptyMessage: "Aún no hay mensajes"
});

Gestionar mensajes programáticamente

Anchor link to

Carga la lista de mensajes, los recuentos de leídos y actúa sobre mensajes individuales sin abrir la pantalla integrada. Esto es útil para una interfaz de usuario de bandeja de entrada personalizada o una insignia de no leídos:

Pushwoosh.loadMessages(
(messages) => {
messages.forEach((msg) => {
console.log(msg.title + ": " + msg.message);
});
},
(error) => console.error("Fallo al cargar: " + error)
);
Pushwoosh.unreadMessagesCount((count) => {
console.log("Mensajes no leídos: " + count);
});
Pushwoosh.messagesCount((count) => { /* mensajes totales */ });
Pushwoosh.messagesWithNoActionPerformedCount((count) => { /* aún no se ha actuado sobre ellos */ });
Pushwoosh.readMessage(messageId);
Pushwoosh.deleteMessage(messageId);
Pushwoosh.performAction(messageId); // ejecuta la acción predeterminada del mensaje, por ejemplo, abrir una URL