获取 payload 字段
说明
本文档适用于 iOS 和 Android 端应用。
功能简介
离线推送发送端通过配置 ZIMPushConfig 的 payload 参数(2.5.0 之前版本为 extendedData 参数)向接收端发送额外信息,接收端需使用 ZPNs SDK 时,通过厂商通道的 extras 里面的 payload 字段获取该信息。
本文档介绍了如何使用 ZPNs SDK 的接口,获取 payload 透传字段。
注意
- ZPNs SDK 需要搭配 ZIM SDK 2.0.0 或以上版本使用。
- 使用 ZPNs SDK 前,请先在 ZEGO 控制台 自助配置 ZIM 离线推送证书(详情请参考 项目管理 - 即时通讯 - 离线推送配置),若无法配置,请联系 ZEGO 技术支持处理。
前提条件
- 已集成 ZPNs SDK,详情请参考实现离线推送。
实现流程
通过 ZPNsEventHandler 回调方法中的 ZPNsMessage 对象获取(支持除 vivo 外的所有厂商)。
/**
* 接口定义
*/
interface ZPNsEventHandler {
onRegistered: (message: ZPNsRegisterMessage) => void;
onNotificationArrived: (message: ZPNsMessage) => void;
onNotificationClicked: (message: ZPNsMessage) => void;
onThroughMessageReceived: (message: ZPNsMessage) => void;
}
/* 注册监听-示例 */
ZPNs.getInstance().onRegistered((message) => {
console.log('[ZPNs] registered. pushID: ' + message.pushID);
});
/* 按需实现如下方法,获取 payload 字段 */
ZPNs.getInstance().onThroughMessageReceived((message) => {
console.log('[ZPNs] throughMessageReceived', message.extras['payload']);
});
ZPNs.getInstance().onNotificationClicked((message) => {
console.log('[ZPNs] notificationClicked', message.extras['payload']);
});
ZPNs.getInstance().onNotificationArrived((message) => {
console.log('[ZPNs] notificationArrived', message.extras['payload']);
});
