iOS 富媒体通知集成
从 iOS 10 开始,您可以为推送通知附加静态或动态图片,甚至是视频。当用户用力点按通知时,它将直接显示在通知中。
启用此功能非常简单,几乎不涉及编码。让我们开始吧!
1. 创建通知服务扩展 (Notification Service Extension)
Anchor link to首先,创建一个 Notification Service Extension。此扩展程序会下载将要向用户显示的内容。
将新 target 添加到您的项目中(File -> New -> Target),并创建 Notification Service Extension。

2. 通知服务扩展 (Notification Service Extension) 代码
Anchor link to该代码会下载附件并调用通知内容处理程序。 只需将其复制并粘贴到您的扩展中即可。
import UserNotificationsimport PushwooshFramework
class NotificationService: UNNotificationServiceExtension {
var contentHandler: ((UNNotificationContent) -> Void)? var bestAttemptContent: UNMutableNotificationContent?
override func didReceive(_ request: UNNotificationRequest, withContentHandler contentHandler: @escaping (UNNotificationContent) -> Void) { PWNotificationExtensionManager.shared().handle(request, contentHandler: contentHandler) }}#import "PWNotificationExtensionManager.h"
@interface NotificationService : UNNotificationServiceExtension
@end
@implementation NotificationService
- (void)didReceiveNotificationRequest:(UNNotificationRequest *)request withContentHandler:(void (^)(UNNotificationContent * _Nonnull))contentHandler { [[PWNotificationExtensionManager sharedManager] handleNotificationRequest:request contentHandler:contentHandler];}
@end3. 允许非安全附件 URL
Anchor link to通知服务扩展 (Notification Service Extension) 是一个独立的二进制文件,并且有其自己的 Info.plist 文件。
将 App Transport Security Settings 以及 Allow Arbitrary Loads 标志设置为 true 添加到扩展的 Info.plist 文件中。
Info.plist:
<key>NSAppTransportSecurity</key><dict> <key>NSAllowsArbitraryLoads</key> <true/></dict>4. 发送富媒体通知
Anchor link to要发送富媒体通知,只需在 BANNER URL 字段中指定文件的 URL 即可。

搞定!用力点按通知,您就大功告成了!
与我们分享您的反馈
Anchor link to您的反馈有助于我们创造更好的体验,因此如果您在 SDK 集成过程中遇到任何问题,我们非常希望听到您的声音。如果您遇到任何困难,请随时通过此表单与我们分享您的想法。