为 Cordova 设置消息收件箱
Pushwoosh Cordova 插件将消息收件箱(“铃铛图标”应用内收件箱)作为用于推送通知的同一个 pushwoosh-cordova-plugin 依赖项的一部分提供。无需额外的安装步骤。
前提条件
Anchor link to- 已集成 基础 Pushwoosh Cordova SDK 并可发送推送。
显示收件箱
Anchor link to在您使用 cordova.require 初始化的同一个 pushwoosh 对象上调用 presentInboxUI():
var pushwoosh = cordova.require("pushwoosh-cordova-plugin.PushNotification");
pushwoosh.presentInboxUI();这会打开一个原生屏幕(在 iOS 上是视图控制器,在 Android 上是 Activity),并采用 SDK 的默认外观。
自定义样式
Anchor link to将一个样式对象传递给 presentInboxUI()。每个键都是可选的:
| 键 | 自定义内容 |
|---|---|
dateFormat | 日期格式 |
defaultImageIcon | 没有图片的消息旁的默认图标 |
unreadImage | 未读消息标记(仅限 iOS) |
listErrorImage | 列表加载失败时显示 |
listEmptyImage | 列表没有消息时显示 |
listErrorMessage | 错误文本(未本地化) |
listEmptyMessage | 空列表文本(未本地化) |
defaultTextColor | 默认文本颜色(仅限 iOS) |
accentColor | 强调色 |
backgroundColor | 背景颜色 |
highlightColor | 选择颜色 |
titleColor | 消息标题颜色 |
readTitleColor | 已读消息的标题颜色(仅限 Android) |
descriptionColor | 消息描述颜色 |
readDescriptionColor | 已读消息的描述颜色(仅限 Android) |
dateColor | 消息日期颜色 |
readDateColor | 已读消息的日期颜色(仅限 Android) |
dividerColor | 分隔线颜色 |
barTitle | 收件箱屏幕的标题 |
barBackgroundColor | 标题栏的背景颜色 |
barAccentColor | 标题栏的返回按钮颜色 |
barTextColor | 标题栏的文本颜色 |
pushwoosh.presentInboxUI({ dateFormat: "dd.MM.yyyy", accentColor: "#3498db", backgroundColor: "#ffffff", titleColor: "#333333", descriptionColor: "#666666", listEmptyMessage: "暂无消息"});以编程方式管理消息
Anchor link to无需打开内置屏幕即可加载消息列表、读取计数并对单个消息执行操作。这对于自定义收件箱 UI 或未读标记非常有用:
// InboxNotification 对象的数组pushwoosh.loadMessages(function(messages) { messages.forEach(function(message) { console.log(message.title + ": " + message.message); });}, function(error) { console.error("加载失败:" + error);});
pushwoosh.unreadMessagesCount(function(count) { console.log("未读消息:" + count);});
pushwoosh.messagesCount(function(count) { /* 消息总数 */ });pushwoosh.messagesWithNoActionPerformedCount(function(count) { /* 尚未执行操作 */ });
pushwoosh.readMessage(messageCode);pushwoosh.deleteMessage(messageCode);pushwoosh.performAction(messageCode); // 运行消息的默认操作,例如打开一个 URL