腾讯移动推送
  • 信鸽推送基础介绍
  • 新版用户迁移指南
    • 概述
    • 迁移前准备
    • Android 迁移指南
    • iOS 迁移指南
    • API迁移指南
    • 迁移文档FAQ
  • Android接入
    • Android 推送服务介绍
    • Android SDK 3.* 集成指南
    • Android SDK 4.* 集成指南
    • Android SDK 4.*信鸽动态加载厂商通道功能
    • Android SDK API
    • 华为推送通道集成指南
    • 小米推送通道集成指南
    • 魅族推送通道集成指南
    • FCM通道集成指南
    • Android SDK 常见问题
    • Android SDK Demo使用方法
    • Android SDK 错误码对照表
    • Android P 兼容方法
  • iOS接入
    • iOS 推送服务介绍
    • iOS SDK 集成指南
    • iOS SDK API 接口文档
    • iOS 推送证书说明
    • iOS 推送环境选择说明
    • iOS关于 IDFA 插件说明
    • iOS 关于通知服务扩展的使用说明
    • iOS SDK 错误码对照表
    • iOS SDK 常见问题
  • 服务端API接入
    • 服务端其他语言
  • 信鸽推送管理台
    • 管理台权限说明
    • 管理台数据展示说明
  • REST API V3
    • REST API 概述
    • Tag API
    • Push API
    • Account API
  • 最近更新
  • 名词解释
  • 常见问题
Powered by GitBook
On this page

Was this helpful?

  1. iOS接入

iOS 关于通知服务扩展的使用说明

PreviousiOS关于 IDFA 插件说明NextiOS SDK 错误码对照表

Last updated 4 years ago

Was this helpful?

本文档针对 iOS 信鸽 SDK 3.1.0 及以上 版本

iOS Extension SDK API (iOS 10+)

上报推送消息回执,此接口的目的是统计推送消息是否抵达终端

/**
  @brief   信鸽推送处理抵达到终端到消息            
  @param request   推送请求
  @param appID     信鸽应用ID
  @param handler   处理消息的回执,回调方法中处理关联的富媒体文件               
  @note            关联的富媒体文件,需要在推送前端设置资源的完整URL地址,SDK内部会自动下载        
*/
  - (void)handleNotificationRequest:(nonnull UNNotificationRequest *)request
  appID:(uint32_t)appID contentHandler:(nullable void(^)( NSArray
  <UNNotificationAttachment *>* _Nullable attachments,  NSError * _Nullable
  error))handler;

说明 : 为了使用extension SDK,操作步骤如下: 1.新增Target

2.配置Target,添加依赖库文件:libXGExtension.a, libz.tbd, libsqlite3.tbd

3.调用SDK统计上报接口 示例

- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request
  withContentHandler:(void (^)(UNNotificationContent *
  _Nonnull))contentHandler {
      [[XGExtension defaultManager] handleNotificationRequest:request appID:
  <#your xg AppID#> contentHandler:nil];
      self.contentHandler = contentHandler;
      self.bestAttemptContent = [request.content mutableCopy];
      self.contentHandler(self.bestAttemptContent);
      }