自定义点击跳转
说明
本文档仅适用于 FCM 以外的 Android 推送通道以及 Apple 推送服务(APNs)。
描述
通常,用户点击离线推送通知时,会跳转到应用首页。基于本功能,开发者可以自定义离线推送通知的点击跳转逻辑,比如用户在点击推送消息时,能够跳转到指定页面,从而提升用户体验和交互效率。
- 自定义前:
- 自定义后:
前提条件
在实现自定义点击跳转之前,请确保:
- 已集成 2.8.0 或以上版本的 ZPNs SDK,详情请参考 实现离线推送。
- 已在控制台配置离线推送证书,详情请参考控制台文档 服务配置 - 即时通讯 - 离线推送配置。
实现流程
1
开通功能
请联系 ZEGO 技术支持配置开启自定义点击跳转功能。
2
监听回调
在调用 registerPush 方法之前,监听 ZPNsEventHandler 中的 onNotificationClicked 方法,以便获取跳转目标页面的路径。
Untitled
ZPNsEventHandler.onNotificationClicked = (ZPNsMessage message){
if(zpnsMessage.pushSourceType == ZPNsPushSourceType.FCM){
// FCM 不支持此接口,请在 Android Activity 中使用 Intent 获取 payload。
}else{
// 获取透传消息(即跳转目标页面的路径)
// 请参考 [实现离线推送 - 使用 ZIM SDK 实现离线推送功能](https://doc-zh.zego.im/zim-flutter/offline-push-notifications/implement-offline-push-notification#%E4%BD%BF%E7%94%A8-zim-sdk-%E5%AE%9E%E7%8E%B0%E7%A6%BB%E7%BA%BF%E6%8E%A8%E9%80%81%E5%8A%9F%E8%83%BD)。
String payload = message.payload;
// 您可以根据上述信息编写代码实现跳转
}
};
1
3
配置透传字段
消息发送者在发送消息时,需要通过 ZIMPushConfig > payload
参数设置透传字段(例如需要跳转到的目标页面路径)。相关代码请参考 实现离线推送 - 使用 ZIM SDK 实现离线推送功能 章节。
4
触发回调
收到推送后,当用户点击该推送,ZPNs 将会回调 onNotificationClicked 事件。
如果点击时,您还未调用过 ZPNs 的 registerPush 方法,那么,此事件会被暂存,直到您调用 registerPush 方法后才会回调。