Настройка Message Inbox для React Native
Плагин Pushwoosh для React Native поставляет Message Inbox (App Inbox, “иконка колокольчика”) в составе того же пакета pushwoosh-react-native-plugin, который используется для push-уведомлений. Дополнительная установка не требуется.
Предварительные требования
Anchor link to- Базовый SDK Pushwoosh для React Native уже интегрирован и отправляет push-уведомления.
Отображение входящих
Anchor link toimport 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