通知服务扩展的使用说明

最近更新时间:2019-09-06 11:31:36

简介

iOS 10.0+,操作系统提供了 Service Extension 接口,可供客户端调用,从而可以监听消息的到达。

SDK 统计上报接口

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

/**
 @brief 腾讯移动推送处理抵达到终端的消息,即消息回执

 @param request 推送请求
 @param appID 腾讯移动推送应用ID
 @param appKey 腾讯移动推送应用Key
 @param handler 处理消息的回调,回调方法中处理关联的富媒体文件
 */
- (void)handleNotificationRequest:(nonnull UNNotificationRequest *)request appID:(uint32_t)appID appKey:(nonnull NSString *)appKey contentHandler:(nullable void(^)( NSArray <UNNotificationAttachment *>* _Nullable attachments,  NSError * _Nullable error))handler;

参数说明

  • request:推送请求。
  • AppID:腾讯移动推送应用 ID。
  • handler:处理消息的回执,回调方法中处理关联的富媒体文件。

使用说明

为了使用 extension SDK,操作步骤如下:

  1. 在 xcode 菜单栏,选择 File > New > Target。
  2. 进入 Target 页面,选择 Notification Service Extension, 单击【Next】。
  3. 输入 Product Name,单击【Finish】。
  4. 配置 Target,添加依赖库文件:libXGExtension.a, libz.tbd, libsqlite3.tbd。
  5. 调用 SDK 统计上报接口,示例代码如下:
     - (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler {
             self.contentHandler = contentHandler;
             self.bestAttemptContent = [request.content mutableCopy];
             [[XGExtension defaultManager] handleNotificationRequest:request appID:<#appid#> appKey:<#appkey#>  contentHandler:^(NSArray<UNNotificationAttachment *> * _Nullable attachments, NSError * _Nullable error) {
                     self.bestAttemptContent.attachments = attachments;
                     self.contentHandler(self.bestAttemptContent);
             }];
     }