SuperAPI AI 工具集

push-notifications

部署与运维

查看项目

更新于 10-16 08:08

技能介绍

用途:为 iOS 应用生成推送通知基础设施,涵盖 APNs 注册、通知处理与富通知。当用户要添加推送通知、提到 APNs、询问通知类别或操作、或需要带图片与自定义 UI 的富通知时激活。

生成前检查:用 grep 检查已有通知处理代码(UNUserNotificationCenter、registerForRemoteNotifications)、entitlements 中的 aps-environment,以及应用结构(@main 或 UIApplicationDelegate)。

配置选项:通知类型(基础、富通知需 Notification Service Extension、两者);通知操作(无、简单操作按钮、自定义多类别);静默通知(后台数据更新或仅用户可见)。

生成文件:核心基础设施包括 NotificationManager.swift、NotificationDelegate.swift、NotificationCategories.swift、NotificationPayload.swift;可选富通知的 NotificationServiceExtension 与内容扩展 NotificationContentExtension。

主要能力:授权请求与远程注册、前台通知展示、点击与操作处理、动作类别定义(如回复、标记已读、完成、稍后提醒)。

设计建议(WWDC18):被动内容用 provisional 授权,首次启动不弹窗,在合适时机解释价值后再请求;每条通知需有具体信息或可完成任务;提供按主题的细粒度开关并加 .providesAppNotificationSettings;默认应用级分组,仅对真正不同的信息流设置 threadIdentifier;富通知应自包含,无需打开应用即可完成任务;对用户反复忽略的通知类型暂停发送。

所需能力:Xcode 中添加 Push Notifications 能力,静默通知需 Background Modes 的 Remote notifications;entitlements 中配置 aps-environment(development 或 production)。

集成:SwiftUI 通过 @UIApplicationDelegateAdaptor 接入 AppDelegate,设置 UNUserNotificationCenter 代理并注册类别,在 didRegisterForRemoteNotificationsWithDeviceToken 中获取设备令牌并发送到服务器。服务端使用 APNs HTTP/2 API,包含 team ID、key ID 与 .p8 密钥,目标为 api.push.apple.com 或 api.sandbox.push.apple.com。

测试:模拟器可用本地通知(UNTimeIntervalNotificationTrigger);远程通知需真机获取设备令牌,再用 curl 或 APNs 工具发送。

限制:资料未提供具体收费、价格、平台支持范围与效果数据;部分实现细节需结合项目实际调整。