NotificationService(推送带图片)

需求: 推送通知栏需要显示商品图片

接到需求之后就开始做了, 之前也没有做过这个东西, 但是别人家的产品有这个功能, 只能撸起袖子就是干了, 于是搜索了一番已经有前人做过这方面的资料可以借鉴, 废话不多说, 直接上

这个功能是iOS 10 以后才有的苹果爸爸提供的服务, 应该隶属于推送相关的服务里

Xcode 版本 10.2。Mac 系统 macOS Mojave 10.14.4

第一步 : 

第二步:

Select Notification Service Extension
填写 Product Name , 其他的默认就好

然后工程目录下就会生成一个新的工程, 如下图


推送通知服务扩展

这是系统提供的用来拦截推送通知的类, 我们主要做的就是在这里拦截推送,然后按需处理

- (void)didReceiveNotificationRequest:(UNNotificationRequest*)request withContentHandler:(void(^)(UNNotificationContent*_Nonnull))contentHandler {

}

主要是在这个函数里面处理, 具体代码如下

里面包含了一个下载的方法(用的系统自带的下载方法, 你可以依赖第三方库, AFN, YTK等, 只要将attachment返回便是)

有些人看到这里以为结束了, 代码逻辑确实可以说结束了, 但是你现在应该还不知道如何断点调试这个target吧

找到 Manage Schemes 添加对应的Scheme, 效果如下图


运行 , 选择你的Main Target , 也就是你原来工程的target, 跑起来

选择的Main App 

断点打起来就可以调试了

注意: "mutable-content":1 这个字段一定要加上, 这个是告诉苹果APNs我需要修改推送展示内容

具体的推送格式如下 (不同的第三方推送服务可能配置不一样, 但是mutable-content这个字段务必得加到aps里面)

原文链接: https://www.jianshu.com/p/7a5c9af61177  转载请注明出处

你可能感兴趣的:(NotificationService(推送带图片))