Перейти к содержанию

Настройка Message Inbox для React Native

Плагин Pushwoosh для React Native поставляет Message Inbox (App Inbox, “иконка колокольчика”) в составе того же пакета pushwoosh-react-native-plugin, который используется для push-уведомлений. Дополнительная установка не требуется.

Предварительные требования

Anchor link to

Отображение входящих

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

presentInboxUI() отображает нативный экран (view controller на iOS, Activity на Android) вне дерева представлений React со стандартным внешним видом SDK.

Настройка стиля

Anchor link to

Передайте объект стиля в presentInboxUI(). Значения цвета должны проходить через processColor() из React Native. Каждый ключ является необязательным:

КлючЧто настраивает
dateFormatФорматирование даты
defaultImageIconИконка по умолчанию рядом с сообщением без изображения
unreadImageОтметка о непрочитанных сообщениях (только для iOS)
listErrorImageОтображается при ошибке загрузки списка
listEmptyImageОтображается, когда в списке нет сообщений
listErrorMessageТекст ошибки (не локализован)
listEmptyMessageТекст для пустого списка (не локализован)
defaultTextColorЦвет текста по умолчанию (только для iOS)
accentColorАкцентный цвет
backgroundColorЦвет фона
highlightColorЦвет выделения
titleColorЦвет заголовка сообщения
readTitleColorЦвет заголовка для прочитанных сообщений (только для Android)
descriptionColorЦвет описания сообщения
readDescriptionColorЦвет описания для прочитанных сообщений (только для Android)
dateColorЦвет даты сообщения
readDateColorЦвет даты для прочитанных сообщений (только для Android)
dividerColorЦвет разделителя
barBackgroundColorЦвет фона панели заголовка
barAccentColorЦвет кнопки “назад” на панели заголовка
barTextColorЦвет текста на панели заголовка
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: "Пока нет сообщений"
});

Программное управление сообщениями

Anchor link to

Загружайте список сообщений, количество непрочитанных и выполняйте действия с отдельными сообщениями, не открывая встроенный экран. Это полезно для создания собственного интерфейса входящих или значка о непрочитанных сообщениях:

Pushwoosh.loadMessages(
(messages) => {
messages.forEach((msg) => {
console.log(msg.title + ": " + msg.message);
});
},
(error) => console.error("Не удалось загрузить: " + error)
);
Pushwoosh.unreadMessagesCount((count) => {
console.log("Непрочитанных сообщений: " + count);
});
Pushwoosh.messagesCount((count) => { /* общее количество сообщений */ });
Pushwoosh.messagesWithNoActionPerformedCount((count) => { /* сообщения, с которыми еще не было выполнено никаких действий */ });
Pushwoosh.readMessage(messageId);
Pushwoosh.deleteMessage(messageId);
Pushwoosh.performAction(messageId); // выполняет действие сообщения по умолчанию, например, открывает URL