文档中心
IM 即时通讯
文档中心
体验 App
SDK 中心
API 中心
常见问题
代码市场
进入控制台
立即注册
登录
中文站 English
  • 文档中心
  • 即时通讯
  • 离线推送
  • 获取 payload 透传字段

自定义点击通知获取 payload 字段

更新时间:2023-09-13 20:17

功能简介

离线推送发送端通过配置 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 技术支持处理。

前提条件

在获取 payload 透传字段之前,请确保:

  • 请确保开发环境满足以下要求:

    • Xcode 7.0 或以上版本。
    • iOS 11.0 或以上版本的 iOS 真机设备。
    • iOS 设备已经连接到 Internet。
  • 已在 ZEGO 控制台 创建项目,获取到了接入 ZIM SDK 服务所需的 AppID、AppSign。ZIM 服务权限不是默认开启的,使用前,请先在 ZEGO 控制台 自助开通 ZIM 服务(详情请参考控制台的 服务配置 - 即时通讯 - 开通服务),若无法开通 ZIM 服务,请联系 ZEGO 技术支持开通。

  • 已集成 ZIM SDK,详情请参考 快速开始 - 实现基本收发消息 的 “2 集成 SDK”。

  • 已集成 ZPNs SDK,详情请参考 实现离线推送。

  • 已在控制台配置离线推送证书。

实现流程

  1. 实现 ZPNsNotificationCenterDelegate 协议中的以下方法:
// 应用在前台时收到离线推送,触发该方法
-(void)ZPNsNotificationCenter:(UNUserNotificationCenter *)center
      willPresentNotification:(UNNotification *)notification
                     userInfo:(NSDictionary *)userInfo
        withCompletionHandler:(void (^)(UNNotificationPresentationOptions))completionHandler API_AVAILABLE(ios(10.0)){
    [userInfo objectForKey:@"payload"];
}

// 用户点击离线推送通知时,触发该方法
-(void)ZPNsNotificationCenter:(UNUserNotificationCenter *)center
    didReceiveNotificationResponse:(UNNotificationResponse *)response
                     userInfo:(NSDictionary *)userInfo
             withCompletionHandler:(void(^)(void))completionHandler API_AVAILABLE(ios(10.0)){
    [userInfo objectForKey:@"payload"];
}
  1. 将实现该协议的对象通过 setZPNsNotificationCenterDelegate 方法传入 ZPNs,从上述方法取出的 "payload" 字段获得额外信息,进而实现您的业务逻辑即可。
[[ZPNs shared] setZPNsNotificationCenterDelegate:(id)yourObject];
本篇目录
  • 免费试用
  • 提交工单
    咨询集成、功能及报价等问题
    电话咨询
    400 1006 604
    咨询客服
    微信扫码,24h在线

    联系我们

  • 文档反馈